#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <features.h>
#define __NEED_pid_t
#define __NEED_id_t
#include <bits/alltypes.h>
typedef enum { P_ALL = 0,
P_PID = 1,
P_PGID = 2 } idtype_t;
pid_t wait(int*);
pid_t waitpid(pid_t, int*, int);
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#include <signal.h>
int waitid(idtype_t, id_t, siginfo_t*, int);
#endif
#define WNOHANG 1
#define WUNTRACED 2
#define WSTOPPED 2
#define WEXITED 4
#define WCONTINUED 8
#define WNOWAIT 0x1000000
#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)
#ifdef __cplusplus
}
#endif