| #include <bits/alltypes.h> |
| pid_t waitpid (pid_t, int *, int ); |
| #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
| || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
| int waitid (idtype_t, id_t, siginfo_t *, int); |
| #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| #include <sys/resource.h> |
| pid_t wait3 (int *, int, struct rusage *); |
| pid_t wait4 (pid_t, int *, int, struct rusage *); |
| #define WNOWAIT 0x1000000 |
| #define __WNOTHREAD 0x20000000 |
| #define __WALL 0x40000000 |
| #define __WCLONE 0x80000000 |
| #define WEXITSTATUS(s) (((s) & 0xff00) >> 8) |
| #define WTERMSIG(s) ((s) & 0x7f) |
| #define WSTOPSIG(s) WEXITSTATUS(s) |
| #define WCOREDUMP(s) ((s) & 0x80) |
| #define WIFEXITED(s) (!WTERMSIG(s)) |
| #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00) |
| #define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) |
| #define WIFCONTINUED(s) ((s) == 0xffff) |