Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ringq.h File Reference

Fixed size circular queue. More...

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.

Detailed Description

Fixed size circular queue.