xref: /openbsd/gnu/usr.bin/binutils/gdb/vx-share/wait.h (revision 63addd46)
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