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