|
|
1.1 ! root 1: /* ! 2: * $Id: uwait.h,v 5.2 90/06/23 22:20:31 jsp Rel $ ! 3: * ! 4: * Copyright (c) 1989 Jan-Simon Pendry ! 5: * Copyright (c) 1989 Imperial College of Science, Technology & Medicine ! 6: * Copyright (c) 1989 The Regents of the University of California. ! 7: * All rights reserved. ! 8: * ! 9: * This code is derived from software contributed to Berkeley by ! 10: * Jan-Simon Pendry at Imperial College, London. ! 11: * ! 12: * Redistribution and use in source and binary forms are permitted provided ! 13: * that: (1) source distributions retain this entire copyright notice and ! 14: * comment, and (2) distributions including binaries display the following ! 15: * acknowledgement: ``This product includes software developed by the ! 16: * University of California, Berkeley and its contributors'' in the ! 17: * documentation or other materials provided with the distribution and in ! 18: * all advertising materials mentioning features or use of this software. ! 19: * Neither the name of the University nor the names of its contributors may ! 20: * be used to endorse or promote products derived from this software without ! 21: * specific prior written permission. ! 22: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 23: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 24: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 25: * ! 26: * @(#)uwait.h 5.1 (Berkeley) 7/19/90 ! 27: */ ! 28: ! 29: #if defined(mc68k) || defined(mc68000) || defined(mc68020) || defined(sparc) || defined(hp9000s300) ! 30: #define BITS_BIGENDIAN ! 31: #endif ! 32: #if defined(vax) || defined(i386) ! 33: #define BITS_LITTLENDIAN ! 34: #endif ! 35: #if !defined BITS_BIGENDIAN && !defined BITS_LITTLENDIAN ! 36: #error Do not know my byte ordering ! 37: #endif ! 38: ! 39: /* ! 40: * Structure of the information in the first word returned by both ! 41: * wait and wait3. If w_stopval==WSTOPPED, then the second structure ! 42: * describes the information returned, else the first. See WUNTRACED below. ! 43: */ ! 44: union wait { ! 45: int w_status; /* used in syscall */ ! 46: /* ! 47: * Terminated process status. ! 48: */ ! 49: struct { ! 50: #ifdef BITS_LITTLENDIAN ! 51: unsigned short w_Termsig:7; /* termination signal */ ! 52: unsigned short w_Coredump:1; /* core dump indicator */ ! 53: unsigned short w_Retcode:8; /* exit code if w_termsig==0 */ ! 54: #endif ! 55: #ifdef BITS_BIGENDIAN ! 56: unsigned short w_Fill1:16; /* high 16 bits unused */ ! 57: unsigned short w_Retcode:8; /* exit code if w_termsig==0 */ ! 58: unsigned short w_Coredump:1; /* core dump indicator */ ! 59: unsigned short w_Termsig:7; /* termination signal */ ! 60: #endif ! 61: } w_U; ! 62: }; ! 63: #define w_termsig w_U.w_Termsig ! 64: #define w_coredump w_U.w_Coredump ! 65: #define w_retcode w_U.w_Retcode ! 66: ! 67: #define WIFSIGNALED(x) ((x).w_termsig != 0) ! 68: #define WIFEXITED(x) ((x).w_termsig == 0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.