OSDN Git Service

mips: rename siginfo _timer members
[uclinux-h8/uClibc.git] / libc / sysdeps / linux / mips / bits / siginfo.h
index a6e4135..5199d4d 100644 (file)
@@ -69,6 +69,22 @@ typedef struct siginfo
            __uid_t si_uid;     /* Real user ID of sending process.  */
          } _kill;
 
+       /* POSIX.1b timers.  */
+       struct
+         {
+           int si_tid;         /* Timer ID.  */
+           int si_overrun;     /* Overrun count.  */
+           sigval_t si_sigval; /* Signal value.  */
+         } _timer;
+
+       /* POSIX.1b signals.  */
+       struct
+         {
+           __pid_t si_pid;     /* Sending process ID.  */
+           __uid_t si_uid;     /* Real user ID of sending process.  */
+           sigval_t si_sigval; /* Signal value.  */
+         } _rt;
+
        /* SIGCHLD.  */
        struct
          {
@@ -83,29 +99,15 @@ typedef struct siginfo
        struct
          {
            void *si_addr;      /* Faulting insn/memory ref.  */
+           short int si_addr_lsb;      /* Valid LSB of the reported address.  */
          } _sigfault;
 
        /* SIGPOLL.  */
        struct
          {
-           int si_band;        /* Band event for SIGPOLL.  */
+           long int si_band;   /* Band event for SIGPOLL.  */
            int si_fd;
          } _sigpoll;
-
-       /* POSIX.1b timers.  */
-       struct
-         {
-           unsigned int _timer1;
-           unsigned int _timer2;
-         } _timer;
-
-       /* POSIX.1b signals.  */
-       struct
-         {
-           __pid_t si_pid;     /* Sending process ID.  */
-           __uid_t si_uid;     /* Real user ID of sending process.  */
-           sigval_t si_sigval; /* Signal value.  */
-         } _rt;
       } _sifields;
   } siginfo_t;
 
@@ -113,6 +115,8 @@ typedef struct siginfo
 /* X/Open requires some more fields with fixed names.  */
 # define si_pid                _sifields._kill.si_pid
 # define si_uid                _sifields._kill.si_uid
+# define si_timerid    _sifields._timer.si_tid
+# define si_overrun    _sifields._timer.si_overrun
 # define si_status     _sifields._sigchld.si_status
 # define si_utime      _sifields._sigchld.si_utime
 # define si_stime      _sifields._sigchld.si_stime
@@ -120,6 +124,7 @@ typedef struct siginfo
 # define si_int                _sifields._rt.si_sigval.sival_int
 # define si_ptr                _sifields._rt.si_sigval.sival_ptr
 # define si_addr       _sifields._sigfault.si_addr
+# define si_addr_lsb   _sifields._sigfault.si_addr_lsb
 # define si_band       _sifields._sigpoll.si_band
 # define si_fd         _sifields._sigpoll.si_fd
 
@@ -142,13 +147,14 @@ enum
 # define SI_ASYNCIO    SI_ASYNCIO
   SI_QUEUE,                    /* Sent by sigqueue.  */
 # define SI_QUEUE      SI_QUEUE
-  SI_USER,                     /* Sent by kill, sigsend, raise.  */
+  SI_USER,                     /* Sent by kill, sigsend.  */
 # define SI_USER       SI_USER
   SI_KERNEL = 0x80             /* Send by kernel.  */
 #define SI_KERNEL      SI_KERNEL
 };
 
 
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 /* `si_code' values for SIGILL signal.  */
 enum
 {
@@ -207,10 +213,16 @@ enum
 # define BUS_ADRALN    BUS_ADRALN
   BUS_ADRERR,                  /* Non-existant physical address.  */
 # define BUS_ADRERR    BUS_ADRERR
-  BUS_OBJERR                   /* Object specific hardware error.  */
+  BUS_OBJERR,                  /* Object specific hardware error.  */
 # define BUS_OBJERR    BUS_OBJERR
+  BUS_MCEERR_AR,               /* Hardware memory error: action required.  */
+#  define BUS_MCEERR_AR        BUS_MCEERR_AR
+  BUS_MCEERR_AO                        /* Hardware memory error: action optional.  */
+#  define BUS_MCEERR_AO        BUS_MCEERR_AO
 };
+# endif
 
+# ifdef __USE_XOPEN_EXTENDED
 /* `si_code' values for SIGTRAP signal.  */
 enum
 {
@@ -219,7 +231,9 @@ enum
   TRAP_TRACE                   /* Process trace trap.  */
 # define TRAP_TRACE    TRAP_TRACE
 };
+# endif
 
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 /* `si_code' values for SIGCHLD signal.  */
 enum
 {
@@ -253,6 +267,7 @@ enum
   POLL_HUP                     /* Device disconnected.  */
 # define POLL_HUP      POLL_HUP
 };
+# endif
 
 # undef __need_siginfo_t
 #endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */