1: /*
   2:  * Copyright (c) 1982, 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)wait.h	7.1 (Berkeley) 6/4/86
   7:  */
   8: 
   9: /*
  10:  * This file holds definitions relevent to the wait system call.
  11:  * Some of the options here are available only through the ``wait3''
  12:  * entry point; the old entry point with one argument has more fixed
  13:  * semantics, never returning status of unstopped children, hanging until
  14:  * a process terminates if any are outstanding, and never returns
  15:  * detailed information about process resource utilization (<vtimes.h>).
  16:  */
  17: 
  18: /*
  19:  * Structure of the information in the first word returned by both
  20:  * wait and wait3.  If w_stopval==WSTOPPED, then the second structure
  21:  * describes the information returned, else the first.  See WUNTRACED below.
  22:  */
  23: union wait  {
  24:     int w_status;       /* used in syscall */
  25:     /*
  26: 	 * Terminated process status.
  27: 	 */
  28:     struct {
  29:         unsigned short  w_Termsig:7;    /* termination signal */
  30:         unsigned short  w_Coredump:1;   /* core dump indicator */
  31:         unsigned short  w_Retcode:8;    /* exit code if w_termsig==0 */
  32:     } w_T;
  33:     /*
  34: 	 * Stopped process status.  Returned
  35: 	 * only for traced children unless requested
  36: 	 * with the WUNTRACED option bit.
  37: 	 */
  38:     struct {
  39:         unsigned short  w_Stopval:8;    /* == W_STOPPED if stopped */
  40:         unsigned short  w_Stopsig:8;    /* signal that stopped us */
  41:     } w_S;
  42: };
  43: #define w_termsig   w_T.w_Termsig
  44: #define w_coredump  w_T.w_Coredump
  45: #define w_retcode   w_T.w_Retcode
  46: #define w_stopval   w_S.w_Stopval
  47: #define w_stopsig   w_S.w_Stopsig
  48: 
  49: 
  50: #define WSTOPPED    0177    /* value of s.stopval if process is stopped */
  51: 
  52: /*
  53:  * Option bits for the second argument of wait3.  WNOHANG causes the
  54:  * wait to not hang if there are no stopped or terminated processes, rather
  55:  * returning an error indication in this case (pid==0).  WUNTRACED
  56:  * indicates that the caller should receive status about untraced children
  57:  * which stop due to signals.  If children are stopped and a wait without
  58:  * this option is done, it is as though they were still running... nothing
  59:  * about them is returned.
  60:  */
  61: #define WNOHANG     1   /* dont hang in wait */
  62: #define WUNTRACED   2   /* tell about stopped, untraced children */
  63: 
  64: #define WIFSTOPPED(x)   ((x).w_stopval == WSTOPPED)
  65: #define WIFSIGNALED(x)  ((x).w_stopval != WSTOPPED && (x).w_termsig != 0)
  66: #define WIFEXITED(x)    ((x).w_stopval != WSTOPPED && (x).w_termsig == 0)

Defined union's

wait defined in line 23; never used

Defined macros

WIFEXITED defined in line 66; never used
WIFSIGNALED defined in line 65; never used
WIFSTOPPED defined in line 64; never used
WNOHANG defined in line 61; used 1 times
WSTOPPED defined in line 50; used 4 times
WUNTRACED defined in line 62; used 1 times
w_coredump defined in line 44; never used
w_retcode defined in line 45; never used
w_stopsig defined in line 47; never used
w_stopval defined in line 46; used 3 times
w_termsig defined in line 43; used 2 times

Usage of this include

Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 651
Valid CSS Valid XHTML 1.0 Strict