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 10 enum { R_D0 = 0 }; 11 #define R_D0 R_D0 12 enum { R_D1 = 1 }; 13 #define R_D1 R_D1 14 enum { R_D2 = 2 }; 15 #define R_D2 R_D2 16 enum { R_D3 = 3 }; 17 #define R_D3 R_D3 18 enum { R_D4 = 4 }; 19 #define R_D4 R_D4 20 enum { R_D5 = 5 }; 21 #define R_D5 R_D5 22 enum { R_D6 = 6 }; 23 #define R_D6 R_D6 24 enum { R_D7 = 7 }; 25 #define R_D7 R_D7 26 enum { R_A0 = 8 }; 27 #define R_A0 R_A0 28 enum { R_A1 = 9 }; 29 #define R_A1 R_A1 30 enum { R_A2 = 10 }; 31 #define R_A2 R_A2 32 enum { R_A3 = 11 }; 33 #define R_A3 R_A3 34 enum { R_A4 = 12 }; 35 #define R_A4 R_A4 36 enum { R_A5 = 13 }; 37 #define R_A5 R_A5 38 enum { R_A6 = 14 }; 39 #define R_A6 R_A6 40 enum { R_A7 = 15 }; 41 #define R_A7 R_A7 42 enum { R_SP = 15 }; 43 #define R_SP R_SP 44 enum { R_PC = 16 }; 45 #define R_PC R_PC 46 enum { R_PS = 17 }; 47 #define R_PS R_PS 48 #endif 49 50 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 51 52 struct 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 61 typedef int greg_t, gregset_t[18]; 62 typedef struct { 63 int f_pcr, f_psr, f_fpiaddr, f_fpregs[8][3]; 64 } fpregset_t; 65 66 typedef struct { 67 int version; 68 gregset_t gregs; 69 fpregset_t fpregs; 70 } mcontext_t; 71 #else 72 typedef struct { 73 int __version; 74 int __gregs[18]; 75 int __fpregs[27]; 76 } mcontext_t; 77 #endif 78 79 struct sigaltstack { 80 void *ss_sp; 81 int ss_flags; 82 size_t ss_size; 83 }; 84 85 typedef 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