|
Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
|
Header file for the ring buffer API. More...
Go to the source code of this file.
Data Structures | |
| struct | ring_buf |
| A structure to represent a ring buffer. More... | |
Macros | |
| #define | RING_BUF_INIT(buf, size8) |
| #define | RING_BUF_DECLARE(name, size8) |
| Define and initialize a ring buffer for byte data. | |
| #define | RING_BUF_ITEM_DECLARE(name, size32) |
| Define and initialize an "item based" ring buffer. | |
| #define | RING_BUF_ITEM_DECLARE_SIZE(name, size32) |
| Define and initialize an "item based" ring buffer. | |
| #define | RING_BUF_ITEM_DECLARE_POW2(name, pow) |
| Define and initialize a power-of-2 sized "item based" ring buffer. | |
| #define | RING_BUF_ITEM_SIZEOF(expr) |
| Compute the ring buffer size in 32-bit needed to store an element. | |
Functions | |
| static void | ring_buf_init (struct ring_buf *buf, uint32_t size, uint8_t *data) |
| Initialize a ring buffer for byte data. | |
| static void | ring_buf_item_init (struct ring_buf *buf, uint32_t size, uint32_t *data) |
| Initialize an "item based" ring buffer. | |
| static bool | ring_buf_is_empty (const struct ring_buf *buf) |
| Determine if a ring buffer is empty. | |
| static void | ring_buf_reset (struct ring_buf *buf) |
| Reset ring buffer state. | |
| static uint32_t | ring_buf_space_get (const struct ring_buf *buf) |
| Determine free space in a ring buffer. | |
| static uint32_t | ring_buf_item_space_get (const struct ring_buf *buf) |
| Determine free space in an "item based" ring buffer. | |
| static uint32_t | ring_buf_capacity_get (const struct ring_buf *buf) |
| Return ring buffer capacity. | |
| static uint32_t | ring_buf_size_get (const struct ring_buf *buf) |
| Determine size of available data in a ring buffer. | |
| static uint32_t | ring_buf_put_claim (struct ring_buf *buf, uint8_t **data, uint32_t size) |
| Allocate buffer for writing data to a ring buffer. | |
| static int | ring_buf_put_finish (struct ring_buf *buf, uint32_t size) |
| Indicate number of bytes written to allocated buffers. | |
| uint32_t | ring_buf_put (struct ring_buf *buf, const uint8_t *data, uint32_t size) |
| Write (copy) data to a ring buffer. | |
| static uint32_t | ring_buf_get_claim (struct ring_buf *buf, uint8_t **data, uint32_t size) |
| Get address of a valid data in a ring buffer. | |
| static int | ring_buf_get_finish (struct ring_buf *buf, uint32_t size) |
| Indicate number of bytes read from claimed buffer. | |
| uint32_t | ring_buf_get (struct ring_buf *buf, uint8_t *data, uint32_t size) |
| Read data from a ring buffer. | |
| uint32_t | ring_buf_peek (struct ring_buf *buf, uint8_t *data, uint32_t size) |
| Peek at data from a ring buffer. | |
| int | ring_buf_item_put (struct ring_buf *buf, uint16_t type, uint8_t value, uint32_t *data, uint8_t size32) |
| Write a data item to a ring buffer. | |
| int | ring_buf_item_get (struct ring_buf *buf, uint16_t *type, uint8_t *value, uint32_t *data, uint8_t *size32) |
| Read a data item from a ring buffer. | |
Header file for the ring buffer API.