#endif
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
+ || defined(_BSD_SOURCE)
#ifdef _GNU_SOURCE
#define __siginfo siginfo
#include <bits/alltypes.h>
+#define SIG_HOLD ((void (*)(int)) 2)
+
#define SIG_BLOCK 0
#define SIG_UNBLOCK 1
#define SIG_SETMASK 2
-#define SIG_ERR ((void (*)(int))-1)
-#define SIG_DFL ((void (*)(int)) 0)
-#define SIG_IGN ((void (*)(int)) 1)
-#define SIG_HOLD ((void (*)(int)) 2)
-
#define SI_ASYNCNL (-60)
#define SI_TKILL (-6)
#define SI_SIGIO (-5)
#define FPE_INTOVF 2
#define FPE_FLTDIV 3
#define FPE_FLTOVF 4
-#define FPE_FLTUNT 5
+#define FPE_FLTUND 5
#define FPE_FLTRES 6
#define FPE_FLTINV 7
#define FPE_FLTSUB 8
} __sa_handler;
sigset_t sa_mask;
int sa_flags;
- void (*__sa_restorer)(void);
+ void (*sa_restorer)(void);
};
#define sa_handler __sa_handler.sa_handler
#define sa_sigaction __sa_handler.sa_sigaction
#define SIGSTKSZ 8192
#endif
+#ifdef _BSD_SOURCE
+typedef void (*sig_t)(int);
+#endif
+
#ifdef _GNU_SOURCE
typedef void (*sighandler_t)(int);
void (*bsd_signal(int, void (*)(int)))(int);
#include <bits/signal.h>
+#define SIG_ERR ((void (*)(int))-1)
+#define SIG_DFL ((void (*)(int)) 0)
+#define SIG_IGN ((void (*)(int)) 1)
+
typedef int sig_atomic_t;
void (*signal(int, void (*)(int)))(int);