94 lines
2.2 KiB
C
94 lines
2.2 KiB
C
|
#ifndef h_wait
|
||
|
#define h_wait
|
||
|
/******************************************************************************
|
||
|
*
|
||
|
* wait.h - included for wait3()
|
||
|
*
|
||
|
* Module %M% Version %I% Date %H%
|
||
|
*
|
||
|
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
|
||
|
* This is unpublished proprietary source code of Ardent Software Inc.
|
||
|
* The copyright notice above does not evidence any actual or intented
|
||
|
* publication of such source code.
|
||
|
*
|
||
|
*******************************************************************************
|
||
|
*
|
||
|
* Maintenence log - insert most recent change descriptions at top
|
||
|
*
|
||
|
* Date.... GTAR# WHO Description.........................................
|
||
|
* 10/14/98 23801 SAP Change copyrights.
|
||
|
* 07/20/97 20050 SAP Define union wait on platforms needing it.
|
||
|
* 07/11/97 20055 SAP Remove last change.
|
||
|
* 07/10/97 20055 SAP Fix solaris build hang.
|
||
|
* 06/30/97 20055 SAP Needed to undef WIF... variables.
|
||
|
* 07/25/88 - - Maintenence log purged at 5.2.1, see release 5.1.10.
|
||
|
*
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#if !WAIT3st
|
||
|
union wait {
|
||
|
int w_status;
|
||
|
struct {
|
||
|
#if SWAPbyt
|
||
|
BITMAP w_Termsig:7;
|
||
|
BITMAP w_Coredump:1;
|
||
|
BITMAP w_Retcode:8;
|
||
|
BITMAP w_Filler:sizeof(int)*8-16;
|
||
|
#else
|
||
|
BITMAP w_Filler:sizeof(int)*8-16;
|
||
|
BITMAP w_Retcode:8;
|
||
|
BITMAP w_Coredump:1;
|
||
|
BITMAP w_Termsig:7;
|
||
|
#endif
|
||
|
} w_T;
|
||
|
struct {
|
||
|
#if SWAPbyt
|
||
|
BITMAP w_Stopval:8;
|
||
|
BITMAP w_Stopsig:8;
|
||
|
BITMAP w_Filler2:sizeof(int)*8-16;
|
||
|
#else
|
||
|
BITMAP w_Filler2:sizeof(int)*8-16;
|
||
|
BITMAP w_Stopsig:8;
|
||
|
BITMAP w_Stopval:8;
|
||
|
#endif
|
||
|
} w_S;
|
||
|
};
|
||
|
|
||
|
#define w_termsig w_T.w_Termsig
|
||
|
#define w_coredump w_T.w_Coredump
|
||
|
#define w_retcode w_T.w_Retcode
|
||
|
#define w_stopval w_S.w_Stopval
|
||
|
#define w_stopsig w_S.w_Stopsig
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#ifndef WSTOPPED
|
||
|
#define WSTOPPED 0177
|
||
|
#endif
|
||
|
|
||
|
#ifndef WNOHANG
|
||
|
#define WNOHANG 1
|
||
|
#endif
|
||
|
|
||
|
#ifndef WUNTRACED
|
||
|
#define WUNTRACED 2
|
||
|
#endif
|
||
|
|
||
|
#ifdef WIFSTOPPED
|
||
|
#undef WIFSTOPPED
|
||
|
#endif
|
||
|
|
||
|
#ifdef WIFSIGNALED
|
||
|
#undef WIFSIGNALED
|
||
|
#endif
|
||
|
|
||
|
#ifdef WIFEXITED
|
||
|
#undef WIFEXITED
|
||
|
#endif
|
||
|
|
||
|
#define WIFSTOPPED(x) ((x).w_stopval == WSTOPPED)
|
||
|
#define WIFSIGNALED(x) ((x).w_stopval != WSTOPPED && (x).w_termsig != 0)
|
||
|
#define WIFEXITED(x) ((x).w_stopval != WSTOPPED && (x).w_termsig == 0)
|
||
|
|
||
|
#endif /* end of wait.h */
|