X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=inline;f=include%2Fsys%2Fwait.h;h=b6dfe01d6ff66447bdbe074b28de6a619206a182;hb=9448b0513e2eec020fbca9c10412b83df5027a16;hp=ae41a48e03caa59c7b4f320a01a19ddfe0a86a3c;hpb=f492c95401b3a6fedb3973631496ee329447b25e;p=musl diff --git a/include/sys/wait.h b/include/sys/wait.h index ae41a48e..b6dfe01d 100644 --- a/include/sys/wait.h +++ b/include/sys/wait.h @@ -4,27 +4,50 @@ extern "C" { #endif +#include + #include #define __NEED_pid_t #define __NEED_id_t -#define __NEED_siginfo_t #include -typedef int idtype_t; +typedef enum { + P_ALL = 0, + P_PID = 1, + P_PGID = 2 +} idtype_t; pid_t wait (int *); int waitid (idtype_t, id_t, siginfo_t *, int); pid_t waitpid (pid_t, int *, int ); -#ifdef _GNU_SOURCE +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #include pid_t wait3 (int *, int, struct rusage *); pid_t wait4 (pid_t, int *, int, struct rusage *); #endif -#include -#include +#define WNOHANG 1 +#define WUNTRACED 2 + +#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 }