* sim-base.h (sim_state_base): Move `magic' to end of struct.
[deliverable/binutils-gdb.git] / include / wait.h
CommitLineData
bad3df67
JG
1/* Define how to access the int that the wait system call stores.
2 This has been compatible in all Unix systems since time immemorial,
3 but various well-meaning people have defined various different
4 words for the same old bits in the same old int (sometimes claimed
5 to be a struct). We just know it's an int and we use these macros
6 to access the bits. */
b37af01c 7
bad3df67
JG
8/* The following macros are defined equivalently to their definitions
9 in POSIX.1. We fail to define WNOHANG and WUNTRACED, which POSIX.1
10 <sys/wait.h> defines, since our code does not use waitpid(). We
11 also fail to declare wait() and waitpid(). */
b37af01c 12
29a766d2 13#ifndef WIFEXITED
bad3df67 14#define WIFEXITED(w) (((w)&0377) == 0)
29a766d2
MM
15#endif
16
17#ifndef WIFSIGNALED
bad3df67 18#define WIFSIGNALED(w) (((w)&0377) != 0177 && ((w)&~0377) == 0)
29a766d2
MM
19#endif
20
21#ifndef WIFSTOPPED
93bd5493
PB
22#ifdef IBM6000
23
24/* Unfortunately, the above comment (about being compatible in all Unix
25 systems) is not quite correct for AIX, sigh. And AIX 3.2 can generate
26 status words like 0x57c (sigtrap received after load), and gdb would
27 choke on it. */
28
29#define WIFSTOPPED(w) ((w)&0x40)
30
31#else
bad3df67 32#define WIFSTOPPED(w) (((w)&0377) == 0177)
93bd5493 33#endif
29a766d2 34#endif
bad3df67 35
29a766d2 36#ifndef WEXITSTATUS
d93e0582 37#define WEXITSTATUS(w) (((w) >> 8) & 0377) /* same as WRETCODE */
29a766d2
MM
38#endif
39
40#ifndef WTERMSIG
bad3df67 41#define WTERMSIG(w) ((w) & 0177)
29a766d2
MM
42#endif
43
44#ifndef WSTOPSIG
d93e0582 45#define WSTOPSIG WEXITSTATUS
29a766d2 46#endif
bad3df67
JG
47
48/* These are not defined in POSIX, but are used by our programs. */
49
50#define WAITTYPE int
51
29a766d2 52#ifndef WCOREDUMP
bad3df67 53#define WCOREDUMP(w) (((w)&0200) != 0)
29a766d2
MM
54#endif
55
56#ifndef WSETEXIT
bad3df67 57#define WSETEXIT(w,status) ((w) = (0 | ((status) << 8)))
29a766d2
MM
58#endif
59
60#ifndef WSETSTOP
bad3df67 61#define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8)))
29a766d2
MM
62#endif
63
This page took 0.195833 seconds and 4 git commands to generate.