#ifndef COSMOPOLITAN_LIBC_THREAD_NATIVESEM_H_ #define COSMOPOLITAN_LIBC_THREAD_NATIVESEM_H_ #include "libc/calls/struct/timespec.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ /** * @fileoverview native semaphore for implementation details */ typedef union cthread_sem_t { struct { uint64_t count; } linux; } cthread_sem_t; int cthread_sem_init(cthread_sem_t *, int); int cthread_sem_destroy(cthread_sem_t *); int cthread_sem_wait(cthread_sem_t *, int, const struct timespec *); int cthread_sem_signal(cthread_sem_t *); COSMOPOLITAN_C_END_ #endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ #endif /* COSMOPOLITAN_LIBC_THREAD_SELF_H_ */