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 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 10 typedef unsigned long long greg_t, gregset_t[32]; 11 12 typedef struct { 13 union { 14 double fp_dregs[32]; 15 struct { 16 float _fp_fregs; 17 unsigned _fp_pad; 18 } fp_fregs[32]; 19 } fp_r; 20 } fpregset_t; 21 22 struct sigcontext { 23 unsigned long long sc_regs[32]; 24 unsigned long long sc_fpregs[32]; 25 unsigned long long sc_mdhi; 26 unsigned long long sc_hi1; 27 unsigned long long sc_hi2; 28 unsigned long long sc_hi3; 29 unsigned long long sc_mdlo; 30 unsigned long long sc_lo1; 31 unsigned long long sc_lo2; 32 unsigned long long sc_lo3; 33 unsigned long long sc_pc; 34 unsigned int sc_fpc_csr; 35 unsigned int sc_used_math; 36 unsigned int sc_dsp; 37 unsigned int sc_reserved; 38 }; 39 40 typedef struct { 41 gregset_t gregs; 42 fpregset_t fpregs; 43 greg_t mdhi; 44 greg_t hi1; 45 greg_t hi2; 46 greg_t hi3; 47 greg_t mdlo; 48 greg_t lo1; 49 greg_t lo2; 50 greg_t lo3; 51 greg_t pc; 52 unsigned int fpc_csr; 53 unsigned int used_math; 54 unsigned int dsp; 55 unsigned int reserved; 56 } mcontext_t; 57 58 #else 59 typedef struct { 60 unsigned long long __mc1[32]; 61 double __mc2[32]; 62 unsigned long long __mc3[9]; 63 unsigned __mc4[4]; 64 } mcontext_t; 65 #endif 66 67 struct sigaltstack { 68 void *ss_sp; 69 size_t ss_size; 70 int ss_flags; 71 }; 72 73 typedef struct __ucontext { 74 unsigned long uc_flags; 75 struct __ucontext *uc_link; 76 stack_t uc_stack; 77 mcontext_t uc_mcontext; 78 sigset_t uc_sigmask; 79 } ucontext_t; 80 81 #define SA_NOCLDSTOP 1 82 #define SA_NOCLDWAIT 0x10000 83 #define SA_SIGINFO 8 84 #define SA_ONSTACK 0x08000000 85 #define SA_RESTART 0x10000000 86 #define SA_NODEFER 0x40000000 87 #define SA_RESETHAND 0x80000000 88 89 #undef SIG_BLOCK 90 #undef SIG_UNBLOCK 91 #undef SIG_SETMASK 92 #define SIG_BLOCK 1 93 #define SIG_UNBLOCK 2 94 #define SIG_SETMASK 3 95 96 #undef SI_ASYNCIO 97 #undef SI_MESGQ 98 #undef SI_TIMER 99 #define SI_ASYNCIO (-2) 100 #define SI_MESGQ (-4) 101 #define SI_TIMER (-3) 102 103 #define __SI_SWAP_ERRNO_CODE 104 105 #endif 106 107 #define SIGHUP 1 108 #define SIGINT 2 109 #define SIGQUIT 3 110 #define SIGILL 4 111 #define SIGTRAP 5 112 #define SIGABRT 6 113 #define SIGIOT SIGABRT 114 #define SIGEMT 7 115 #define SIGFPE 8 116 #define SIGKILL 9 117 #define SIGBUS 10 118 #define SIGSEGV 11 119 #define SIGSYS 12 120 #define SIGPIPE 13 121 #define SIGALRM 14 122 #define SIGTERM 15 123 #define SIGUSR1 16 124 #define SIGUSR2 17 125 #define SIGCHLD 18 126 #define SIGPWR 19 127 #define SIGWINCH 20 128 #define SIGURG 21 129 #define SIGIO 22 130 #define SIGPOLL SIGIO 131 #define SIGSTOP 23 132 #define SIGTSTP 24 133 #define SIGCONT 25 134 #define SIGTTIN 26 135 #define SIGTTOU 27 136 #define SIGVTALRM 28 137 #define SIGPROF 29 138 #define SIGXCPU 30 139 #define SIGXFSZ 31 140 #define SIGUNUSED SIGSYS 141 142 #define _NSIG 128 143