Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
semaphore.h
Go to the documentation of this file.
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
13extern "C" {
14#endif
15
16int sem_destroy(sem_t *semaphore);
17int sem_getvalue(sem_t *ZRESTRICT semaphore, int *ZRESTRICT value);
18int sem_init(sem_t *semaphore, int pshared, unsigned int value);
19int sem_post(sem_t *semaphore);
20int sem_timedwait(sem_t *ZRESTRICT semaphore, struct timespec *ZRESTRICT abstime);
21int sem_trywait(sem_t *semaphore);
22int sem_wait(sem_t *semaphore);
23
24#ifdef __cplusplus
25}
26#endif
27
28#endif /* ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ */
#define ZRESTRICT
Definition: common.h:36
struct k_sem sem_t
Definition: posix_types.h:60
int sem_trywait(sem_t *semaphore)
int sem_init(sem_t *semaphore, int pshared, unsigned int value)
int sem_post(sem_t *semaphore)
int sem_wait(sem_t *semaphore)
int sem_destroy(sem_t *semaphore)
int sem_timedwait(sem_t *ZRESTRICT semaphore, struct timespec *ZRESTRICT abstime)
int sem_getvalue(sem_t *ZRESTRICT semaphore, int *ZRESTRICT value)
Definition: _timespec.h:22