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 #ifdef _GNU_SOURCE 10*c9945492SAndroid Build Coastguard Worker enum { R_D0 = 0 }; 11*c9945492SAndroid Build Coastguard Worker #define R_D0 R_D0 12*c9945492SAndroid Build Coastguard Worker enum { R_D1 = 1 }; 13*c9945492SAndroid Build Coastguard Worker #define R_D1 R_D1 14*c9945492SAndroid Build Coastguard Worker enum { R_D2 = 2 }; 15*c9945492SAndroid Build Coastguard Worker #define R_D2 R_D2 16*c9945492SAndroid Build Coastguard Worker enum { R_D3 = 3 }; 17*c9945492SAndroid Build Coastguard Worker #define R_D3 R_D3 18*c9945492SAndroid Build Coastguard Worker enum { R_D4 = 4 }; 19*c9945492SAndroid Build Coastguard Worker #define R_D4 R_D4 20*c9945492SAndroid Build Coastguard Worker enum { R_D5 = 5 }; 21*c9945492SAndroid Build Coastguard Worker #define R_D5 R_D5 22*c9945492SAndroid Build Coastguard Worker enum { R_D6 = 6 }; 23*c9945492SAndroid Build Coastguard Worker #define R_D6 R_D6 24*c9945492SAndroid Build Coastguard Worker enum { R_D7 = 7 }; 25*c9945492SAndroid Build Coastguard Worker #define R_D7 R_D7 26*c9945492SAndroid Build Coastguard Worker enum { R_A0 = 8 }; 27*c9945492SAndroid Build Coastguard Worker #define R_A0 R_A0 28*c9945492SAndroid Build Coastguard Worker enum { R_A1 = 9 }; 29*c9945492SAndroid Build Coastguard Worker #define R_A1 R_A1 30*c9945492SAndroid Build Coastguard Worker enum { R_A2 = 10 }; 31*c9945492SAndroid Build Coastguard Worker #define R_A2 R_A2 32*c9945492SAndroid Build Coastguard Worker enum { R_A3 = 11 }; 33*c9945492SAndroid Build Coastguard Worker #define R_A3 R_A3 34*c9945492SAndroid Build Coastguard Worker enum { R_A4 = 12 }; 35*c9945492SAndroid Build Coastguard Worker #define R_A4 R_A4 36*c9945492SAndroid Build Coastguard Worker enum { R_A5 = 13 }; 37*c9945492SAndroid Build Coastguard Worker #define R_A5 R_A5 38*c9945492SAndroid Build Coastguard Worker enum { R_A6 = 14 }; 39*c9945492SAndroid Build Coastguard Worker #define R_A6 R_A6 40*c9945492SAndroid Build Coastguard Worker enum { R_A7 = 15 }; 41*c9945492SAndroid Build Coastguard Worker #define R_A7 R_A7 42*c9945492SAndroid Build Coastguard Worker enum { R_SP = 15 }; 43*c9945492SAndroid Build Coastguard Worker #define R_SP R_SP 44*c9945492SAndroid Build Coastguard Worker enum { R_PC = 16 }; 45*c9945492SAndroid Build Coastguard Worker #define R_PC R_PC 46*c9945492SAndroid Build Coastguard Worker enum { R_PS = 17 }; 47*c9945492SAndroid Build Coastguard Worker #define R_PS R_PS 48*c9945492SAndroid Build Coastguard Worker #endif 49*c9945492SAndroid Build Coastguard Worker 50*c9945492SAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 51*c9945492SAndroid Build Coastguard Worker 52*c9945492SAndroid Build Coastguard Worker struct sigcontext { 53*c9945492SAndroid Build Coastguard Worker unsigned long sc_mask, sc_usp, sc_d0, sc_d1, sc_a0, sc_a1; 54*c9945492SAndroid Build Coastguard Worker unsigned short sc_sr; 55*c9945492SAndroid Build Coastguard Worker unsigned long sc_pc; 56*c9945492SAndroid Build Coastguard Worker unsigned short sc_formatvec; 57*c9945492SAndroid Build Coastguard Worker unsigned long sc_fpregs[6], sc_fpcntl[3]; 58*c9945492SAndroid Build Coastguard Worker unsigned char sc_fpstate[216]; 59*c9945492SAndroid Build Coastguard Worker }; 60*c9945492SAndroid Build Coastguard Worker 61*c9945492SAndroid Build Coastguard Worker typedef int greg_t, gregset_t[18]; 62*c9945492SAndroid Build Coastguard Worker typedef struct { 63*c9945492SAndroid Build Coastguard Worker int f_pcr, f_psr, f_fpiaddr, f_fpregs[8][3]; 64*c9945492SAndroid Build Coastguard Worker } fpregset_t; 65*c9945492SAndroid Build Coastguard Worker 66*c9945492SAndroid Build Coastguard Worker typedef struct { 67*c9945492SAndroid Build Coastguard Worker int version; 68*c9945492SAndroid Build Coastguard Worker gregset_t gregs; 69*c9945492SAndroid Build Coastguard Worker fpregset_t fpregs; 70*c9945492SAndroid Build Coastguard Worker } mcontext_t; 71*c9945492SAndroid Build Coastguard Worker #else 72*c9945492SAndroid Build Coastguard Worker typedef struct { 73*c9945492SAndroid Build Coastguard Worker int __version; 74*c9945492SAndroid Build Coastguard Worker int __gregs[18]; 75*c9945492SAndroid Build Coastguard Worker int __fpregs[27]; 76*c9945492SAndroid Build Coastguard Worker } mcontext_t; 77*c9945492SAndroid Build Coastguard Worker #endif 78*c9945492SAndroid Build Coastguard Worker 79*c9945492SAndroid Build Coastguard Worker struct sigaltstack { 80*c9945492SAndroid Build Coastguard Worker void *ss_sp; 81*c9945492SAndroid Build Coastguard Worker int ss_flags; 82*c9945492SAndroid Build Coastguard Worker size_t ss_size; 83*c9945492SAndroid Build Coastguard Worker }; 84*c9945492SAndroid Build Coastguard Worker 85*c9945492SAndroid Build Coastguard Worker typedef struct __ucontext { 86*c9945492SAndroid Build Coastguard Worker unsigned long uc_flags; 87*c9945492SAndroid Build Coastguard Worker struct __ucontext *uc_link; 88*c9945492SAndroid Build Coastguard Worker stack_t uc_stack; 89*c9945492SAndroid Build Coastguard Worker mcontext_t uc_mcontext; 90*c9945492SAndroid Build Coastguard Worker long __reserved[80]; 91*c9945492SAndroid Build Coastguard Worker sigset_t uc_sigmask; 92*c9945492SAndroid Build Coastguard Worker } ucontext_t; 93*c9945492SAndroid Build Coastguard Worker 94*c9945492SAndroid Build Coastguard Worker #define SA_NOCLDSTOP 1 95*c9945492SAndroid Build Coastguard Worker #define SA_NOCLDWAIT 2 96*c9945492SAndroid Build Coastguard Worker #define SA_SIGINFO 4 97*c9945492SAndroid Build Coastguard Worker #define SA_ONSTACK 0x08000000 98*c9945492SAndroid Build Coastguard Worker #define SA_RESTART 0x10000000 99*c9945492SAndroid Build Coastguard Worker #define SA_NODEFER 0x40000000 100*c9945492SAndroid Build Coastguard Worker #define SA_RESETHAND 0x80000000 101*c9945492SAndroid Build Coastguard Worker #define SA_RESTORER 0x04000000 102*c9945492SAndroid Build Coastguard Worker 103*c9945492SAndroid Build Coastguard Worker #endif 104*c9945492SAndroid Build Coastguard Worker 105*c9945492SAndroid Build Coastguard Worker #define SIGHUP 1 106*c9945492SAndroid Build Coastguard Worker #define SIGINT 2 107*c9945492SAndroid Build Coastguard Worker #define SIGQUIT 3 108*c9945492SAndroid Build Coastguard Worker #define SIGILL 4 109*c9945492SAndroid Build Coastguard Worker #define SIGTRAP 5 110*c9945492SAndroid Build Coastguard Worker #define SIGABRT 6 111*c9945492SAndroid Build Coastguard Worker #define SIGIOT SIGABRT 112*c9945492SAndroid Build Coastguard Worker #define SIGBUS 7 113*c9945492SAndroid Build Coastguard Worker #define SIGFPE 8 114*c9945492SAndroid Build Coastguard Worker #define SIGKILL 9 115*c9945492SAndroid Build Coastguard Worker #define SIGUSR1 10 116*c9945492SAndroid Build Coastguard Worker #define SIGSEGV 11 117*c9945492SAndroid Build Coastguard Worker #define SIGUSR2 12 118*c9945492SAndroid Build Coastguard Worker #define SIGPIPE 13 119*c9945492SAndroid Build Coastguard Worker #define SIGALRM 14 120*c9945492SAndroid Build Coastguard Worker #define SIGTERM 15 121*c9945492SAndroid Build Coastguard Worker #define SIGSTKFLT 16 122*c9945492SAndroid Build Coastguard Worker #define SIGCHLD 17 123*c9945492SAndroid Build Coastguard Worker #define SIGCONT 18 124*c9945492SAndroid Build Coastguard Worker #define SIGSTOP 19 125*c9945492SAndroid Build Coastguard Worker #define SIGTSTP 20 126*c9945492SAndroid Build Coastguard Worker #define SIGTTIN 21 127*c9945492SAndroid Build Coastguard Worker #define SIGTTOU 22 128*c9945492SAndroid Build Coastguard Worker #define SIGURG 23 129*c9945492SAndroid Build Coastguard Worker #define SIGXCPU 24 130*c9945492SAndroid Build Coastguard Worker #define SIGXFSZ 25 131*c9945492SAndroid Build Coastguard Worker #define SIGVTALRM 26 132*c9945492SAndroid Build Coastguard Worker #define SIGPROF 27 133*c9945492SAndroid Build Coastguard Worker #define SIGWINCH 28 134*c9945492SAndroid Build Coastguard Worker #define SIGIO 29 135*c9945492SAndroid Build Coastguard Worker #define SIGPOLL 29 136*c9945492SAndroid Build Coastguard Worker #define SIGPWR 30 137*c9945492SAndroid Build Coastguard Worker #define SIGSYS 31 138*c9945492SAndroid Build Coastguard Worker #define SIGUNUSED SIGSYS 139*c9945492SAndroid Build Coastguard Worker 140*c9945492SAndroid Build Coastguard Worker #define _NSIG 65 141