Line data Source code
1 0 : /* 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 <zephyr/posix/posix_types.h> 11 : 12 : #ifdef __cplusplus 13 : extern "C" { 14 : #endif 15 : 16 0 : #define SEM_FAILED ((sem_t *) 0) 17 : 18 0 : int sem_destroy(sem_t *semaphore); 19 0 : int sem_getvalue(sem_t *ZRESTRICT semaphore, int *ZRESTRICT value); 20 0 : int sem_init(sem_t *semaphore, int pshared, unsigned int value); 21 0 : int sem_post(sem_t *semaphore); 22 0 : int sem_timedwait(sem_t *ZRESTRICT semaphore, struct timespec *ZRESTRICT abstime); 23 0 : int sem_trywait(sem_t *semaphore); 24 0 : int sem_wait(sem_t *semaphore); 25 0 : sem_t *sem_open(const char *name, int oflags, ...); 26 0 : int sem_unlink(const char *name); 27 0 : int sem_close(sem_t *sem); 28 : 29 : #ifdef __cplusplus 30 : } 31 : #endif 32 : 33 : #endif /* ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ */