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 4096 6*c9945492SAndroid Build Coastguard Worker #define SIGSTKSZ 10240 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 11*c9945492SAndroid Build Coastguard Worker typedef unsigned long greg_t, gregset_t[27]; 12*c9945492SAndroid Build Coastguard Worker 13*c9945492SAndroid Build Coastguard Worker typedef struct { 14*c9945492SAndroid Build Coastguard Worker unsigned long mask; 15*c9945492SAndroid Build Coastguard Worker unsigned long addr; 16*c9945492SAndroid Build Coastguard Worker } __psw_t; 17*c9945492SAndroid Build Coastguard Worker 18*c9945492SAndroid Build Coastguard Worker typedef union { 19*c9945492SAndroid Build Coastguard Worker double d; 20*c9945492SAndroid Build Coastguard Worker float f; 21*c9945492SAndroid Build Coastguard Worker } fpreg_t; 22*c9945492SAndroid Build Coastguard Worker 23*c9945492SAndroid Build Coastguard Worker typedef struct { 24*c9945492SAndroid Build Coastguard Worker unsigned fpc; 25*c9945492SAndroid Build Coastguard Worker fpreg_t fprs[16]; 26*c9945492SAndroid Build Coastguard Worker } fpregset_t; 27*c9945492SAndroid Build Coastguard Worker 28*c9945492SAndroid Build Coastguard Worker typedef struct 29*c9945492SAndroid Build Coastguard Worker { 30*c9945492SAndroid Build Coastguard Worker __psw_t psw; 31*c9945492SAndroid Build Coastguard Worker unsigned long gregs[16]; 32*c9945492SAndroid Build Coastguard Worker unsigned aregs[16]; 33*c9945492SAndroid Build Coastguard Worker fpregset_t fpregs; 34*c9945492SAndroid Build Coastguard Worker } mcontext_t; 35*c9945492SAndroid Build Coastguard Worker 36*c9945492SAndroid Build Coastguard Worker struct sigcontext { 37*c9945492SAndroid Build Coastguard Worker unsigned long oldmask[1]; 38*c9945492SAndroid Build Coastguard Worker struct { 39*c9945492SAndroid Build Coastguard Worker struct { 40*c9945492SAndroid Build Coastguard Worker __psw_t psw; 41*c9945492SAndroid Build Coastguard Worker unsigned long gprs[16]; 42*c9945492SAndroid Build Coastguard Worker unsigned acrs[16]; 43*c9945492SAndroid Build Coastguard Worker } regs; 44*c9945492SAndroid Build Coastguard Worker struct { 45*c9945492SAndroid Build Coastguard Worker unsigned fpc; 46*c9945492SAndroid Build Coastguard Worker double fprs[16]; 47*c9945492SAndroid Build Coastguard Worker } fpregs; 48*c9945492SAndroid Build Coastguard Worker } *sregs; 49*c9945492SAndroid Build Coastguard Worker }; 50*c9945492SAndroid Build Coastguard Worker 51*c9945492SAndroid Build Coastguard Worker #else 52*c9945492SAndroid Build Coastguard Worker 53*c9945492SAndroid Build Coastguard Worker typedef struct { 54*c9945492SAndroid Build Coastguard Worker unsigned long __regs1[18]; 55*c9945492SAndroid Build Coastguard Worker unsigned __regs2[18]; 56*c9945492SAndroid Build Coastguard Worker double __regs3[16]; 57*c9945492SAndroid Build Coastguard Worker } mcontext_t; 58*c9945492SAndroid Build Coastguard Worker 59*c9945492SAndroid Build Coastguard Worker #endif 60*c9945492SAndroid Build Coastguard Worker 61*c9945492SAndroid Build Coastguard Worker struct sigaltstack { 62*c9945492SAndroid Build Coastguard Worker void *ss_sp; 63*c9945492SAndroid Build Coastguard Worker int ss_flags; 64*c9945492SAndroid Build Coastguard Worker size_t ss_size; 65*c9945492SAndroid Build Coastguard Worker }; 66*c9945492SAndroid Build Coastguard Worker 67*c9945492SAndroid Build Coastguard Worker typedef struct __ucontext { 68*c9945492SAndroid Build Coastguard Worker unsigned long uc_flags; 69*c9945492SAndroid Build Coastguard Worker struct __ucontext *uc_link; 70*c9945492SAndroid Build Coastguard Worker stack_t uc_stack; 71*c9945492SAndroid Build Coastguard Worker mcontext_t uc_mcontext; 72*c9945492SAndroid Build Coastguard Worker sigset_t uc_sigmask; 73*c9945492SAndroid Build Coastguard Worker } ucontext_t; 74*c9945492SAndroid Build Coastguard Worker 75*c9945492SAndroid Build Coastguard Worker #define SA_NOCLDSTOP 1U 76*c9945492SAndroid Build Coastguard Worker #define SA_NOCLDWAIT 2U 77*c9945492SAndroid Build Coastguard Worker #define SA_SIGINFO 4U 78*c9945492SAndroid Build Coastguard Worker #define SA_ONSTACK 0x08000000U 79*c9945492SAndroid Build Coastguard Worker #define SA_RESTART 0x10000000U 80*c9945492SAndroid Build Coastguard Worker #define SA_NODEFER 0x40000000U 81*c9945492SAndroid Build Coastguard Worker #define SA_RESETHAND 0x80000000U 82*c9945492SAndroid Build Coastguard Worker #define SA_RESTORER 0x04000000U 83*c9945492SAndroid Build Coastguard Worker 84*c9945492SAndroid Build Coastguard Worker #endif 85*c9945492SAndroid Build Coastguard Worker 86*c9945492SAndroid Build Coastguard Worker #define SIGHUP 1 87*c9945492SAndroid Build Coastguard Worker #define SIGINT 2 88*c9945492SAndroid Build Coastguard Worker #define SIGQUIT 3 89*c9945492SAndroid Build Coastguard Worker #define SIGILL 4 90*c9945492SAndroid Build Coastguard Worker #define SIGTRAP 5 91*c9945492SAndroid Build Coastguard Worker #define SIGABRT 6 92*c9945492SAndroid Build Coastguard Worker #define SIGIOT SIGABRT 93*c9945492SAndroid Build Coastguard Worker #define SIGBUS 7 94*c9945492SAndroid Build Coastguard Worker #define SIGFPE 8 95*c9945492SAndroid Build Coastguard Worker #define SIGKILL 9 96*c9945492SAndroid Build Coastguard Worker #define SIGUSR1 10 97*c9945492SAndroid Build Coastguard Worker #define SIGSEGV 11 98*c9945492SAndroid Build Coastguard Worker #define SIGUSR2 12 99*c9945492SAndroid Build Coastguard Worker #define SIGPIPE 13 100*c9945492SAndroid Build Coastguard Worker #define SIGALRM 14 101*c9945492SAndroid Build Coastguard Worker #define SIGTERM 15 102*c9945492SAndroid Build Coastguard Worker #define SIGSTKFLT 16 103*c9945492SAndroid Build Coastguard Worker #define SIGCHLD 17 104*c9945492SAndroid Build Coastguard Worker #define SIGCONT 18 105*c9945492SAndroid Build Coastguard Worker #define SIGSTOP 19 106*c9945492SAndroid Build Coastguard Worker #define SIGTSTP 20 107*c9945492SAndroid Build Coastguard Worker #define SIGTTIN 21 108*c9945492SAndroid Build Coastguard Worker #define SIGTTOU 22 109*c9945492SAndroid Build Coastguard Worker #define SIGURG 23 110*c9945492SAndroid Build Coastguard Worker #define SIGXCPU 24 111*c9945492SAndroid Build Coastguard Worker #define SIGXFSZ 25 112*c9945492SAndroid Build Coastguard Worker #define SIGVTALRM 26 113*c9945492SAndroid Build Coastguard Worker #define SIGPROF 27 114*c9945492SAndroid Build Coastguard Worker #define SIGWINCH 28 115*c9945492SAndroid Build Coastguard Worker #define SIGIO 29 116*c9945492SAndroid Build Coastguard Worker #define SIGPOLL SIGIO 117*c9945492SAndroid Build Coastguard Worker #define SIGPWR 30 118*c9945492SAndroid Build Coastguard Worker #define SIGSYS 31 119*c9945492SAndroid Build Coastguard Worker #define SIGUNUSED SIGSYS 120*c9945492SAndroid Build Coastguard Worker 121*c9945492SAndroid Build Coastguard Worker #define _NSIG 65 122