40#if !defined(_SPANDSP_QUEUE_H_)
41#define _SPANDSP_QUEUE_H_
45#define QUEUE_READ_ATOMIC 0x0001
48#define QUEUE_WRITE_ATOMIC 0x0002
56#define QUEUE_STATE_T_SIZE(len) (sizeof(queue_state_t) + len + 1)
58#if defined(__cplusplus)
173#if defined(__cplusplus)
int queue_read_msg(queue_state_t *s, uint8_t *buf, int len)
Read a message from a queue.
Definition queue.c:318
int queue_read(queue_state_t *s, uint8_t *buf, int len)
Read bytes from a queue.
Definition queue.c:139
int queue_read_byte(queue_state_t *s)
Read a byte from a queue.
Definition queue.c:197
bool queue_empty(queue_state_t *s)
Check if a queue is empty.
Definition queue.c:55
int queue_release(queue_state_t *s)
Release a queue.
Definition queue.c:418
int queue_write(queue_state_t *s, const uint8_t *buf, int len)
Write bytes to a queue.
Definition queue.c:223
int queue_state_test_msg(queue_state_t *s)
Test message length.
Definition queue.c:307
int queue_view(queue_state_t *s, uint8_t *buf, int len)
Copy bytes from a queue.
Definition queue.c:89
void queue_flush(queue_state_t *s)
Flush the contents of a queue.
Definition queue.c:83
int queue_contents(queue_state_t *s)
Check the contents of a queue.
Definition queue.c:72
struct queue_state_s queue_state_t
Definition queue.h:54
int queue_free_space(queue_state_t *s)
Check available free space.
Definition queue.c:61
int queue_free(queue_state_t *s)
Delete a queue.
Definition queue.c:424
int queue_write_msg(queue_state_t *s, const uint8_t *buf, int len)
Write a message to a queue.
Definition queue.c:344
int queue_write_byte(queue_state_t *s, uint8_t byte)
Write a byte to a queue.
Definition queue.c:276
queue_state_t * queue_init(queue_state_t *s, int len, int flags)
Initialise a queue.
Definition queue.c:403
Definition private/queue.h:34
int len
The length of the data buffer.
Definition private/queue.h:38