1*cda5da8dSAndroid Build Coastguard Worker #ifndef _SYS_WAIT_H 2*cda5da8dSAndroid Build Coastguard Worker #define _SYS_WAIT_H 3*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 4*cda5da8dSAndroid Build Coastguard Worker extern "C" { 5*cda5da8dSAndroid Build Coastguard Worker #endif 6*cda5da8dSAndroid Build Coastguard Worker 7*cda5da8dSAndroid Build Coastguard Worker #include <features.h> 8*cda5da8dSAndroid Build Coastguard Worker 9*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pid_t 10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_id_t 11*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h> 12*cda5da8dSAndroid Build Coastguard Worker 13*cda5da8dSAndroid Build Coastguard Worker typedef enum { 14*cda5da8dSAndroid Build Coastguard Worker P_ALL = 0, 15*cda5da8dSAndroid Build Coastguard Worker P_PID = 1, 16*cda5da8dSAndroid Build Coastguard Worker P_PGID = 2, 17*cda5da8dSAndroid Build Coastguard Worker P_PIDFD = 3 18*cda5da8dSAndroid Build Coastguard Worker } idtype_t; 19*cda5da8dSAndroid Build Coastguard Worker 20*cda5da8dSAndroid Build Coastguard Worker pid_t wait (int *); 21*cda5da8dSAndroid Build Coastguard Worker pid_t waitpid (pid_t, int *, int ); 22*cda5da8dSAndroid Build Coastguard Worker 23*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 24*cda5da8dSAndroid Build Coastguard Worker || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ 25*cda5da8dSAndroid Build Coastguard Worker || defined(_BSD_SOURCE) 26*cda5da8dSAndroid Build Coastguard Worker #include <signal.h> 27*cda5da8dSAndroid Build Coastguard Worker int waitid (idtype_t, id_t, siginfo_t *, int); 28*cda5da8dSAndroid Build Coastguard Worker #endif 29*cda5da8dSAndroid Build Coastguard Worker 30*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 31*cda5da8dSAndroid Build Coastguard Worker #include <sys/resource.h> 32*cda5da8dSAndroid Build Coastguard Worker pid_t wait3 (int *, int, struct rusage *); 33*cda5da8dSAndroid Build Coastguard Worker pid_t wait4 (pid_t, int *, int, struct rusage *); 34*cda5da8dSAndroid Build Coastguard Worker #endif 35*cda5da8dSAndroid Build Coastguard Worker 36*cda5da8dSAndroid Build Coastguard Worker #define WNOHANG 1 37*cda5da8dSAndroid Build Coastguard Worker #define WUNTRACED 2 38*cda5da8dSAndroid Build Coastguard Worker 39*cda5da8dSAndroid Build Coastguard Worker #define WSTOPPED 2 40*cda5da8dSAndroid Build Coastguard Worker #define WEXITED 4 41*cda5da8dSAndroid Build Coastguard Worker #define WCONTINUED 8 42*cda5da8dSAndroid Build Coastguard Worker #define WNOWAIT 0x1000000 43*cda5da8dSAndroid Build Coastguard Worker 44*cda5da8dSAndroid Build Coastguard Worker #define __WNOTHREAD 0x20000000 45*cda5da8dSAndroid Build Coastguard Worker #define __WALL 0x40000000 46*cda5da8dSAndroid Build Coastguard Worker #define __WCLONE 0x80000000 47*cda5da8dSAndroid Build Coastguard Worker 48*cda5da8dSAndroid Build Coastguard Worker #define WEXITSTATUS(s) (((s) & 0xff00) >> 8) 49*cda5da8dSAndroid Build Coastguard Worker #define WTERMSIG(s) ((s) & 0x7f) 50*cda5da8dSAndroid Build Coastguard Worker #define WSTOPSIG(s) WEXITSTATUS(s) 51*cda5da8dSAndroid Build Coastguard Worker #define WCOREDUMP(s) ((s) & 0x80) 52*cda5da8dSAndroid Build Coastguard Worker #define WIFEXITED(s) (!WTERMSIG(s)) 53*cda5da8dSAndroid Build Coastguard Worker #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001U)>>8) > 0x7f00) 54*cda5da8dSAndroid Build Coastguard Worker #define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) 55*cda5da8dSAndroid Build Coastguard Worker #define WIFCONTINUED(s) ((s) == 0xffff) 56*cda5da8dSAndroid Build Coastguard Worker 57*cda5da8dSAndroid Build Coastguard Worker #if _REDIR_TIME64 58*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 59*cda5da8dSAndroid Build Coastguard Worker __REDIR(wait3, __wait3_time64); 60*cda5da8dSAndroid Build Coastguard Worker __REDIR(wait4, __wait4_time64); 61*cda5da8dSAndroid Build Coastguard Worker #endif 62*cda5da8dSAndroid Build Coastguard Worker #endif 63*cda5da8dSAndroid Build Coastguard Worker 64*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 65*cda5da8dSAndroid Build Coastguard Worker } 66*cda5da8dSAndroid Build Coastguard Worker #endif 67*cda5da8dSAndroid Build Coastguard Worker #endif 68