1e93f7393Sniklas /* wait.h - header file for remote wait call */ 2e93f7393Sniklas 3e93f7393Sniklas /* Copyright 1992 Free Software Foundation, Inc. 4e93f7393Sniklas 5e93f7393Sniklas This code was donated by Wind River Systems, Inc. */ 6e93f7393Sniklas 7e93f7393Sniklas /* 8e93f7393Sniklas modification history 9e93f7393Sniklas -------------------- 10e93f7393Sniklas 01a,05jun90,llk borrowed. 11e93f7393Sniklas */ 12e93f7393Sniklas 13*63addd46Skettenis /* Define how to access the structure that the wait system call 14*63addd46Skettenis stores. On many systems, there is a structure defined for 15*63addd46Skettenis this. */ 16e93f7393Sniklas 17e93f7393Sniklas #ifndef HAVE_WAIT_STRUCT 18e93f7393Sniklas #define WAITTYPE int 19e93f7393Sniklas #define WIFSTOPPED(w) (((w)&0377) == 0177) 20e93f7393Sniklas #define WIFSIGNALED(w) (((w)&0377) != 0177 && ((w)&~0377) == 0) 21e93f7393Sniklas #define WIFEXITED(w) (((w)&0377) == 0) 22e93f7393Sniklas #define WRETCODE(w) ((w) >> 8) 23e93f7393Sniklas #define WSTOPSIG(w) ((w) >> 8) 24e93f7393Sniklas #define WCOREDUMP(w) (((w)&0200) != 0) 25e93f7393Sniklas #define WTERMSIG(w) ((w) & 0177) 26e93f7393Sniklas #define WSETEXIT(w, status) ((w) = (status)) 27e93f7393Sniklas #define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8))) 28e93f7393Sniklas #else 29e93f7393Sniklas #if FALSE 30e93f7393Sniklas #ifndef ORIG 31e93f7393Sniklas 32e93f7393Sniklas /* don't include sys/wait.h */ 33e93f7393Sniklas 34e93f7393Sniklas #else ORIG 35e93f7393Sniklas #include <sys/wait.h> 36e93f7393Sniklas #endif ORIG 37e93f7393Sniklas #endif FALSE 38e93f7393Sniklas #define WAITTYPE union wait 39e93f7393Sniklas #define WRETCODE(w) (w).w_retcode 40e93f7393Sniklas #define WSTOPSIG(w) (w).w_stopsig 41e93f7393Sniklas #define WCOREDUMP(w) (w).w_coredump 42e93f7393Sniklas #define WTERMSIG(w) (w).w_termsig 43e93f7393Sniklas #define WSETEXIT(w, status) ((w).w_status = (status)) 44e93f7393Sniklas #define WSETSTOP(w,sig) \ 45e93f7393Sniklas ((w).w_stopsig = (sig), (w).w_coredump = 0, (w).w_termsig = 0177) 46e93f7393Sniklas #endif 47