#include "pico/lock_core.h"Go to the source code of this file.
Data Structures | |
| struct | semaphore |
| A semaphore for controlling access to a shared resource. More... | |
Typedefs | |
| typedef struct semaphore | semaphore_t |
| A semaphore for controlling access to a shared resource. | |
Functions | |
| void | sem_init (semaphore_t *sem, int16_t initial_permits, int16_t max_permits) |
| Initialise a semaphore structure. | |
| int | sem_available (semaphore_t *sem) |
| Return number of available permits on the semaphore. | |
| bool | sem_release (semaphore_t *sem) |
| Release a permit on a semaphore. | |
| void | sem_reset (semaphore_t *sem, int16_t permits) |
| Reset semaphore to a specific number of available permits. | |
| void | sem_acquire_blocking (semaphore_t *sem) |
| Acquire a permit from the semaphore. | |
| bool | sem_acquire_timeout_ms (semaphore_t *sem, uint32_t timeout_ms) |
| Acquire a permit from a semaphore, with timeout. | |
| bool | sem_acquire_timeout_us (semaphore_t *sem, uint32_t timeout_us) |
| Acquire a permit from a semaphore, with timeout. | |
| bool | sem_acquire_block_until (semaphore_t *sem, absolute_time_t until) |
| Wait to acquire a permit from a semaphore until a specific time. | |
| bool | sem_try_acquire (semaphore_t *sem) |
| Attempt to acquire a permit from a semaphore without blocking. | |