queue_status_t queue_push(queue_t *q, const void *item)
Push an element into the queue.
Definition: queue.c:67
queue_status_t
Queue operation status codes.
Definition: queue.h:43
@ QUEUE_FULL
Definition: queue.h:45
@ QUEUE_EMPTY
Definition: queue.h:46
@ QUEUE_ERROR
Definition: queue.h:47
@ QUEUE_OK
Definition: queue.h:44
queue_status_t queue_pop(queue_t *q, void *item)
Pop an element from the queue.
Definition: queue.c:91
queue_status_t queue_init(queue_t *q, void *buffer, uint16_t element_size, uint16_t capacity)
Initialize a queue.
Definition: queue.c:47
bool queue_is_full(const queue_t *q)
Check whether queue is full.
Definition: queue.c:120
bool queue_is_empty(const queue_t *q)
Check whether queue is empty.
Definition: queue.c:115
FIFO queue control structure.
Definition: queue.h:61
uint16_t element_size
Definition: queue.h:63
void * buffer
Definition: queue.h:62
uint16_t capacity
Definition: queue.h:64
uint16_t tail
Definition: queue.h:66
uint16_t head
Definition: queue.h:65
uint16_t count
Definition: queue.h:67