8.3. circular_buffer
— Circular buffer¶
Source code: src/collections/circular_buffer.h, src/collections/circular_buffer.c
Test code: tst/collections/circular_buffer/main.c
Test coverage: src/collections/circular_buffer.c
Functions
-
int
circular_buffer_init
(struct circular_buffer_t *self_p, void *buf_p, size_t size)¶ Initialize given circular buffer.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Circular buffer to initialize.buf_p
: Memory buffer.size
: Size of the memory buffer.
-
ssize_t
circular_buffer_write
(struct circular_buffer_t *self_p, const void *buf_p, size_t size)¶ Write data to given circular buffer.
- Return
- Number of bytes written or negative error code.
- Parameters
self_p
: Circular buffer.buf_p
: Memory buffer to write.size
: Size of the memory buffer.
-
ssize_t
circular_buffer_read
(struct circular_buffer_t *self_p, void *buf_p, size_t size)¶ Read data from given circular buffer.
- Return
- Number of bytes read or negative error code. The buffer is empty if zero(0) is returned.
- Parameters
self_p
: Circular heap to free to.buf_p
: Memory buffer to read into.size
: Size of the memory buffer.
-
ssize_t
circular_buffer_used_size
(struct circular_buffer_t *self_p)¶ Returns the number of used bytes in given circular buffer.
- Return
- Number of used bytes.
- Parameters
self_p
: Circular heap.
-
ssize_t
circular_buffer_unused_size
(struct circular_buffer_t *self_p)¶ Returns the number of unused bytes in given circular buffer.
- Return
- Number of unused bytes.
- Parameters
self_p
: Circular heap.
-
struct
circular_buffer_t
¶ - #include <circular_buffer.h>