21 if (
rb->write_offset >=
rb->read_offset) {
22 return rb->write_offset -
rb->read_offset;
25 return rb->size - (
rb->read_offset -
rb->write_offset);
53 rb->write_offset = (
rb->write_offset + len) %
rb->size;
61 if (len > available) {
78 rb->read_offset = (
rb->read_offset + len) %
rb->size;
size_t ring_buffer_free_space(ring_buffer_t *ring_buffer)
size_t ring_buffer_write(ring_buffer_t *rb, uint8_t *data, size_t len)
Write.
size_t ring_buffer_read(ring_buffer_t *rb, uint8_t *read_buffer, size_t len)
Read.
size_t ring_buffer_available(ring_buffer_t *rb)
void ring_buffer_init(ring_buffer_t *rb, uint8_t *buf, size_t size)
Init.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.