158218Selan #ifndef __libgxx_sys_wait_h 258218Selan 358218Selan #include <_G_config.h> 458218Selan 558218Selan extern "C" { 658218Selan #ifdef __sys_wait_h_recursive 758218Selan #include_next <sys/wait.h> 858218Selan #else 958218Selan #define __sys_wait_h_recursive 1058218Selan 1158218Selan 1258218Selan #if _G_HAVE_SYS_WAIT 1358218Selan #ifdef VMS 1458218Selan #include "GNU_CC_INCLUDE:[sys]wait.h" 1558218Selan #else 1658218Selan #include_next <sys/wait.h> 1758218Selan #endif 1858218Selan #else /* !_G_HAVE_SYS_WAIT */ 1958218Selan /* Traditional definitions. */ 2058218Selan #define WEXITSTATUS(status) (((x) >> 8) & 0xFF) 2158218Selan #define WIFSTOPPED(x) (((x) & 0xFF) == 0177) 2258218Selan #define WIFEXITED(x) (! WIFSTOPPED(x) && WTERMSIG(x) == 0) 2358218Selan #define WIFSIGNALED(x) (! WIFSTOPPED(x) && WTERMSIG(x) != 0) 2458218Selan #define WTERMSIG(status) ((x) & 0x7F) 2558218Selan #define WSTOPSIG(status) (((x) >> 8) & 0xFF) 2658218Selan #endif /* !_G_HAVE_SYS_WAIT */ 2758218Selan 2858218Selan #define __libgxx_sys_wait_h 1 2958218Selan 3058218Selan struct rusage; 31*67663Sbostic extern pid_t wait _G_ARGS((int*)); 32*67663Sbostic extern pid_t waitpid _G_ARGS((pid_t, int*, int)); 33*67663Sbostic extern pid_t wait3 _G_ARGS((int*, int options, struct rusage*)); 34*67663Sbostic extern pid_t wait4 _G_ARGS((pid_t, int*, int, struct rusage*)); 3558218Selan #endif 3658218Selan } 3758218Selan 3858218Selan #endif 39