44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
/* FIXME: From sys/sysvi386/sys */
|
|
#ifndef _WAIT_H
|
|
# define _WAIT_H
|
|
|
|
# define WNOHANG 1
|
|
# define WUNTRACED 2
|
|
|
|
/*
|
|
* Unlike the atrocity that BSD ended up using, we do not have a "union
|
|
* wait," although I could probably implement one. Given the code I
|
|
* sometimes end up porting, it might be a good thing. Anyway, the
|
|
* format of a stat thingy, filled in by the wait*() routines, is:
|
|
* struct {
|
|
* int filler:16;
|
|
* union {
|
|
* struct stopped {
|
|
* int signo:8;
|
|
* int o177:8; // will be 0177
|
|
* };
|
|
* struct exited {
|
|
* int retval:8;
|
|
* int zero:8; // 0, obviously 8-)
|
|
* };
|
|
* struct termed {
|
|
* int zero:8; // zeroes
|
|
* int corep:1; // was there a core file?
|
|
* int signo:7; // what?! Only 127 signals?!
|
|
* };
|
|
* int value:16;
|
|
* };
|
|
* };
|
|
*
|
|
* Braver souls than I can turn that into a union wait, if desired. Ick.
|
|
*/
|
|
|
|
# define WIFEXITED(val) ((val)&0xff)
|
|
# define WEXITSTATUS(val) (((val)>>8)&0xff)
|
|
# define WIFSIGNALED(val) ((val) && !((val)&0xff))
|
|
# define WTERMSIG(val) (((val)>>8)&0x7f)
|
|
# define WIFSTOPPED(val) (((val)&0xff)==0177)
|
|
# define WSTOPSIG(val) (((val)>>8)&0xff)
|
|
#endif /* _SYS_WAIT_H */
|
|
|