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:309
int queue_read(queue_state_t *s, uint8_t *buf, int len)
Read bytes from a queue.
Definition: queue.c:130
int queue_read_byte(queue_state_t *s)
Read a byte from a queue.
Definition: queue.c:188
int queue_release(queue_state_t *s)
Release a queue.
Definition: queue.c:409
int queue_write(queue_state_t *s, const uint8_t *buf, int len)
Write bytes to a queue.
Definition: queue.c:214
int queue_empty(queue_state_t *s)
Check if a queue is empty.
Definition: queue.c:46
int queue_state_test_msg(queue_state_t *s)
Test message length.
Definition: queue.c:298
int queue_view(queue_state_t *s, uint8_t *buf, int len)
Copy bytes from a queue.
Definition: queue.c:80
void queue_flush(queue_state_t *s)
Flush the contents of a queue.
Definition: queue.c:74
int queue_contents(queue_state_t *s)
Check the contents of a queue.
Definition: queue.c:63
int queue_free_space(queue_state_t *s)
Check available free space.
Definition: queue.c:52
int queue_free(queue_state_t *s)
Delete a queue.
Definition: queue.c:415
int queue_write_msg(queue_state_t *s, const uint8_t *buf, int len)
Write a message to a queue.
Definition: queue.c:335
int queue_write_byte(queue_state_t *s, uint8_t byte)
Write a byte to a queue.
Definition: queue.c:267
queue_state_t * queue_init(queue_state_t *s, int len, int flags)
Initialise a queue.
Definition: queue.c:394
Definition: private/queue.h:34
int flags
Flags indicating the mode of the queue.
Definition: private/queue.h:36
int len
The length of the data buffer.
Definition: private/queue.h:38