1 /* 2 * Copyright (c) 2018 Intel Corporation 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ 7 #define ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ 8 9 #include <zephyr/posix/time.h> 10 #include "posix_types.h" 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 #define SEM_FAILED ((sem_t *) 0) 17 18 int sem_destroy(sem_t *semaphore); 19 int sem_getvalue(sem_t *ZRESTRICT semaphore, int *ZRESTRICT value); 20 int sem_init(sem_t *semaphore, int pshared, unsigned int value); 21 int sem_post(sem_t *semaphore); 22 int sem_timedwait(sem_t *ZRESTRICT semaphore, struct timespec *ZRESTRICT abstime); 23 int sem_trywait(sem_t *semaphore); 24 int sem_wait(sem_t *semaphore); 25 sem_t *sem_open(const char *name, int oflags, ...); 26 int sem_unlink(const char *name); 27 int sem_close(sem_t *sem); 28 29 #ifdef __cplusplus 30 } 31 #endif 32 33 #endif /* ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ */ 34