Trident IoT SDK
 
Loading...
Searching...
No Matches
tr_ring_buffer.h
Go to the documentation of this file.
1
11#ifndef TR_RING_BUFFER_H
12#define TR_RING_BUFFER_H
13
14#include <stdbool.h>
15#include <stdint.h>
16#include <stddef.h>
17
32typedef struct
33{
34 uint8_t * p_buffer;
35 size_t head;
36 size_t tail;
37 size_t buffer_size;
38 size_t count;
39}
41
50
59bool tr_ring_buffer_write(tr_ring_buffer_t *p_rb, uint8_t data);
60
70size_t tr_ring_buffer_read(tr_ring_buffer_t *p_rb, uint8_t *p_data, size_t length);
71
80
86#endif // TR_RING_BUFFER_H
bool tr_ring_buffer_init(tr_ring_buffer_t *p_rb)
size_t tr_ring_buffer_get_available(tr_ring_buffer_t *p_rb)
size_t tr_ring_buffer_read(tr_ring_buffer_t *p_rb, uint8_t *p_data, size_t length)
bool tr_ring_buffer_write(tr_ring_buffer_t *p_rb, uint8_t data)
Ring buffer object definition.
Definition tr_ring_buffer.h:33
size_t buffer_size
Size of the array pointed to by p_buffer.
Definition tr_ring_buffer.h:37
size_t head
Head of the ring buffer.
Definition tr_ring_buffer.h:35
size_t tail
Tail of the ring buffer.
Definition tr_ring_buffer.h:36
size_t count
Current number of items in the ring buffer.
Definition tr_ring_buffer.h:38
uint8_t * p_buffer
Address of the array allocated to the ring buffer.
Definition tr_ring_buffer.h:34