9 #ifndef _FUND_CIRCULAR_QUEUE_H_ 10 #define _FUND_CIRCULAR_QUEUE_H_ 29 #define FUND_CIRCULAR_QUEUE_INIT(_type, _name, _size) \ 30 static _type _name##_buffer[(_size) + 1]; \ 31 static fund_circular_queue_t _name = \ 33 .p_buffer = _name##_buffer, \ 35 .element_size = sizeof(_type), \ 51 #endif //_FUND_EVENT_QUEUE_H_ size_t element_size
Definition: fund_circular_queue.h:24
size_t fund_circular_queue_available_get(fund_circular_queue_t const *p_queue)
Definition: fund_circular_queue.h:20
void fund_circular_queue_reset(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 size
Definition: fund_circular_queue.h:23
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)
size_t fund_circular_queue_utilization_get(fund_circular_queue_t const *p_queue)
volatile size_t start
Definition: fund_circular_queue.h:25
volatile size_t end
Definition: fund_circular_queue.h:26
void * p_buffer
Definition: fund_circular_queue.h:22
size_t fund_circular_queue_out(fund_circular_queue_t const *p_queue, void *p_data, size_t element_count)
bool fund_circular_queue_is_empty(fund_circular_queue_t const *p_queue)