#pragma once #ifdef __cplusplus extern "C" { #endif #include <features.h> #define __NEED_sem_t #define __NEED_time_t #define __NEED_struct_timespec #include <bits/alltypes.h> #include <fcntl.h> #define SEM_FAILED ((sem_t*)0) int sem_close(sem_t*); int sem_destroy(sem_t*); int sem_getvalue(sem_t* __restrict, int* __restrict); int sem_init(sem_t*, int, unsigned); sem_t* sem_open(const char*, int, ...); int sem_post(sem_t*); int sem_timedwait(sem_t* __restrict, const struct timespec* __restrict); int sem_trywait(sem_t*); int sem_unlink(const char*); int sem_wait(sem_t*); #ifdef __cplusplus } #endif