Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
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
16#define SEM_FAILED ((sem_t *) 0)
17
18int sem_destroy(sem_t *semaphore);
19int sem_getvalue(sem_t *ZRESTRICT semaphore, int *ZRESTRICT value);
20int sem_init(sem_t *semaphore, int pshared, unsigned int value);
21int sem_post(sem_t *semaphore);
22int sem_timedwait(sem_t *ZRESTRICT semaphore, struct timespec *ZRESTRICT abstime);
23int sem_trywait(sem_t *semaphore);
24int sem_wait(sem_t *semaphore);
25sem_t *sem_open(const char *name, int oflags, ...);
26int sem_unlink(const char *name);
28
29#ifdef __cplusplus
30}
31#endif
32
33#endif /* ZEPHYR_INCLUDE_POSIX_SEMAPHORE_H_ */
#define ZRESTRICT
Definition common.h:36
struct k_sem sem_t
Definition posix_types.h:99
sem_t * sem_open(const char *name, int oflags,...)
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_close(sem_t *sem)
int sem_unlink(const char *name)
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
static struct k_sem sem[3]
Definition timeout_order.c:14