tldm-universe/Ardent/UV/gcidir/include/wait.h
2024-09-09 17:51:08 -04:00

94 lines
2.2 KiB
C
Executable File

#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 */