1#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 2 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 3 4#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 5#define MINSIGSTKSZ 2048 6#define SIGSTKSZ 8192 7#endif 8 9#ifdef _GNU_SOURCE 10enum { R_D0 = 0 }; 11#define R_D0 R_D0 12enum { R_D1 = 1 }; 13#define R_D1 R_D1 14enum { R_D2 = 2 }; 15#define R_D2 R_D2 16enum { R_D3 = 3 }; 17#define R_D3 R_D3 18enum { R_D4 = 4 }; 19#define R_D4 R_D4 20enum { R_D5 = 5 }; 21#define R_D5 R_D5 22enum { R_D6 = 6 }; 23#define R_D6 R_D6 24enum { R_D7 = 7 }; 25#define R_D7 R_D7 26enum { R_A0 = 8 }; 27#define R_A0 R_A0 28enum { R_A1 = 9 }; 29#define R_A1 R_A1 30enum { R_A2 = 10 }; 31#define R_A2 R_A2 32enum { R_A3 = 11 }; 33#define R_A3 R_A3 34enum { R_A4 = 12 }; 35#define R_A4 R_A4 36enum { R_A5 = 13 }; 37#define R_A5 R_A5 38enum { R_A6 = 14 }; 39#define R_A6 R_A6 40enum { R_A7 = 15 }; 41#define R_A7 R_A7 42enum { R_SP = 15 }; 43#define R_SP R_SP 44enum { R_PC = 16 }; 45#define R_PC R_PC 46enum { R_PS = 17 }; 47#define R_PS R_PS 48#endif 49 50#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 51 52struct sigcontext { 53 unsigned long sc_mask, sc_usp, sc_d0, sc_d1, sc_a0, sc_a1; 54 unsigned short sc_sr; 55 unsigned long sc_pc; 56 unsigned short sc_formatvec; 57 unsigned long sc_fpregs[6], sc_fpcntl[3]; 58 unsigned char sc_fpstate[216]; 59}; 60 61typedef int greg_t, gregset_t[18]; 62typedef struct { 63 int f_pcr, f_psr, f_fpiaddr, f_fpregs[8][3]; 64} fpregset_t; 65 66typedef struct { 67 int version; 68 gregset_t gregs; 69 fpregset_t fpregs; 70} mcontext_t; 71#else 72typedef struct { 73 int __version; 74 int __gregs[18]; 75 int __fpregs[27]; 76} mcontext_t; 77#endif 78 79struct sigaltstack { 80 void *ss_sp; 81 int ss_flags; 82 size_t ss_size; 83}; 84 85typedef struct __ucontext { 86 unsigned long uc_flags; 87 struct __ucontext *uc_link; 88 stack_t uc_stack; 89 mcontext_t uc_mcontext; 90 long __reserved[80]; 91 sigset_t uc_sigmask; 92} ucontext_t; 93 94#define SA_NOCLDSTOP 1 95#define SA_NOCLDWAIT 2 96#define SA_SIGINFO 4 97#define SA_ONSTACK 0x08000000 98#define SA_RESTART 0x10000000 99#define SA_NODEFER 0x40000000 100#define SA_RESETHAND 0x80000000 101#define SA_RESTORER 0x04000000 102 103#endif 104 105#define SIGHUP 1 106#define SIGINT 2 107#define SIGQUIT 3 108#define SIGILL 4 109#define SIGTRAP 5 110#define SIGABRT 6 111#define SIGIOT SIGABRT 112#define SIGBUS 7 113#define SIGFPE 8 114#define SIGKILL 9 115#define SIGUSR1 10 116#define SIGSEGV 11 117#define SIGUSR2 12 118#define SIGPIPE 13 119#define SIGALRM 14 120#define SIGTERM 15 121#define SIGSTKFLT 16 122#define SIGCHLD 17 123#define SIGCONT 18 124#define SIGSTOP 19 125#define SIGTSTP 20 126#define SIGTTIN 21 127#define SIGTTOU 22 128#define SIGURG 23 129#define SIGXCPU 24 130#define SIGXFSZ 25 131#define SIGVTALRM 26 132#define SIGPROF 27 133#define SIGWINCH 28 134#define SIGIO 29 135#define SIGPOLL 29 136#define SIGPWR 30 137#define SIGSYS 31 138#define SIGUNUSED SIGSYS 139 140#define _NSIG 65 141