RUI3 (RAK Unified Interface 3) - RAK4631
fund_circular_queue.h File Reference

Provide an circular queue (ring buffer) mechanism for other components to use. More...

Go to the source code of this file.

Data Structures

struct  fund_circular_queue_t
 

Macros

#define FUND_CIRCULAR_QUEUE_INIT(_type, _name, _size)
 

Functions

size_t fund_circular_queue_utilization_get (fund_circular_queue_t const *p_queue)
 
size_t fund_circular_queue_available_get (fund_circular_queue_t const *p_queue)
 
size_t fund_circular_queue_in (fund_circular_queue_t const *p_queue, void const *p_data, size_t element_count)
 
size_t fund_circular_queue_out (fund_circular_queue_t const *p_queue, void *p_data, size_t element_count)
 
void fund_circular_queue_reset (fund_circular_queue_t const *p_queue)
 
bool fund_circular_queue_is_empty (fund_circular_queue_t const *p_queue)
 
bool fund_circular_queue_is_full (fund_circular_queue_t const *p_queue)
 
int32_t fund_circular_queue_peek (fund_circular_queue_t const *p_queue, void *p_element)
 

Detailed Description

Provide an circular queue (ring buffer) mechanism for other components to use.

Author
Rakwireless
Version
0.0.0
Date
2022.2

Macro Definition Documentation

◆ FUND_CIRCULAR_QUEUE_INIT

#define FUND_CIRCULAR_QUEUE_INIT (   _type,
  _name,
  _size 
)
Value:
static _type _name##_buffer[(_size) + 1]; \
static fund_circular_queue_t _name = \
{ \
.p_buffer = _name##_buffer, \
.size = (_size), \
.element_size = sizeof(_type), \
}; \
Definition: fund_circular_queue.h:20
void * p_buffer
Definition: fund_circular_queue.h:22

Function Documentation

◆ fund_circular_queue_utilization_get()

size_t fund_circular_queue_utilization_get ( fund_circular_queue_t const *  p_queue)

◆ fund_circular_queue_available_get()

size_t fund_circular_queue_available_get ( fund_circular_queue_t const *  p_queue)

◆ fund_circular_queue_in()

size_t fund_circular_queue_in ( fund_circular_queue_t const *  p_queue,
void const *  p_data,
size_t  element_count 
)

◆ fund_circular_queue_out()

size_t fund_circular_queue_out ( fund_circular_queue_t const *  p_queue,
void *  p_data,
size_t  element_count 
)

◆ fund_circular_queue_reset()

void fund_circular_queue_reset ( fund_circular_queue_t const *  p_queue)

◆ fund_circular_queue_is_empty()

bool fund_circular_queue_is_empty ( fund_circular_queue_t const *  p_queue)

◆ fund_circular_queue_is_full()

bool fund_circular_queue_is_full ( fund_circular_queue_t const *  p_queue)

◆ fund_circular_queue_peek()

int32_t fund_circular_queue_peek ( fund_circular_queue_t const *  p_queue,
void *  p_element 
)