35#ifndef _NO_OS_CIRCULAR_BUFFER_H_
36#define _NO_OS_CIRCULAR_BUFFER_H_
78 uint32_t nb_elements);
80 uint32_t nb_elements);
83 uint32_t raw_size_to_write,
85 uint32_t *raw_size_avilable);
89 uint32_t raw_size_to_read,
91 uint32_t *raw_size_avilable);
int32_t no_os_cb_init(struct no_os_circular_buffer **desc, uint32_t size)
int32_t no_os_cb_size(struct no_os_circular_buffer *desc, uint32_t *size)
int32_t no_os_cb_prepare_async_read(struct no_os_circular_buffer *desc, uint32_t raw_size_to_read, void **read_buff, uint32_t *raw_size_avilable)
int32_t no_os_cb_read(struct no_os_circular_buffer *desc, void *data, uint32_t nb_elements)
int32_t no_os_cb_prepare_async_write(struct no_os_circular_buffer *desc, uint32_t raw_size_to_write, void **write_buff, uint32_t *raw_size_avilable)
int32_t no_os_cb_cfg(struct no_os_circular_buffer *desc, int8_t *buf, uint32_t size)
int32_t no_os_cb_remove(struct no_os_circular_buffer *desc)
int32_t no_os_cb_end_async_write(struct no_os_circular_buffer *desc)
int32_t no_os_cb_write(struct no_os_circular_buffer *desc, const void *data, uint32_t nb_elements)
int32_t no_os_cb_end_async_read(struct no_os_circular_buffer *desc)
Circular buffer pointer.
Definition no_os_circular_buffer.h:44
uint32_t spin_count
Definition no_os_circular_buffer.h:48
uint32_t idx
Definition no_os_circular_buffer.h:46
uint32_t async_size
Definition no_os_circular_buffer.h:52
bool async_started
Definition no_os_circular_buffer.h:50
Circular buffer descriptor.
Definition no_os_circular_buffer.h:59
uint32_t size
Definition no_os_circular_buffer.h:61
struct no_os_cb_ptr write
Definition no_os_circular_buffer.h:65
int8_t * buff
Definition no_os_circular_buffer.h:63
struct no_os_cb_ptr read
Definition no_os_circular_buffer.h:67