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 16384 7*c9945492SAndroid Build Coastguard Worker #endif 8*c9945492SAndroid Build Coastguard Worker 9*c9945492SAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) 10*c9945492SAndroid Build Coastguard Worker #define LARCH_NGREG 32 11*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_RA 1 12*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_SP 3 13*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_S0 23 14*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_S1 24 15*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_A0 4 16*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_S2 25 17*c9945492SAndroid Build Coastguard Worker #define LARCH_REG_NARGS 8 18*c9945492SAndroid Build Coastguard Worker #endif 19*c9945492SAndroid Build Coastguard Worker 20*c9945492SAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 21*c9945492SAndroid Build Coastguard Worker typedef unsigned long greg_t, gregset_t[32]; 22*c9945492SAndroid Build Coastguard Worker 23*c9945492SAndroid Build Coastguard Worker struct sigcontext { 24*c9945492SAndroid Build Coastguard Worker unsigned long sc_pc; 25*c9945492SAndroid Build Coastguard Worker unsigned long sc_regs[32]; 26*c9945492SAndroid Build Coastguard Worker unsigned sc_flags; 27*c9945492SAndroid Build Coastguard Worker unsigned long sc_extcontext[] __attribute__((__aligned__(16))); 28*c9945492SAndroid Build Coastguard Worker }; 29*c9945492SAndroid Build Coastguard Worker #endif 30*c9945492SAndroid Build Coastguard Worker 31*c9945492SAndroid Build Coastguard Worker typedef struct { 32*c9945492SAndroid Build Coastguard Worker unsigned long __pc; 33*c9945492SAndroid Build Coastguard Worker unsigned long __gregs[32]; 34*c9945492SAndroid Build Coastguard Worker unsigned __flags; 35*c9945492SAndroid Build Coastguard Worker unsigned long __extcontext[] __attribute__((__aligned__(16))); 36*c9945492SAndroid Build Coastguard Worker } mcontext_t; 37*c9945492SAndroid Build Coastguard Worker 38*c9945492SAndroid Build Coastguard Worker struct sigaltstack { 39*c9945492SAndroid Build Coastguard Worker void *ss_sp; 40*c9945492SAndroid Build Coastguard Worker int ss_flags; 41*c9945492SAndroid Build Coastguard Worker size_t ss_size; 42*c9945492SAndroid Build Coastguard Worker }; 43*c9945492SAndroid Build Coastguard Worker 44*c9945492SAndroid Build Coastguard Worker typedef struct __ucontext 45*c9945492SAndroid Build Coastguard Worker { 46*c9945492SAndroid Build Coastguard Worker unsigned long uc_flags; 47*c9945492SAndroid Build Coastguard Worker struct __ucontext *uc_link; 48*c9945492SAndroid Build Coastguard Worker stack_t uc_stack; 49*c9945492SAndroid Build Coastguard Worker sigset_t uc_sigmask; 50*c9945492SAndroid Build Coastguard Worker long __uc_pad; 51*c9945492SAndroid Build Coastguard Worker mcontext_t uc_mcontext; 52*c9945492SAndroid Build Coastguard Worker } ucontext_t; 53*c9945492SAndroid Build Coastguard Worker 54*c9945492SAndroid Build Coastguard Worker #define __uc_flags uc_flags 55*c9945492SAndroid Build Coastguard Worker 56*c9945492SAndroid Build Coastguard Worker #define SA_NOCLDSTOP 1 57*c9945492SAndroid Build Coastguard Worker #define SA_NOCLDWAIT 2 58*c9945492SAndroid Build Coastguard Worker #define SA_SIGINFO 4 59*c9945492SAndroid Build Coastguard Worker #define SA_ONSTACK 0x08000000 60*c9945492SAndroid Build Coastguard Worker #define SA_RESTART 0x10000000 61*c9945492SAndroid Build Coastguard Worker #define SA_NODEFER 0x40000000 62*c9945492SAndroid Build Coastguard Worker #define SA_RESETHAND 0x80000000 63*c9945492SAndroid Build Coastguard Worker 64*c9945492SAndroid Build Coastguard Worker #endif 65*c9945492SAndroid Build Coastguard Worker 66*c9945492SAndroid Build Coastguard Worker #define SIGHUP 1 67*c9945492SAndroid Build Coastguard Worker #define SIGINT 2 68*c9945492SAndroid Build Coastguard Worker #define SIGQUIT 3 69*c9945492SAndroid Build Coastguard Worker #define SIGILL 4 70*c9945492SAndroid Build Coastguard Worker #define SIGTRAP 5 71*c9945492SAndroid Build Coastguard Worker #define SIGABRT 6 72*c9945492SAndroid Build Coastguard Worker #define SIGIOT SIGABRT 73*c9945492SAndroid Build Coastguard Worker #define SIGBUS 7 74*c9945492SAndroid Build Coastguard Worker #define SIGFPE 8 75*c9945492SAndroid Build Coastguard Worker #define SIGKILL 9 76*c9945492SAndroid Build Coastguard Worker #define SIGUSR1 10 77*c9945492SAndroid Build Coastguard Worker #define SIGSEGV 11 78*c9945492SAndroid Build Coastguard Worker #define SIGUSR2 12 79*c9945492SAndroid Build Coastguard Worker #define SIGPIPE 13 80*c9945492SAndroid Build Coastguard Worker #define SIGALRM 14 81*c9945492SAndroid Build Coastguard Worker #define SIGTERM 15 82*c9945492SAndroid Build Coastguard Worker #define SIGSTKFLT 16 83*c9945492SAndroid Build Coastguard Worker #define SIGCHLD 17 84*c9945492SAndroid Build Coastguard Worker #define SIGCONT 18 85*c9945492SAndroid Build Coastguard Worker #define SIGSTOP 19 86*c9945492SAndroid Build Coastguard Worker #define SIGTSTP 20 87*c9945492SAndroid Build Coastguard Worker #define SIGTTIN 21 88*c9945492SAndroid Build Coastguard Worker #define SIGTTOU 22 89*c9945492SAndroid Build Coastguard Worker #define SIGURG 23 90*c9945492SAndroid Build Coastguard Worker #define SIGXCPU 24 91*c9945492SAndroid Build Coastguard Worker #define SIGXFSZ 25 92*c9945492SAndroid Build Coastguard Worker #define SIGVTALRM 26 93*c9945492SAndroid Build Coastguard Worker #define SIGPROF 27 94*c9945492SAndroid Build Coastguard Worker #define SIGWINCH 28 95*c9945492SAndroid Build Coastguard Worker #define SIGIO 29 96*c9945492SAndroid Build Coastguard Worker #define SIGPOLL SIGIO 97*c9945492SAndroid Build Coastguard Worker #define SIGPWR 30 98*c9945492SAndroid Build Coastguard Worker #define SIGSYS 31 99*c9945492SAndroid Build Coastguard Worker #define SIGUNUSED SIGSYS 100*c9945492SAndroid Build Coastguard Worker 101*c9945492SAndroid Build Coastguard Worker #define _NSIG 65 102