1*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 2*cda5da8dSAndroid Build Coastguard Worker || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 3*cda5da8dSAndroid Build Coastguard Worker 4*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 5*cda5da8dSAndroid Build Coastguard Worker #define MINSIGSTKSZ 2048 6*cda5da8dSAndroid Build Coastguard Worker #define SIGSTKSZ 8192 7*cda5da8dSAndroid Build Coastguard Worker #endif 8*cda5da8dSAndroid Build Coastguard Worker 9*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 10*cda5da8dSAndroid Build Coastguard Worker typedef int greg_t, gregset_t[18]; 11*cda5da8dSAndroid Build Coastguard Worker typedef struct sigcontext { 12*cda5da8dSAndroid Build Coastguard Worker unsigned long trap_no, error_code, oldmask; 13*cda5da8dSAndroid Build Coastguard Worker unsigned long arm_r0, arm_r1, arm_r2, arm_r3; 14*cda5da8dSAndroid Build Coastguard Worker unsigned long arm_r4, arm_r5, arm_r6, arm_r7; 15*cda5da8dSAndroid Build Coastguard Worker unsigned long arm_r8, arm_r9, arm_r10, arm_fp; 16*cda5da8dSAndroid Build Coastguard Worker unsigned long arm_ip, arm_sp, arm_lr, arm_pc; 17*cda5da8dSAndroid Build Coastguard Worker unsigned long arm_cpsr, fault_address; 18*cda5da8dSAndroid Build Coastguard Worker } mcontext_t; 19*cda5da8dSAndroid Build Coastguard Worker #else 20*cda5da8dSAndroid Build Coastguard Worker typedef struct { 21*cda5da8dSAndroid Build Coastguard Worker unsigned long __regs[21]; 22*cda5da8dSAndroid Build Coastguard Worker } mcontext_t; 23*cda5da8dSAndroid Build Coastguard Worker #endif 24*cda5da8dSAndroid Build Coastguard Worker 25*cda5da8dSAndroid Build Coastguard Worker struct sigaltstack { 26*cda5da8dSAndroid Build Coastguard Worker void *ss_sp; 27*cda5da8dSAndroid Build Coastguard Worker int ss_flags; 28*cda5da8dSAndroid Build Coastguard Worker size_t ss_size; 29*cda5da8dSAndroid Build Coastguard Worker }; 30*cda5da8dSAndroid Build Coastguard Worker 31*cda5da8dSAndroid Build Coastguard Worker typedef struct __ucontext { 32*cda5da8dSAndroid Build Coastguard Worker unsigned long uc_flags; 33*cda5da8dSAndroid Build Coastguard Worker struct __ucontext *uc_link; 34*cda5da8dSAndroid Build Coastguard Worker stack_t uc_stack; 35*cda5da8dSAndroid Build Coastguard Worker mcontext_t uc_mcontext; 36*cda5da8dSAndroid Build Coastguard Worker sigset_t uc_sigmask; 37*cda5da8dSAndroid Build Coastguard Worker unsigned long long uc_regspace[64]; 38*cda5da8dSAndroid Build Coastguard Worker } ucontext_t; 39*cda5da8dSAndroid Build Coastguard Worker 40*cda5da8dSAndroid Build Coastguard Worker #define SA_NOCLDSTOP 1 41*cda5da8dSAndroid Build Coastguard Worker #define SA_NOCLDWAIT 2 42*cda5da8dSAndroid Build Coastguard Worker #define SA_SIGINFO 4 43*cda5da8dSAndroid Build Coastguard Worker #define SA_ONSTACK 0x08000000 44*cda5da8dSAndroid Build Coastguard Worker #define SA_RESTART 0x10000000 45*cda5da8dSAndroid Build Coastguard Worker #define SA_NODEFER 0x40000000 46*cda5da8dSAndroid Build Coastguard Worker #define SA_RESETHAND 0x80000000 47*cda5da8dSAndroid Build Coastguard Worker #define SA_RESTORER 0x04000000 48*cda5da8dSAndroid Build Coastguard Worker 49*cda5da8dSAndroid Build Coastguard Worker #endif 50*cda5da8dSAndroid Build Coastguard Worker 51*cda5da8dSAndroid Build Coastguard Worker #define SIGHUP 1 52*cda5da8dSAndroid Build Coastguard Worker #define SIGINT 2 53*cda5da8dSAndroid Build Coastguard Worker #define SIGQUIT 3 54*cda5da8dSAndroid Build Coastguard Worker #define SIGILL 4 55*cda5da8dSAndroid Build Coastguard Worker #define SIGTRAP 5 56*cda5da8dSAndroid Build Coastguard Worker #define SIGABRT 6 57*cda5da8dSAndroid Build Coastguard Worker #define SIGIOT SIGABRT 58*cda5da8dSAndroid Build Coastguard Worker #define SIGBUS 7 59*cda5da8dSAndroid Build Coastguard Worker #define SIGFPE 8 60*cda5da8dSAndroid Build Coastguard Worker #define SIGKILL 9 61*cda5da8dSAndroid Build Coastguard Worker #define SIGUSR1 10 62*cda5da8dSAndroid Build Coastguard Worker #define SIGSEGV 11 63*cda5da8dSAndroid Build Coastguard Worker #define SIGUSR2 12 64*cda5da8dSAndroid Build Coastguard Worker #define SIGPIPE 13 65*cda5da8dSAndroid Build Coastguard Worker #define SIGALRM 14 66*cda5da8dSAndroid Build Coastguard Worker #define SIGTERM 15 67*cda5da8dSAndroid Build Coastguard Worker #define SIGSTKFLT 16 68*cda5da8dSAndroid Build Coastguard Worker #define SIGCHLD 17 69*cda5da8dSAndroid Build Coastguard Worker #define SIGCONT 18 70*cda5da8dSAndroid Build Coastguard Worker #define SIGSTOP 19 71*cda5da8dSAndroid Build Coastguard Worker #define SIGTSTP 20 72*cda5da8dSAndroid Build Coastguard Worker #define SIGTTIN 21 73*cda5da8dSAndroid Build Coastguard Worker #define SIGTTOU 22 74*cda5da8dSAndroid Build Coastguard Worker #define SIGURG 23 75*cda5da8dSAndroid Build Coastguard Worker #define SIGXCPU 24 76*cda5da8dSAndroid Build Coastguard Worker #define SIGXFSZ 25 77*cda5da8dSAndroid Build Coastguard Worker #define SIGVTALRM 26 78*cda5da8dSAndroid Build Coastguard Worker #define SIGPROF 27 79*cda5da8dSAndroid Build Coastguard Worker #define SIGWINCH 28 80*cda5da8dSAndroid Build Coastguard Worker #define SIGIO 29 81*cda5da8dSAndroid Build Coastguard Worker #define SIGPOLL 29 82*cda5da8dSAndroid Build Coastguard Worker #define SIGPWR 30 83*cda5da8dSAndroid Build Coastguard Worker #define SIGSYS 31 84*cda5da8dSAndroid Build Coastguard Worker #define SIGUNUSED SIGSYS 85*cda5da8dSAndroid Build Coastguard Worker 86*cda5da8dSAndroid Build Coastguard Worker #define _NSIG 65 87