Update.
[platform/upstream/glibc.git] / sysdeps / unix / sysv / linux / bits / siginfo.h
index 2f7dc19..1b5328d 100644 (file)
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#if !defined _SIGNAL_H && !defined __need_siginfo_t
+#if !defined _SIGNAL_H && !defined __need_siginfo_t \
+    && !defined __need_sigevent_t
 # error "Never include this file directly.  Use <signal.h> instead"
 #endif
 
 #include <bits/wordsize.h>
 
-#if (!defined __have_siginfo_t \
-     && (defined _SIGNAL_H || defined __need_siginfo_t))
-# define __have_siginfo_t      1
+#if (!defined __have_sigval_t \
+     && (defined _SIGNAL_H || defined __need_siginfo_t \
+        || defined __need_sigevent_t))
+# define __have_sigval_t       1
 
 /* Type for data associated with a signal.  */
 typedef union sigval
@@ -33,6 +35,11 @@ typedef union sigval
     int sival_int;
     void *sival_ptr;
   } sigval_t;
+#endif
+
+#if (!defined __have_siginfo_t \
+     && (defined _SIGNAL_H || defined __need_siginfo_t))
+# define __have_siginfo_t      1
 
 # define __SI_MAX_SIZE     128
 # if __WORDSIZE == 64
@@ -120,7 +127,9 @@ typedef struct siginfo
    signals.  */
 enum
 {
-  SI_SIGIO = -5,               /* Sent by queued SIGIO. */
+  SI_ASYNCNL = -6,             /* Sent by asynch name lookup completion.  */
+# define SI_ASYNCNL    SI_ASYNCNL
+  SI_SIGIO,                    /* Sent by queued SIGIO. */
 # define SI_SIGIO      SI_SIGIO
   SI_ASYNCIO,                  /* Sent by AIO completion.  */
 # define SI_ASYNCIO    SI_ASYNCIO
@@ -246,7 +255,8 @@ enum
 #endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */
 
 
-#if defined _SIGNAL_H && !defined __have_sigevent_t
+#if (defined _SIGNAL_H || defined __need_sigevent_t) \
+    && !defined __have_sigevent_t
 # define __have_sigevent_t     1
 
 /* Structure to transport application-defined values with signals.  */