(SI_KERNEL): Added.
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / linux / bits / siginfo.h
index 1e42363..dcabddb 100644 (file)
@@ -1,5 +1,5 @@
 /* siginfo_t, sigevent and constants.  Linux version.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -72,6 +72,7 @@ typedef struct siginfo
        struct
          {
            __pid_t si_pid;     /* Which child.  */
+           __uid_t si_uid;     /* Real user ID of sending process.  */
            int si_status;      /* Exit value or signal.  */
            __clock_t si_utime;
            __clock_t si_stime;
@@ -96,6 +97,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_timer1     _sifields._timer._timer1
+# define si_timer2     _sifields._timer._timer2
 # define si_status     _sifields._sigchld.si_status
 # define si_utime      _sifields._sigchld.si_utime
 # define si_stime      _sifields._sigchld.si_stime
@@ -111,7 +114,9 @@ typedef struct siginfo
    signals.  */
 enum
 {
-  SI_ASYNCIO = -4,             /* Sent by AIO completion.  */
+  SI_SIGIO = -5,               /* Sent by queued SIGIO. */
+# define SI_SIGIO      SI_SIGIO
+  SI_ASYNCIO,                  /* Sent by AIO completion.  */
 # define SI_ASYNCIO    SI_ASYNCIO
   SI_MESGQ,                    /* Sent by real time mesq state change.  */
 # define SI_MESGQ      SI_MESGQ
@@ -119,8 +124,10 @@ enum
 # define SI_TIMER      SI_TIMER
   SI_QUEUE,                    /* Sent by sigqueue.  */
 # define SI_QUEUE      SI_QUEUE
-  SI_USER                      /* Sent by kill, sigsend, raise.  */
+  SI_USER,                     /* Sent by kill, sigsend, raise.  */
 # define SI_USER       SI_USER
+  SI_KERNEL = 0x80             /* Send by kernel.  */
+#define SI_KERNEL      SI_KERNEL
 };
 
 
@@ -129,7 +136,7 @@ enum
 {
   ILL_ILLOPC = 1,              /* Illegal opcode.  */
 # define ILL_ILLOPC    ILL_ILLOPC
-  ILL_ILL_OPN,                 /* Illegal operand.  */
+  ILL_ILLOPN,                  /* Illegal operand.  */
 # define ILL_ILLOPN    ILL_ILLOPN
   ILL_ILLADR,                  /* Illegal addressing mode.  */
 # define ILL_ILLADR    ILL_ILLADR
@@ -252,7 +259,7 @@ typedef struct sigevent
 
        struct
          {
-           void (*_function) __PMT ((sigval_t)); /* Function to start.  */
+           void (*_function) (sigval_t);         /* Function to start.  */
            void *_attribute;                     /* Really pthread_attr_t.  */
          } _sigev_thread;
       } _sigev_un;