1*c9945492SAndroid Build Coastguard Worker #ifndef _SEMAPHORE_H 2*c9945492SAndroid Build Coastguard Worker #define _SEMAPHORE_H 3*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus 4*c9945492SAndroid Build Coastguard Worker extern "C" { 5*c9945492SAndroid Build Coastguard Worker #endif 6*c9945492SAndroid Build Coastguard Worker 7*c9945492SAndroid Build Coastguard Worker #include <features.h> 8*c9945492SAndroid Build Coastguard Worker 9*c9945492SAndroid Build Coastguard Worker #define __NEED_time_t 10*c9945492SAndroid Build Coastguard Worker #define __NEED_struct_timespec 11*c9945492SAndroid Build Coastguard Worker #include <bits/alltypes.h> 12*c9945492SAndroid Build Coastguard Worker 13*c9945492SAndroid Build Coastguard Worker #include <fcntl.h> 14*c9945492SAndroid Build Coastguard Worker 15*c9945492SAndroid Build Coastguard Worker #define SEM_FAILED ((sem_t *)0) 16*c9945492SAndroid Build Coastguard Worker 17*c9945492SAndroid Build Coastguard Worker typedef struct { 18*c9945492SAndroid Build Coastguard Worker volatile int __val[4*sizeof(long)/sizeof(int)]; 19*c9945492SAndroid Build Coastguard Worker } sem_t; 20*c9945492SAndroid Build Coastguard Worker 21*c9945492SAndroid Build Coastguard Worker int sem_close(sem_t *); 22*c9945492SAndroid Build Coastguard Worker int sem_destroy(sem_t *); 23*c9945492SAndroid Build Coastguard Worker int sem_getvalue(sem_t *__restrict, int *__restrict); 24*c9945492SAndroid Build Coastguard Worker int sem_init(sem_t *, int, unsigned); 25*c9945492SAndroid Build Coastguard Worker sem_t *sem_open(const char *, int, ...); 26*c9945492SAndroid Build Coastguard Worker int sem_post(sem_t *); 27*c9945492SAndroid Build Coastguard Worker int sem_timedwait(sem_t *__restrict, const struct timespec *__restrict); 28*c9945492SAndroid Build Coastguard Worker int sem_trywait(sem_t *); 29*c9945492SAndroid Build Coastguard Worker int sem_unlink(const char *); 30*c9945492SAndroid Build Coastguard Worker int sem_wait(sem_t *); 31*c9945492SAndroid Build Coastguard Worker 32*c9945492SAndroid Build Coastguard Worker #if _REDIR_TIME64 33*c9945492SAndroid Build Coastguard Worker __REDIR(sem_timedwait, __sem_timedwait_time64); 34*c9945492SAndroid Build Coastguard Worker #endif 35*c9945492SAndroid Build Coastguard Worker 36*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus 37*c9945492SAndroid Build Coastguard Worker } 38*c9945492SAndroid Build Coastguard Worker #endif 39*c9945492SAndroid Build Coastguard Worker #endif 40