1#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 2 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 3 4#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 5typedef unsigned long greg_t, gregset_t[34]; 6typedef struct sigcontext { 7 struct { 8 unsigned long gpr[32]; 9 unsigned long pc; 10 unsigned long sr; 11 } regs; 12 unsigned long oldmask; 13} mcontext_t; 14#else 15typedef struct { 16 unsigned long __regs[35]; 17} mcontext_t; 18#endif 19 20#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 21#define MINSIGSTKSZ 2048 22#define SIGSTKSZ 8192 23#endif 24 25struct sigaltstack { 26 void *ss_sp; 27 int ss_flags; 28 size_t ss_size; 29}; 30 31typedef struct __ucontext { 32 unsigned long uc_flags; 33 struct __ucontext *uc_link; 34 stack_t uc_stack; 35 mcontext_t uc_mcontext; 36 sigset_t uc_sigmask; 37} ucontext_t; 38 39#define SA_NOCLDSTOP 1 40#define SA_NOCLDWAIT 2 41#define SA_SIGINFO 4 42#define SA_ONSTACK 0x08000000 43#define SA_RESTART 0x10000000 44#define SA_NODEFER 0x40000000 45#define SA_RESETHAND 0x80000000 46#define SA_RESTORER 0x04000000 47 48#endif 49 50#define SIGHUP 1 51#define SIGINT 2 52#define SIGQUIT 3 53#define SIGILL 4 54#define SIGTRAP 5 55#define SIGABRT 6 56#define SIGIOT SIGABRT 57#define SIGBUS 7 58#define SIGFPE 8 59#define SIGKILL 9 60#define SIGUSR1 10 61#define SIGSEGV 11 62#define SIGUSR2 12 63#define SIGPIPE 13 64#define SIGALRM 14 65#define SIGTERM 15 66#define SIGSTKFLT 16 67#define SIGCHLD 17 68#define SIGCONT 18 69#define SIGSTOP 19 70#define SIGTSTP 20 71#define SIGTTIN 21 72#define SIGTTOU 22 73#define SIGURG 23 74#define SIGXCPU 24 75#define SIGXFSZ 25 76#define SIGVTALRM 26 77#define SIGPROF 27 78#define SIGWINCH 28 79#define SIGIO 29 80#define SIGPOLL 29 81#define SIGPWR 30 82#define SIGSYS 31 83#define SIGUNUSED SIGSYS 84 85#define _NSIG 65 86