source: trunk/third/tcsh/mi.wait.h @ 9006

Revision 9006, 1.4 KB checked in by ghudson, 28 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r9005, which included commits to RCS files with non-trunk default branches.
Line 
1/* The <sys/wait.h> header contains macros related to wait(). The value
2 * returned by wait() and waitpid() depends on whether the process
3 * terminated by an exit() call, was killed by a signal, or was stopped
4 * due to job control, as follows:
5 *
6 *                               High byte   Low byte
7 *                              +---------------------+
8 *      exit(status)            |  status  |    0     |
9 *                              +---------------------+
10 *      killed by signal        |    0     |  signal  |
11 *                              +---------------------+
12 *      stopped (job control)   |  signal  |   0177   |
13 *                              +---------------------+
14 */
15
16#ifndef _WAIT_H
17#define _WAIT_H
18
19#ifndef _TYPES_H                /* not quite right */
20#include <sys/types.h>
21#endif
22
23#define __LOW(v)        ((v) & 0377)
24#define __HIGH(v)       (((v) >> 8) & 0377)
25
26#define WNOHANG         1       /* do not wait for child to exit */
27#define WUNTRACED       2       /* for job control; not implemented */
28
29#define WIFEXITED(s)    (__LOW(s) == 0)             /* normal exit */
30#define WEXITSTATUS(s)  (__HIGH(s))                         /* exit status */
31#define WTERMSIG(s)     (__LOW(s) & 0177)                   /* sig value */
32#define WIFSIGNALED(s)  ((((unsigned int)(s)-1) & 0xFFFF) < 0xFF) /* signaled */
33#define WIFSTOPPED(s)   (__LOW(s) == 0177)                  /* stopped */
34#define WSTOPSIG(s)     (__HIGH(s) & 0377)                  /* stop signal */
35
36/* Function Prototypes. */
37#ifndef _ANSI_H
38#include <ansi.h>
39#endif
40
41_PROTOTYPE( pid_t wait, (int *_stat_loc)                                   );
42_PROTOTYPE( pid_t waitpid, (pid_t _pid, int *_stat_loc, int _options)      );
43
44#endif /* _WAIT_H */
Note: See TracBrowser for help on using the repository browser.