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