/* bits/signal.h: Signal-related definitions. */ #ifndef _BITS_SIGNAL_H #define _BITS_SIGNAL_H typedef void (*__simple_sighandler_t)(int); #define SIG_IGN (__simple_sighandler_t)(-1) #define SIG_DFL (__simple_sighandler_t)(-2) typedef int sigset_t; struct sigaction { __simple_sighandler_t sa_handler; sigset_t sa_mask; int sa_flags; #ifdef __cplusplus void* __sa_sigreturn = nullptr; #else void* __sa_sigreturn; #endif }; // Constants for sigaction's sa_flags field. #define SA_NODEFER (1 << 0) #define SA_RESETHAND (1 << 1) // Constants for the 'how' parameter in sigprocmask(). #define SIG_BLOCK 0 #define SIG_UNBLOCK 1 #define SIG_SETMASK 2 // The signals with explicit numbers have portable signal numbers. enum __signals { SIGHUP = 1, SIGINT = 2, SIGQUIT = 3, SIGILL = 4, SIGTRAP = 5, SIGABRT = 6, SIGCHLD, SIGFPE = 8, SIGKILL = 9, SIGSTOP, SIGSEGV = 11, SIGCONT, SIGPIPE = 13, SIGALRM = 14, SIGTERM = 15, SIGTTIN, SIGTTOU, SIGWINCH, // FIXME: Add the remaining signals. __NSIG, }; #define NSIG (__NSIG - 1) #endif