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