/*
    AUTOMATICALLY GENERATED BY tspec 2.10
    API SUBSET: unix95:sys/wait.h (VERSION 2.7)
*/

#ifndef __TDF_UNIX95_SYS_WAIT_H
#define __TDF_UNIX95_SYS_WAIT_H

#ifdef __cplusplus
extern "C" {
#endif

#pragma TenDRA declaration block api__unix95__sys_wait begin

#ifndef __TDF_XPG4_SYS_WAIT_H
#pragma extend interface "../../xpg4.api/sys/wait.h"
#endif /* __TDF_XPG4_SYS_WAIT_H */
#ifndef __TDF_UNIX95_SYS_TYPES_H_ID_T
#pragma extend interface "../../shared/unix95.api/id_t.h"
#endif /* __TDF_UNIX95_SYS_TYPES_H_ID_T */
#ifndef __TDF_UNIX95_SIGNAL_H_SIGINFO_T
#pragma extend interface "../../shared/unix95.api/siginfo_.h"
#endif /* __TDF_UNIX95_SIGNAL_H_SIGINFO_T */
#ifndef __TDF_POSIX_SYS_TYPES_H_PID_T
#pragma extend interface "../../shared/posix.api/pid_t.h"
#endif /* __TDF_POSIX_SYS_TYPES_H_PID_T */
#ifndef __TDF_UNIX95_SYS_RESOURCE_H_RUSAGE
#pragma extend interface "../../shared/unix95.api/rusage.h"
#endif /* __TDF_UNIX95_SYS_RESOURCE_H_RUSAGE */
#ifndef __BUILDING_LIBS
typedef enum {
    P_ALL,
    P_PID,
    P_PGID
} idtype_t;
#else /* __BUILDING_LIBS */
#pragma token VARIETY idtype_t # unix95.wait.idtype_t
#pragma promote idtype_t : idtype_t
#pragma interface idtype_t
#endif /* __BUILDING_LIBS */
#pragma token FUNC int (idtype_t, id_t, siginfo_t *, int) : waitid # unix95.wait.waitid
#pragma token FUNC pid_t (int *, int, struct rusage *) : wait3 # unix95.wait.wait3
#pragma token EXP const : int : WEXITED # unix95.wait.WEXITED
#pragma token EXP const : int : WSTOPPED # unix95.wait.WSTOPPED
#pragma token EXP const : int : WNOWAIT # unix95.wait.WNOWAIT
#pragma token EXP const : int : WCONTINUED # unix95.wait.WCONTINUED
#pragma token PROC (EXP lvalue : int : ) EXP rvalue : int : WIFCONTINUED # unix95.wait.WIFCONTINUED

#pragma interface waitid wait3 WEXITED WSTOPPED WNOWAIT WCONTINUED
#pragma interface WIFCONTINUED

#pragma TenDRA declaration block end

#ifdef __cplusplus
}
#endif

#endif /* __TDF_UNIX95_SYS_WAIT_H */
