|
Zephyr Project API 4.4.99
A Scalable Open Source RTOS
|
Fixed size circular queue. More...
#include <zephyr/sys/ring_buffer.h>Go to the source code of this file.
Data Structures | |
| struct | sys_ringq |
| A structure to represent a ringq queue. More... | |
Macros | |
| #define | SYS_RINGQ_DEFINE(name, item_size, item_capacity) |
| Define and initialize a ring queue. | |
Functions | |
| static void | sys_ringq_init (struct sys_ringq *ringq, uint8_t *data, size_t data_size, size_t item_size) |
| Initialize a ringq queue. | |
| static void | sys_ringq_reset (struct sys_ringq *ringq) |
| Reset ringq queue state to its initial state. | |
| static bool | sys_ringq_empty (const struct sys_ringq *ringq) |
| Determine if a sys_ringq is empty. | |
| static bool | sys_ringq_full (const struct sys_ringq *ringq) |
| Determine if a sys_ringq is full. | |
| static size_t | sys_ringq_space (const struct sys_ringq *ringq) |
| Determine free space in a ringq queue. | |
| static size_t | sys_ringq_capacity (const struct sys_ringq *ringq) |
| Return ringq queue capacity. | |
| static size_t | sys_ringq_size (const struct sys_ringq *ringq) |
| Determine size of available data in a ringq queue. | |
| static int | sys_ringq_put (struct sys_ringq *ringq, const void *element) |
| Write (copy) data to a ringq queue. | |
| static int | sys_ringq_get (struct sys_ringq *ringq, void *element) |
| Read data from a sys_ringq queue. | |
| static int | sys_ringq_peek (struct sys_ringq *ringq, void *data) |
| Peek first element from a sys_ringq queue. | |
Fixed size circular queue.