Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
#include <zephyr/kernel.h>
#include <zephyr/sys/atomic.h>
#include <zephyr/types.h>
#include <zephyr/sys/iterable_sections.h>
#include <zephyr/sys/__assert.h>
Go to the source code of this file.
Data Structures | |
struct | sys_sem |
sys_sem structure More... | |
Macros | |
#define | SYS_SEM_DEFINE(_name, _initial_count, _count_limit) |
Statically define and initialize a sys_sem. | |
#define | SYS_SEM_LOCK_BREAK continue |
Leaves a code block guarded with SYS_SEM_LOCK after releasing the lock. | |
#define | SYS_SEM_LOCK(sem) |
Guards a code block with the given sys_sem, automatically acquiring the semaphore before executing the code block. | |
Functions | |
int | sys_sem_init (struct sys_sem *sem, unsigned int initial_count, unsigned int limit) |
Initialize a semaphore. | |
int | sys_sem_give (struct sys_sem *sem) |
Give a semaphore. | |
int | sys_sem_take (struct sys_sem *sem, k_timeout_t timeout) |
Take a sys_sem. | |
unsigned int | sys_sem_count_get (struct sys_sem *sem) |
Get sys_sem's value. | |
public sys_sem APIs.