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

#ifndef __TDF_XPG3_SYS_SEM_H
#define __TDF_XPG3_SYS_SEM_H

#ifdef __cplusplus
extern "C" {
#endif

#pragma TenDRA declaration block api__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 */
#ifndef __TDF_XPG3_SYS_SEM_H_SEM_PROTO
#pragma extend interface "../../shared/xpg3.api/sem_prot.h"
#endif /* __TDF_XPG3_SYS_SEM_H_SEM_PROTO */
#pragma token UNION TAG semun # xpg3.sem.semun
#pragma token MEMBER int : union semun : val # xpg3.sem.semun.val
#pragma token MEMBER struct semid_ds * : union semun : buf # xpg3.sem.semun.buf
#pragma token MEMBER unsigned short * : union semun : array # xpg3.sem.semun.array
#ifndef __BUILDING_LIBS
#pragma token FUNC int (int, int, int, union semun) : semctl # xpg3.sem.semctl
#else /* __BUILDING_LIBS */
#ifndef __semun_defined
#pragma token FUNC int (int, int, int, union semun) : __old_semctl # xpg3.sem.semctl
#else /* __semun_defined */
#pragma token FUNC int (int, int, int, union semun) : semctl # xpg3.sem.semctl
#endif /* __semun_defined */
#endif /* __BUILDING_LIBS */
#pragma token FUNC int (int, struct sembuf *, unsigned int) : semop # xpg3.sem.semop

#pragma interface TAG semun TAG semun.val TAG semun.buf TAG semun.array
#ifndef __BUILDING_LIBS
#pragma interface semctl
#else /* __BUILDING_LIBS */
#ifndef __semun_defined
#pragma interface __old_semctl
#else /* __semun_defined */
#pragma interface semctl
#endif /* __semun_defined */
#endif /* __BUILDING_LIBS */
#pragma interface semop

#pragma TenDRA declaration block end

#ifdef __cplusplus
}
#endif

#endif /* __TDF_XPG3_SYS_SEM_H */
