queue_status_t queue_push(queue_t *q, const void *item)
Push (enqueue) one element into the queue.
Definition: queue.c:63
queue_status_t
Queue operation status codes.
Definition: queue.h:62
queue_status_t queue_pop(queue_t *q, void *item)
Pop (dequeue) one element from the queue.
Definition: queue.c:90
bool queue_is_full(const queue_t *q)
Check if queue is full.
Definition: queue.c:129
bool queue_is_empty(const queue_t *q)
Check if queue is empty.
Definition: queue.c:117
queue_status_t queue_init(queue_t *q, void *buffer, uint16_t buffer_element_size, uint16_t queue_capacity)
Initialize a queue instance.
Definition: queue.c:42
@ QUEUE_FULL
Definition: queue.h:64
@ QUEUE_EMPTY
Definition: queue.h:65
@ QUEUE_ERROR
Definition: queue.h:66
@ QUEUE_OK
Definition: queue.h:63
FIFO queue control structure.
Definition: queue.h:82
void * buffer
Definition: queue.h:83
uint16_t buffer_element_size
Definition: queue.h:84
uint16_t capacity
Definition: queue.h:85
uint16_t tail
Definition: queue.h:87
uint16_t head
Definition: queue.h:86
uint16_t count
Definition: queue.h:88