d805d19223e642c9032234c3362de48e27cbd195
[mmh] / h / signals.h
1 /*
2 ** signals.h -- header file for nmh signal interface
3 */
4
5 #include <config.h>
6
7 /*
8 ** The type for a signal handler
9 */
10 typedef RETSIGTYPE (*SIGNAL_HANDLER)(int);
11
12 /*
13 ** If not a POSIX machine, then we create our
14 ** own POSIX style signal sets functions. This
15 ** currently assumes you have 31 signals, which
16 ** should be true on most pure BSD machines.
17 */
18 #ifndef POSIX_SIGNALS
19 # define sigemptyset(s)    (*(s) = 0)
20 # define sigfillset(s)     (*(s) = ~((sigset_t) 0), 0)
21 # define sigaddset(s,n)    (*(s) |=  (1 << ((n) - 1)), 0)
22 # define sigdelset(s,n)    (*(s) &= ~(1 << ((n) - 1)), 0)
23 # define sigismember(s,n)  ((*(s) & (1 << ((n) - 1))) != 0)
24 #endif
25
26 /*
27 ** prototypes
28 */
29 int SIGPROCMASK(int, const sigset_t *, sigset_t *);
30 SIGNAL_HANDLER SIGNAL(int, SIGNAL_HANDLER);
31 SIGNAL_HANDLER SIGNAL2(int, SIGNAL_HANDLER);