Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / s390 / kernel / compat_linux.h
index a0e6722..3898f66 100644 (file)
@@ -29,12 +29,7 @@ struct old_sigaction32 {
        __u32                   sa_restorer;    /* Another 32 bit pointer */
 };
  
-typedef union sigval32 {
-        int     sival_int;
-        __u32   sival_ptr;
-} sigval_t32;
-                 
-typedef struct siginfo32 {
+typedef struct compat_siginfo {
        int     si_signo;
        int     si_errno;
        int     si_code;
@@ -50,16 +45,17 @@ typedef struct siginfo32 {
 
                /* POSIX.1b timers */
                struct {
-                       unsigned int    _timer1;
-                       unsigned int    _timer2;
-                
+                       compat_timer_t _tid;            /* timer id */
+                       int _overrun;           /* overrun count */
+                       compat_sigval_t _sigval;        /* same as below */
+                       int _sys_private;       /* not to be passed to user */
                } _timer;
 
                /* POSIX.1b signals */
                struct {
                        pid_t                   _pid;   /* sender's pid */
                        uid_t                   _uid;   /* sender's uid */
-                       sigval_t32              _sigval;
+                       compat_sigval_t         _sigval;
                } _rt;
 
                /* SIGCHLD */
@@ -82,7 +78,7 @@ typedef struct siginfo32 {
                        int     _fd;
                } _sigpoll;
        } _sifields;
-} siginfo_t32;  
+} compat_siginfo_t;
 
 /*
  * How these fields are to be accessed.
@@ -98,6 +94,8 @@ typedef struct siginfo32 {
 #define si_addr                _sifields._sigfault._addr
 #define si_band                _sifields._sigpoll._band
 #define si_fd          _sifields._sigpoll._fd    
+#define si_tid         _sifields._timer._tid
+#define si_overrun     _sifields._timer._overrun
 
 /* asm/sigcontext.h */
 typedef union
@@ -196,22 +194,4 @@ struct ucontext32 {
        compat_sigset_t         uc_sigmask;     /* mask last for extensibility */
 };
 
-#define SIGEV_PAD_SIZE32 ((SIGEV_MAX_SIZE/sizeof(int)) - 3)
-struct sigevent32 {
-       union {
-               int sival_int;
-               u32 sival_ptr;
-       } sigev_value;
-       int sigev_signo;
-       int sigev_notify;
-       union {
-               int _pad[SIGEV_PAD_SIZE32];
-               int _tid;
-               struct {
-                       u32 *_function;
-                       u32 *_attribute;
-               } _sigev_thread;
-       } _sigev_un;
-};
-
 #endif /* _ASM_S390X_S390_H */