/*
    AUTOMATICALLY GENERATED BY tspec 2.10
    API SUBSET: xpg3:sys/sem.h:sem_proto
*/

#ifndef __TDF_XPG3_SYS_SEM_H_SEM_PROTO
#define __TDF_XPG3_SYS_SEM_H_SEM_PROTO

#ifdef __cplusplus
extern "C" {
#endif

#pragma TenDRA declaration block subset__xpg3__sys_sem begin

#ifndef __TDF_XPG3_SYS_TYPES_H
#pragma extend interface "../../xpg3.api/sys/types.h"
#endif /* __TDF_XPG3_SYS_TYPES_H */
#ifndef __TDF_XPG3_SYS_IPC_H
#pragma extend interface "../../xpg3.api/sys/ipc.h"
#endif /* __TDF_XPG3_SYS_IPC_H */
#pragma token EXP const : short : SEM_UNDO # xpg3.sem.SEM_UNDO
#pragma token EXP const : int : GETNCNT # xpg3.sem.GETNCNT
#pragma token EXP const : int : GETPID # xpg3.sem.GETPID
#pragma token EXP const : int : GETVAL # xpg3.sem.GETVAL
#pragma token EXP const : int : GETALL # xpg3.sem.GETALL
#pragma token EXP const : int : GETZCNT # xpg3.sem.GETZCNT
#pragma token EXP const : int : SETVAL # xpg3.sem.SETVAL
#pragma token EXP const : int : SETALL # xpg3.sem.SETALL
#pragma token STRUCT TAG semid_ds # xpg3.sem.semid_ds
#pragma token MEMBER struct ipc_perm : struct semid_ds : sem_perm # xpg3.sem.semid_ds.sem_perm
#pragma token MEMBER unsigned short : struct semid_ds : sem_nsems # xpg3.sem.semid_ds.sem_nsems
#pragma token MEMBER time_t : struct semid_ds : sem_otime # xpg3.sem.semid_ds.sem_otime
#pragma token MEMBER time_t : struct semid_ds : sem_ctime # xpg3.sem.semid_ds.sem_ctime
#if 0
#pragma token STRUCT TAG __local_unnamed # xpg3.sem.__local_unnamed
#pragma token MEMBER unsigned short : struct __local_unnamed : semval # xpg3.sem.__local_unnamed.semval
#pragma token MEMBER pid_t : struct __local_unnamed : sempid # xpg3.sem.__local_unnamed.sempid
#pragma token MEMBER unsigned short : struct __local_unnamed : semncnt # xpg3.sem.__local_unnamed.semncnt
#pragma token MEMBER unsigned short : struct __local_unnamed : semzcnt # xpg3.sem.__local_unnamed.semzcnt
#endif /* 0 */
#pragma token STRUCT TAG sembuf # xpg3.sem.sembuf
#pragma token MEMBER unsigned short : struct sembuf : sem_num # xpg3.sem.sembuf.sem_num
#pragma token MEMBER short : struct sembuf : sem_op # xpg3.sem.sembuf.sem_op
#pragma token MEMBER short : struct sembuf : sem_flg # xpg3.sem.sembuf.sem_flg
#pragma token FUNC int (key_t, int, int) : semget # xpg3.sem.semget

#pragma interface SEM_UNDO GETNCNT GETPID GETVAL GETALL GETZCNT SETVAL
#pragma interface SETALL TAG semid_ds TAG semid_ds.sem_perm
#pragma interface TAG semid_ds.sem_nsems TAG semid_ds.sem_otime
#pragma interface TAG semid_ds.sem_ctime
#if 0
#pragma interface TAG __local_unnamed TAG __local_unnamed.semval
#pragma interface TAG __local_unnamed.sempid TAG __local_unnamed.semncnt
#pragma interface TAG __local_unnamed.semzcnt
#endif /* 0 */
#pragma interface TAG sembuf TAG sembuf.sem_num TAG sembuf.sem_op
#pragma interface TAG sembuf.sem_flg semget

#pragma TenDRA declaration block end

#ifdef __cplusplus
}
#endif

#endif /* __TDF_XPG3_SYS_SEM_H_SEM_PROTO */
