diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2013-08-04 00:32:45 +0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-09-13 10:07:02 -0700 |
commit | 5c6e1633d218bd5b9c5077634829eb14d326308f (patch) | |
tree | 50a4fd55b51a0fab6506addf610a666afabaec9b /system/include/libc/sys/wait.h | |
parent | 27d496610e0ef93c9805a6a1a77de3f053405c6b (diff) |
Update libc headers to use musl headers.
Diffstat (limited to 'system/include/libc/sys/wait.h')
-rw-r--r-- | system/include/libc/sys/wait.h | 67 |
1 files changed, 41 insertions, 26 deletions
diff --git a/system/include/libc/sys/wait.h b/system/include/libc/sys/wait.h index 0e4a3394..b6dfe01d 100644 --- a/system/include/libc/sys/wait.h +++ b/system/include/libc/sys/wait.h @@ -1,40 +1,55 @@ -#ifndef _SYS_WAIT_H -#define _SYS_WAIT_H - +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H #ifdef __cplusplus extern "C" { #endif -#include <sys/types.h> +#include <features.h> -#define WNOHANG 1 -#define WUNTRACED 2 +#include <signal.h> -/* A status looks like: - <2 bytes info> <2 bytes code> +#define __NEED_pid_t +#define __NEED_id_t +#include <bits/alltypes.h> - <code> == 0, child has exited, info is the exit value - <code> == 1..7e, child has exited, info is the signal number. - <code> == 7f, child has stopped, info was the signal number. - <code> == 80, there was a core dump. -*/ - -#define WIFEXITED(w) (((w) & 0xff) == 0) -#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f)) -#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f) -#define WEXITSTATUS(w) (((w) >> 8) & 0xff) -#define WTERMSIG(w) ((w) & 0x7f) -#define WSTOPSIG WEXITSTATUS +typedef enum { + P_ALL = 0, + P_PID = 1, + P_PGID = 2 +} idtype_t; pid_t wait (int *); -pid_t waitpid (pid_t, int *, int); +int waitid (idtype_t, id_t, siginfo_t *, int); +pid_t waitpid (pid_t, int *, 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 *); +#endif + +#define WNOHANG 1 +#define WUNTRACED 2 -/* Provide prototypes for most of the _<systemcall> names that are - provided in newlib for some compilers. */ -pid_t _wait (int *); +#define WSTOPPED 2 +#define WEXITED 4 +#define WCONTINUED 8 +#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) (((s) & 0xff) == 0x7f) +#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0) +#define WIFCONTINUED(s) ((s) == 0xffff) #ifdef __cplusplus -}; +} #endif - #endif |