1*cda5da8dSAndroid Build Coastguard Worker #ifndef _SIGNAL_H 2*cda5da8dSAndroid Build Coastguard Worker #define _SIGNAL_H 3*cda5da8dSAndroid Build Coastguard Worker 4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 5*cda5da8dSAndroid Build Coastguard Worker extern "C" { 6*cda5da8dSAndroid Build Coastguard Worker #endif 7*cda5da8dSAndroid Build Coastguard Worker 8*cda5da8dSAndroid Build Coastguard Worker #include <features.h> 9*cda5da8dSAndroid Build Coastguard Worker 10*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 11*cda5da8dSAndroid Build Coastguard Worker || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ 12*cda5da8dSAndroid Build Coastguard Worker || defined(_BSD_SOURCE) 13*cda5da8dSAndroid Build Coastguard Worker 14*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE 15*cda5da8dSAndroid Build Coastguard Worker #define __ucontext ucontext 16*cda5da8dSAndroid Build Coastguard Worker #endif 17*cda5da8dSAndroid Build Coastguard Worker 18*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t 19*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pid_t 20*cda5da8dSAndroid Build Coastguard Worker #define __NEED_uid_t 21*cda5da8dSAndroid Build Coastguard Worker #define __NEED_struct_timespec 22*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pthread_t 23*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pthread_attr_t 24*cda5da8dSAndroid Build Coastguard Worker #define __NEED_time_t 25*cda5da8dSAndroid Build Coastguard Worker #define __NEED_clock_t 26*cda5da8dSAndroid Build Coastguard Worker #define __NEED_sigset_t 27*cda5da8dSAndroid Build Coastguard Worker 28*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h> 29*cda5da8dSAndroid Build Coastguard Worker 30*cda5da8dSAndroid Build Coastguard Worker #define SIG_BLOCK 0 31*cda5da8dSAndroid Build Coastguard Worker #define SIG_UNBLOCK 1 32*cda5da8dSAndroid Build Coastguard Worker #define SIG_SETMASK 2 33*cda5da8dSAndroid Build Coastguard Worker 34*cda5da8dSAndroid Build Coastguard Worker #define SI_ASYNCNL (-60) 35*cda5da8dSAndroid Build Coastguard Worker #define SI_TKILL (-6) 36*cda5da8dSAndroid Build Coastguard Worker #define SI_SIGIO (-5) 37*cda5da8dSAndroid Build Coastguard Worker #define SI_ASYNCIO (-4) 38*cda5da8dSAndroid Build Coastguard Worker #define SI_MESGQ (-3) 39*cda5da8dSAndroid Build Coastguard Worker #define SI_TIMER (-2) 40*cda5da8dSAndroid Build Coastguard Worker #define SI_QUEUE (-1) 41*cda5da8dSAndroid Build Coastguard Worker #define SI_USER 0 42*cda5da8dSAndroid Build Coastguard Worker #define SI_KERNEL 128 43*cda5da8dSAndroid Build Coastguard Worker 44*cda5da8dSAndroid Build Coastguard Worker typedef struct sigaltstack stack_t; 45*cda5da8dSAndroid Build Coastguard Worker 46*cda5da8dSAndroid Build Coastguard Worker #endif 47*cda5da8dSAndroid Build Coastguard Worker 48*cda5da8dSAndroid Build Coastguard Worker #include <bits/signal.h> 49*cda5da8dSAndroid Build Coastguard Worker 50*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 51*cda5da8dSAndroid Build Coastguard Worker || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ 52*cda5da8dSAndroid Build Coastguard Worker || defined(_BSD_SOURCE) 53*cda5da8dSAndroid Build Coastguard Worker 54*cda5da8dSAndroid Build Coastguard Worker #define SIG_HOLD ((void (*)(int)) 2) 55*cda5da8dSAndroid Build Coastguard Worker 56*cda5da8dSAndroid Build Coastguard Worker #define FPE_INTDIV 1 57*cda5da8dSAndroid Build Coastguard Worker #define FPE_INTOVF 2 58*cda5da8dSAndroid Build Coastguard Worker #define FPE_FLTDIV 3 59*cda5da8dSAndroid Build Coastguard Worker #define FPE_FLTOVF 4 60*cda5da8dSAndroid Build Coastguard Worker #define FPE_FLTUND 5 61*cda5da8dSAndroid Build Coastguard Worker #define FPE_FLTRES 6 62*cda5da8dSAndroid Build Coastguard Worker #define FPE_FLTINV 7 63*cda5da8dSAndroid Build Coastguard Worker #define FPE_FLTSUB 8 64*cda5da8dSAndroid Build Coastguard Worker 65*cda5da8dSAndroid Build Coastguard Worker #define ILL_ILLOPC 1 66*cda5da8dSAndroid Build Coastguard Worker #define ILL_ILLOPN 2 67*cda5da8dSAndroid Build Coastguard Worker #define ILL_ILLADR 3 68*cda5da8dSAndroid Build Coastguard Worker #define ILL_ILLTRP 4 69*cda5da8dSAndroid Build Coastguard Worker #define ILL_PRVOPC 5 70*cda5da8dSAndroid Build Coastguard Worker #define ILL_PRVREG 6 71*cda5da8dSAndroid Build Coastguard Worker #define ILL_COPROC 7 72*cda5da8dSAndroid Build Coastguard Worker #define ILL_BADSTK 8 73*cda5da8dSAndroid Build Coastguard Worker 74*cda5da8dSAndroid Build Coastguard Worker #define SEGV_MAPERR 1 75*cda5da8dSAndroid Build Coastguard Worker #define SEGV_ACCERR 2 76*cda5da8dSAndroid Build Coastguard Worker #define SEGV_BNDERR 3 77*cda5da8dSAndroid Build Coastguard Worker #define SEGV_PKUERR 4 78*cda5da8dSAndroid Build Coastguard Worker #define SEGV_MTEAERR 8 79*cda5da8dSAndroid Build Coastguard Worker #define SEGV_MTESERR 9 80*cda5da8dSAndroid Build Coastguard Worker 81*cda5da8dSAndroid Build Coastguard Worker #define BUS_ADRALN 1 82*cda5da8dSAndroid Build Coastguard Worker #define BUS_ADRERR 2 83*cda5da8dSAndroid Build Coastguard Worker #define BUS_OBJERR 3 84*cda5da8dSAndroid Build Coastguard Worker #define BUS_MCEERR_AR 4 85*cda5da8dSAndroid Build Coastguard Worker #define BUS_MCEERR_AO 5 86*cda5da8dSAndroid Build Coastguard Worker 87*cda5da8dSAndroid Build Coastguard Worker #define CLD_EXITED 1 88*cda5da8dSAndroid Build Coastguard Worker #define CLD_KILLED 2 89*cda5da8dSAndroid Build Coastguard Worker #define CLD_DUMPED 3 90*cda5da8dSAndroid Build Coastguard Worker #define CLD_TRAPPED 4 91*cda5da8dSAndroid Build Coastguard Worker #define CLD_STOPPED 5 92*cda5da8dSAndroid Build Coastguard Worker #define CLD_CONTINUED 6 93*cda5da8dSAndroid Build Coastguard Worker 94*cda5da8dSAndroid Build Coastguard Worker union sigval { 95*cda5da8dSAndroid Build Coastguard Worker int sival_int; 96*cda5da8dSAndroid Build Coastguard Worker void *sival_ptr; 97*cda5da8dSAndroid Build Coastguard Worker }; 98*cda5da8dSAndroid Build Coastguard Worker 99*cda5da8dSAndroid Build Coastguard Worker typedef struct { 100*cda5da8dSAndroid Build Coastguard Worker #ifdef __SI_SWAP_ERRNO_CODE 101*cda5da8dSAndroid Build Coastguard Worker int si_signo, si_code, si_errno; 102*cda5da8dSAndroid Build Coastguard Worker #else 103*cda5da8dSAndroid Build Coastguard Worker int si_signo, si_errno, si_code; 104*cda5da8dSAndroid Build Coastguard Worker #endif 105*cda5da8dSAndroid Build Coastguard Worker union { 106*cda5da8dSAndroid Build Coastguard Worker char __pad[128 - 2*sizeof(int) - sizeof(long)]; 107*cda5da8dSAndroid Build Coastguard Worker struct { 108*cda5da8dSAndroid Build Coastguard Worker union { 109*cda5da8dSAndroid Build Coastguard Worker struct { 110*cda5da8dSAndroid Build Coastguard Worker pid_t si_pid; 111*cda5da8dSAndroid Build Coastguard Worker uid_t si_uid; 112*cda5da8dSAndroid Build Coastguard Worker } __piduid; 113*cda5da8dSAndroid Build Coastguard Worker struct { 114*cda5da8dSAndroid Build Coastguard Worker int si_timerid; 115*cda5da8dSAndroid Build Coastguard Worker int si_overrun; 116*cda5da8dSAndroid Build Coastguard Worker } __timer; 117*cda5da8dSAndroid Build Coastguard Worker } __first; 118*cda5da8dSAndroid Build Coastguard Worker union { 119*cda5da8dSAndroid Build Coastguard Worker union sigval si_value; 120*cda5da8dSAndroid Build Coastguard Worker struct { 121*cda5da8dSAndroid Build Coastguard Worker int si_status; 122*cda5da8dSAndroid Build Coastguard Worker clock_t si_utime, si_stime; 123*cda5da8dSAndroid Build Coastguard Worker } __sigchld; 124*cda5da8dSAndroid Build Coastguard Worker } __second; 125*cda5da8dSAndroid Build Coastguard Worker } __si_common; 126*cda5da8dSAndroid Build Coastguard Worker struct { 127*cda5da8dSAndroid Build Coastguard Worker void *si_addr; 128*cda5da8dSAndroid Build Coastguard Worker short si_addr_lsb; 129*cda5da8dSAndroid Build Coastguard Worker union { 130*cda5da8dSAndroid Build Coastguard Worker struct { 131*cda5da8dSAndroid Build Coastguard Worker void *si_lower; 132*cda5da8dSAndroid Build Coastguard Worker void *si_upper; 133*cda5da8dSAndroid Build Coastguard Worker } __addr_bnd; 134*cda5da8dSAndroid Build Coastguard Worker unsigned si_pkey; 135*cda5da8dSAndroid Build Coastguard Worker } __first; 136*cda5da8dSAndroid Build Coastguard Worker } __sigfault; 137*cda5da8dSAndroid Build Coastguard Worker struct { 138*cda5da8dSAndroid Build Coastguard Worker long si_band; 139*cda5da8dSAndroid Build Coastguard Worker int si_fd; 140*cda5da8dSAndroid Build Coastguard Worker } __sigpoll; 141*cda5da8dSAndroid Build Coastguard Worker struct { 142*cda5da8dSAndroid Build Coastguard Worker void *si_call_addr; 143*cda5da8dSAndroid Build Coastguard Worker int si_syscall; 144*cda5da8dSAndroid Build Coastguard Worker unsigned si_arch; 145*cda5da8dSAndroid Build Coastguard Worker } __sigsys; 146*cda5da8dSAndroid Build Coastguard Worker } __si_fields; 147*cda5da8dSAndroid Build Coastguard Worker } siginfo_t; 148*cda5da8dSAndroid Build Coastguard Worker #define si_pid __si_fields.__si_common.__first.__piduid.si_pid 149*cda5da8dSAndroid Build Coastguard Worker #define si_uid __si_fields.__si_common.__first.__piduid.si_uid 150*cda5da8dSAndroid Build Coastguard Worker #define si_status __si_fields.__si_common.__second.__sigchld.si_status 151*cda5da8dSAndroid Build Coastguard Worker #define si_utime __si_fields.__si_common.__second.__sigchld.si_utime 152*cda5da8dSAndroid Build Coastguard Worker #define si_stime __si_fields.__si_common.__second.__sigchld.si_stime 153*cda5da8dSAndroid Build Coastguard Worker #define si_value __si_fields.__si_common.__second.si_value 154*cda5da8dSAndroid Build Coastguard Worker #define si_addr __si_fields.__sigfault.si_addr 155*cda5da8dSAndroid Build Coastguard Worker #define si_addr_lsb __si_fields.__sigfault.si_addr_lsb 156*cda5da8dSAndroid Build Coastguard Worker #define si_lower __si_fields.__sigfault.__first.__addr_bnd.si_lower 157*cda5da8dSAndroid Build Coastguard Worker #define si_upper __si_fields.__sigfault.__first.__addr_bnd.si_upper 158*cda5da8dSAndroid Build Coastguard Worker #define si_pkey __si_fields.__sigfault.__first.si_pkey 159*cda5da8dSAndroid Build Coastguard Worker #define si_band __si_fields.__sigpoll.si_band 160*cda5da8dSAndroid Build Coastguard Worker #define si_fd __si_fields.__sigpoll.si_fd 161*cda5da8dSAndroid Build Coastguard Worker #define si_timerid __si_fields.__si_common.__first.__timer.si_timerid 162*cda5da8dSAndroid Build Coastguard Worker #define si_overrun __si_fields.__si_common.__first.__timer.si_overrun 163*cda5da8dSAndroid Build Coastguard Worker #define si_ptr si_value.sival_ptr 164*cda5da8dSAndroid Build Coastguard Worker #define si_int si_value.sival_int 165*cda5da8dSAndroid Build Coastguard Worker #define si_call_addr __si_fields.__sigsys.si_call_addr 166*cda5da8dSAndroid Build Coastguard Worker #define si_syscall __si_fields.__sigsys.si_syscall 167*cda5da8dSAndroid Build Coastguard Worker #define si_arch __si_fields.__sigsys.si_arch 168*cda5da8dSAndroid Build Coastguard Worker 169*cda5da8dSAndroid Build Coastguard Worker struct sigaction { 170*cda5da8dSAndroid Build Coastguard Worker union { 171*cda5da8dSAndroid Build Coastguard Worker void (*sa_handler)(int); 172*cda5da8dSAndroid Build Coastguard Worker void (*sa_sigaction)(int, siginfo_t *, void *); 173*cda5da8dSAndroid Build Coastguard Worker } __sa_handler; 174*cda5da8dSAndroid Build Coastguard Worker sigset_t sa_mask; 175*cda5da8dSAndroid Build Coastguard Worker int sa_flags; 176*cda5da8dSAndroid Build Coastguard Worker void (*sa_restorer)(void); 177*cda5da8dSAndroid Build Coastguard Worker }; 178*cda5da8dSAndroid Build Coastguard Worker #define sa_handler __sa_handler.sa_handler 179*cda5da8dSAndroid Build Coastguard Worker #define sa_sigaction __sa_handler.sa_sigaction 180*cda5da8dSAndroid Build Coastguard Worker 181*cda5da8dSAndroid Build Coastguard Worker #define SA_UNSUPPORTED 0x00000400 182*cda5da8dSAndroid Build Coastguard Worker #define SA_EXPOSE_TAGBITS 0x00000800 183*cda5da8dSAndroid Build Coastguard Worker 184*cda5da8dSAndroid Build Coastguard Worker struct sigevent { 185*cda5da8dSAndroid Build Coastguard Worker union sigval sigev_value; 186*cda5da8dSAndroid Build Coastguard Worker int sigev_signo; 187*cda5da8dSAndroid Build Coastguard Worker int sigev_notify; 188*cda5da8dSAndroid Build Coastguard Worker union { 189*cda5da8dSAndroid Build Coastguard Worker char __pad[64 - 2*sizeof(int) - sizeof(union sigval)]; 190*cda5da8dSAndroid Build Coastguard Worker pid_t sigev_notify_thread_id; 191*cda5da8dSAndroid Build Coastguard Worker struct { 192*cda5da8dSAndroid Build Coastguard Worker void (*sigev_notify_function)(union sigval); 193*cda5da8dSAndroid Build Coastguard Worker pthread_attr_t *sigev_notify_attributes; 194*cda5da8dSAndroid Build Coastguard Worker } __sev_thread; 195*cda5da8dSAndroid Build Coastguard Worker } __sev_fields; 196*cda5da8dSAndroid Build Coastguard Worker }; 197*cda5da8dSAndroid Build Coastguard Worker 198*cda5da8dSAndroid Build Coastguard Worker #define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id 199*cda5da8dSAndroid Build Coastguard Worker #define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function 200*cda5da8dSAndroid Build Coastguard Worker #define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes 201*cda5da8dSAndroid Build Coastguard Worker 202*cda5da8dSAndroid Build Coastguard Worker #define SIGEV_SIGNAL 0 203*cda5da8dSAndroid Build Coastguard Worker #define SIGEV_NONE 1 204*cda5da8dSAndroid Build Coastguard Worker #define SIGEV_THREAD 2 205*cda5da8dSAndroid Build Coastguard Worker #define SIGEV_THREAD_ID 4 206*cda5da8dSAndroid Build Coastguard Worker 207*cda5da8dSAndroid Build Coastguard Worker int __libc_current_sigrtmin(void); 208*cda5da8dSAndroid Build Coastguard Worker int __libc_current_sigrtmax(void); 209*cda5da8dSAndroid Build Coastguard Worker 210*cda5da8dSAndroid Build Coastguard Worker #define SIGRTMIN (__libc_current_sigrtmin()) 211*cda5da8dSAndroid Build Coastguard Worker #define SIGRTMAX (__libc_current_sigrtmax()) 212*cda5da8dSAndroid Build Coastguard Worker 213*cda5da8dSAndroid Build Coastguard Worker int kill(pid_t, int); 214*cda5da8dSAndroid Build Coastguard Worker 215*cda5da8dSAndroid Build Coastguard Worker int sigemptyset(sigset_t *); 216*cda5da8dSAndroid Build Coastguard Worker int sigfillset(sigset_t *); 217*cda5da8dSAndroid Build Coastguard Worker int sigaddset(sigset_t *, int); 218*cda5da8dSAndroid Build Coastguard Worker int sigdelset(sigset_t *, int); 219*cda5da8dSAndroid Build Coastguard Worker int sigismember(const sigset_t *, int); 220*cda5da8dSAndroid Build Coastguard Worker 221*cda5da8dSAndroid Build Coastguard Worker int sigprocmask(int, const sigset_t *__restrict, sigset_t *__restrict); 222*cda5da8dSAndroid Build Coastguard Worker int sigsuspend(const sigset_t *); 223*cda5da8dSAndroid Build Coastguard Worker int sigaction(int, const struct sigaction *__restrict, struct sigaction *__restrict); 224*cda5da8dSAndroid Build Coastguard Worker int sigpending(sigset_t *); 225*cda5da8dSAndroid Build Coastguard Worker int sigwait(const sigset_t *__restrict, int *__restrict); 226*cda5da8dSAndroid Build Coastguard Worker int sigwaitinfo(const sigset_t *__restrict, siginfo_t *__restrict); 227*cda5da8dSAndroid Build Coastguard Worker int sigtimedwait(const sigset_t *__restrict, siginfo_t *__restrict, const struct timespec *__restrict); 228*cda5da8dSAndroid Build Coastguard Worker int sigqueue(pid_t, int, union sigval); 229*cda5da8dSAndroid Build Coastguard Worker 230*cda5da8dSAndroid Build Coastguard Worker int pthread_sigmask(int, const sigset_t *__restrict, sigset_t *__restrict); 231*cda5da8dSAndroid Build Coastguard Worker int pthread_kill(pthread_t, int); 232*cda5da8dSAndroid Build Coastguard Worker 233*cda5da8dSAndroid Build Coastguard Worker void psiginfo(const siginfo_t *, const char *); 234*cda5da8dSAndroid Build Coastguard Worker void psignal(int, const char *); 235*cda5da8dSAndroid Build Coastguard Worker 236*cda5da8dSAndroid Build Coastguard Worker #endif 237*cda5da8dSAndroid Build Coastguard Worker 238*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE) 239*cda5da8dSAndroid Build Coastguard Worker int killpg(pid_t, int); 240*cda5da8dSAndroid Build Coastguard Worker int sigaltstack(const stack_t *__restrict, stack_t *__restrict); 241*cda5da8dSAndroid Build Coastguard Worker int sighold(int); 242*cda5da8dSAndroid Build Coastguard Worker int sigignore(int); 243*cda5da8dSAndroid Build Coastguard Worker int siginterrupt(int, int); 244*cda5da8dSAndroid Build Coastguard Worker int sigpause(int); 245*cda5da8dSAndroid Build Coastguard Worker int sigrelse(int); 246*cda5da8dSAndroid Build Coastguard Worker void (*sigset(int, void (*)(int)))(int); 247*cda5da8dSAndroid Build Coastguard Worker #define TRAP_BRKPT 1 248*cda5da8dSAndroid Build Coastguard Worker #define TRAP_TRACE 2 249*cda5da8dSAndroid Build Coastguard Worker #define TRAP_BRANCH 3 250*cda5da8dSAndroid Build Coastguard Worker #define TRAP_HWBKPT 4 251*cda5da8dSAndroid Build Coastguard Worker #define TRAP_UNK 5 252*cda5da8dSAndroid Build Coastguard Worker #define POLL_IN 1 253*cda5da8dSAndroid Build Coastguard Worker #define POLL_OUT 2 254*cda5da8dSAndroid Build Coastguard Worker #define POLL_MSG 3 255*cda5da8dSAndroid Build Coastguard Worker #define POLL_ERR 4 256*cda5da8dSAndroid Build Coastguard Worker #define POLL_PRI 5 257*cda5da8dSAndroid Build Coastguard Worker #define POLL_HUP 6 258*cda5da8dSAndroid Build Coastguard Worker #define SS_ONSTACK 1 259*cda5da8dSAndroid Build Coastguard Worker #define SS_DISABLE 2 260*cda5da8dSAndroid Build Coastguard Worker #define SS_AUTODISARM (1U << 31) 261*cda5da8dSAndroid Build Coastguard Worker #define SS_FLAG_BITS SS_AUTODISARM 262*cda5da8dSAndroid Build Coastguard Worker #endif 263*cda5da8dSAndroid Build Coastguard Worker 264*cda5da8dSAndroid Build Coastguard Worker #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) 265*cda5da8dSAndroid Build Coastguard Worker #define NSIG _NSIG 266*cda5da8dSAndroid Build Coastguard Worker typedef void (*sig_t)(int); 267*cda5da8dSAndroid Build Coastguard Worker 268*cda5da8dSAndroid Build Coastguard Worker #define SYS_SECCOMP 1 269*cda5da8dSAndroid Build Coastguard Worker #define SYS_USER_DISPATCH 2 270*cda5da8dSAndroid Build Coastguard Worker #endif 271*cda5da8dSAndroid Build Coastguard Worker 272*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE 273*cda5da8dSAndroid Build Coastguard Worker typedef void (*sighandler_t)(int); 274*cda5da8dSAndroid Build Coastguard Worker void (*bsd_signal(int, void (*)(int)))(int); 275*cda5da8dSAndroid Build Coastguard Worker int sigisemptyset(const sigset_t *); 276*cda5da8dSAndroid Build Coastguard Worker int sigorset (sigset_t *, const sigset_t *, const sigset_t *); 277*cda5da8dSAndroid Build Coastguard Worker int sigandset(sigset_t *, const sigset_t *, const sigset_t *); 278*cda5da8dSAndroid Build Coastguard Worker 279*cda5da8dSAndroid Build Coastguard Worker #define SA_NOMASK SA_NODEFER 280*cda5da8dSAndroid Build Coastguard Worker #define SA_ONESHOT SA_RESETHAND 281*cda5da8dSAndroid Build Coastguard Worker #endif 282*cda5da8dSAndroid Build Coastguard Worker 283*cda5da8dSAndroid Build Coastguard Worker #define SIG_ERR ((void (*)(int))-1) 284*cda5da8dSAndroid Build Coastguard Worker #define SIG_DFL ((void (*)(int)) 0) 285*cda5da8dSAndroid Build Coastguard Worker #define SIG_IGN ((void (*)(int)) 1) 286*cda5da8dSAndroid Build Coastguard Worker 287*cda5da8dSAndroid Build Coastguard Worker typedef int sig_atomic_t; 288*cda5da8dSAndroid Build Coastguard Worker 289*cda5da8dSAndroid Build Coastguard Worker void (*signal(int, void (*)(int)))(int); 290*cda5da8dSAndroid Build Coastguard Worker int raise(int); 291*cda5da8dSAndroid Build Coastguard Worker 292*cda5da8dSAndroid Build Coastguard Worker #if _REDIR_TIME64 293*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 294*cda5da8dSAndroid Build Coastguard Worker || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ 295*cda5da8dSAndroid Build Coastguard Worker || defined(_BSD_SOURCE) 296*cda5da8dSAndroid Build Coastguard Worker __REDIR(sigtimedwait, __sigtimedwait_time64); 297*cda5da8dSAndroid Build Coastguard Worker #endif 298*cda5da8dSAndroid Build Coastguard Worker #endif 299*cda5da8dSAndroid Build Coastguard Worker 300*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 301*cda5da8dSAndroid Build Coastguard Worker } 302*cda5da8dSAndroid Build Coastguard Worker #endif 303*cda5da8dSAndroid Build Coastguard Worker 304*cda5da8dSAndroid Build Coastguard Worker #endif 305