Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
|
|
4.0.0 |
Go to the source code of this file.
Data Structures | |
struct | spsc_pbuf_common |
First part of packet buffer control block. More... | |
struct | spsc_pbuf_ext_cache |
Remaining part of a packet buffer when cache is used. More... | |
struct | spsc_pbuf_ext_nocache |
Remaining part of a packet buffer when cache is not used. More... | |
struct | spsc_pbuf |
Single producer, single consumer packet buffer. More... | |
Macros | |
#define | SPSC_PBUF_CACHE BIT(0) |
Flag indicating that cache shall be handled. | |
#define | SPSC_PBUF_UTILIZATION_BITS 24 |
Size of the field which stores maximum utilization. | |
#define | SPSC_PBUF_UTILIZATION_OFFSET 8 |
Offset of the field which stores maximum utilization. | |
#define | CONFIG_SPSC_PBUF_REMOTE_DCACHE_LINE 0 |
#define | SPSC_PBUF_MAX_LEN 0xFF00 |
Maximum packet length. | |
Functions | |
static uint32_t | spsc_pbuf_capacity (struct spsc_pbuf *pb) |
Get buffer capacity. | |
struct spsc_pbuf * | spsc_pbuf_init (void *buf, size_t blen, uint32_t flags) |
Initialize the packet buffer. | |
int | spsc_pbuf_write (struct spsc_pbuf *pb, const char *buf, uint16_t len) |
Write specified amount of data to the packet buffer. | |
int | spsc_pbuf_alloc (struct spsc_pbuf *pb, uint16_t len, char **buf) |
Allocate space in the packet buffer. | |
void | spsc_pbuf_commit (struct spsc_pbuf *pb, uint16_t len) |
Commit packet to the buffer. | |
int | spsc_pbuf_read (struct spsc_pbuf *pb, char *buf, uint16_t len) |
Read specified amount of data from the packet buffer. | |
uint16_t | spsc_pbuf_claim (struct spsc_pbuf *pb, char **buf) |
Claim packet from the buffer. | |
void | spsc_pbuf_free (struct spsc_pbuf *pb, uint16_t len) |
Free the packet to the buffer. | |
int | spsc_pbuf_get_utilization (struct spsc_pbuf *pb) |
Get maximum utilization of the packet buffer. | |