Firmware SDK
twr_queue.h
1 #ifndef _TWR_QUEUE_H
2 #define _TWR_QUEUE_H
3 
4 #include <twr_common.h>
5 
9 
11 
12 typedef struct
13 {
14  void *_buffer;
15  size_t _size;
16  size_t _length;
17 
18 } twr_queue_t;
19 
21 
26 
27 void twr_queue_init(twr_queue_t *queue, void *buffer, size_t size);
28 
35 
36 bool twr_queue_put(twr_queue_t *queue, const void *buffer, size_t length);
37 
44 
45 bool twr_queue_get(twr_queue_t *queue, void *buffer, size_t *length);
46 
49 
50 void twr_queue_clear(twr_queue_t *queue);
51 
53 
54 #endif // _TWR_QUEUE_H
void twr_queue_init(twr_queue_t *queue, void *buffer, size_t size)
Initialize queue.
Definition: twr_queue.c:3
bool twr_queue_put(twr_queue_t *queue, const void *buffer, size_t length)
Put buffer to queue.
Definition: twr_queue.c:11
bool twr_queue_get(twr_queue_t *queue, void *buffer, size_t *length)
Get queue to buffer.
Definition: twr_queue.c:45
void twr_queue_clear(twr_queue_t *queue)
Clear queue.
Definition: twr_queue.c:70