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) 10typedef unsigned long long greg_t, gregset_t[32]; 11typedef 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; 20struct 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}; 27typedef 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 35typedef 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 44struct sigaltstack { 45 void *ss_sp; 46 size_t ss_size; 47 int ss_flags; 48}; 49 50typedef 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