2018-02-06 11:57:44 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2018 Intel Corporation
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
2018-09-15 01:43:44 +08:00
|
|
|
#ifndef ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_
|
|
|
|
#define ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_
|
2018-02-06 11:57:44 +08:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2018-04-06 01:11:15 +08:00
|
|
|
#include <posix/time.h>
|
2018-02-06 11:57:44 +08:00
|
|
|
#include "sys/types.h"
|
|
|
|
|
|
|
|
int sem_destroy(sem_t *semaphore);
|
2018-03-16 14:35:27 +08:00
|
|
|
int sem_getvalue(sem_t *restrict semaphore, int *restrict value);
|
2018-02-06 11:57:44 +08:00
|
|
|
int sem_init(sem_t *semaphore, int pshared, unsigned int value);
|
|
|
|
int sem_post(sem_t *semaphore);
|
2018-03-16 14:35:27 +08:00
|
|
|
int sem_timedwait(sem_t *restrict semaphore, struct timespec *restrict abstime);
|
2018-02-06 11:57:44 +08:00
|
|
|
int sem_trywait(sem_t *semaphore);
|
|
|
|
int sem_wait(sem_t *semaphore);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2018-09-15 01:43:44 +08:00
|
|
|
#endif /* ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ */
|