sem_t
#define SEM_FAILED ((sem_t *)0)
int sem_init(sem_t *, int, unsigned int);
int sem_destroy(sem_t *);
sem_t *sem_open(const char *, int, ...);
int sem_close(sem_t *);
int sem_wait(sem_t *);
int sem_timedwait(sem_t * __restrict, const struct timespec * __restrict);
int sem_trywait(sem_t *);
int sem_post(sem_t *);
int sem_getvalue(sem_t * __restrict, int * __restrict);
int _sem_wait(sem_t, int, const struct timespec *, int *);
int _sem_post(sem_t);
sem_init(sem_t *semp, int pshared, unsigned int value)
sem_t sem;
sem_t *sempshared;
sem_destroy(sem_t *semp)
sem_t sem;
sem_getvalue(sem_t *semp, int *sval)
sem_t sem;
sem_post(sem_t *semp)
sem_t sem;
sem_wait(sem_t *semp)
sem_t sem;
sem_timedwait(sem_t *semp, const struct timespec *abstime)
sem_t sem;
sem_trywait(sem_t *semp)
sem_t sem;
sem_t *
sem_t sem, *semp;
sem_close(sem_t *semp)
sem_t sem;
_sem_wait(sem_t sem, int can_eintr, const struct timespec *abstime,
_sem_post(sem_t sem)
sem_init(sem_t *semp, int pshared, unsigned int value)
sem_t sem;
sem_t *sempshared;
sem_destroy(sem_t *semp)
sem_t sem;
sem_getvalue(sem_t *semp, int *sval)
sem_t sem;
sem_post(sem_t *semp)
sem_t sem;
sem_wait(sem_t *semp)
sem_t sem;
sem_timedwait(sem_t *semp, const struct timespec *abstime)
sem_t sem;
sem_trywait(sem_t *semp)
sem_t sem;
sem_t *
sem_t sem, *semp;
sem_close(sem_t *semp)
sem_t sem;
_sem_wait(sem_t sem, int can_eintr, const struct timespec *abstime,
_sem_post(sem_t sem)
sem_t cons_sem;
sem_t prod_sem;
sem_t sem;
sem_t *semp = arg;
sem_t sem;
sem_t sem;
sem_t sem;
sem_t *semp = arg;