|
Zephyr Project API 4.4.99
A Scalable Open Source RTOS
|
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. | |
| #define SYS_RINGQ_DEFINE | ( | name, | |
| item_size, | |||
| item_capacity ) |
|
inlinestatic |
|
inlinestatic |
#include <ringq.h>
Initialize a ringq queue.
This routine initializes a ringq queue.
| ringq | Address of sys_ringq struct. |
| data | ringq sys_ringq data area. |
| data_size | Size of the ringq data area (in bytes). |
| item_size | Size of each ringq element (in bytes). |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |