|
ether2ser 0.1.0
Ethernet <-> synchronous V.24 bridge firmware for RP2040 + W5500
|
#include <stddef.h>

Go to the source code of this file.
Data Structures | |
| struct | Ringbuffer |
| Generic fixed-size ring buffer state. More... | |
Functions | |
| int | RbInit (Ringbuffer *bufferStruct, void *bufferPointer, size_t capacity, size_t itemSizeInByte) |
| Initialize ring buffer instance. | |
| int | RbPushBack (Ringbuffer *bufferStruct, const void *element) |
| Push one element at tail/head end. | |
| int | RbPopFront (Ringbuffer *bufferStruct, void *element) |
| Pop one element from front. | |
| void | RbPushBackWrap (Ringbuffer *bufferStruct, const void *element) |
| Push one element and overwrite oldest entry when full. | |
| int RbInit | ( | Ringbuffer * | bufferStruct, |
| void * | bufferPointer, | ||
| size_t | capacity, | ||
| size_t | itemSizeInByte | ||
| ) |
Initialize ring buffer instance.
| bufferStruct | Ring buffer object. |
| bufferPointer | Raw backing storage. |
| capacity | Number of elements. |
| itemSizeInByte | Size of each element in bytes. |
Definition at line 27 of file ringbuffer.c.
References Ringbuffer::buffer, Ringbuffer::bufferEnd, Ringbuffer::capacity, Ringbuffer::count, Ringbuffer::head, Ringbuffer::itemSizeInByte, and Ringbuffer::tail.
Referenced by tx_queue_init().

| int RbPopFront | ( | Ringbuffer * | bufferStruct, |
| void * | element | ||
| ) |
Pop one element from front.
| bufferStruct | Ring buffer object. |
| element | Destination element pointer. |
Definition at line 60 of file ringbuffer.c.
References Ringbuffer::buffer, Ringbuffer::bufferEnd, Ringbuffer::count, Ringbuffer::itemSizeInByte, and Ringbuffer::tail.
Referenced by tx_queue_drain().

| int RbPushBack | ( | Ringbuffer * | bufferStruct, |
| const void * | element | ||
| ) |
Push one element at tail/head end.
| bufferStruct | Ring buffer object. |
| element | Pointer to source element. |
Definition at line 44 of file ringbuffer.c.
References Ringbuffer::buffer, Ringbuffer::bufferEnd, Ringbuffer::capacity, Ringbuffer::count, Ringbuffer::head, and Ringbuffer::itemSizeInByte.
Referenced by tx_queue_enqueue_udp_frame().

| void RbPushBackWrap | ( | Ringbuffer * | bufferStruct, |
| const void * | element | ||
| ) |
Push one element and overwrite oldest entry when full.
| bufferStruct | Ring buffer object. |
| element | Pointer to source element. |
Definition at line 76 of file ringbuffer.c.
References Ringbuffer::buffer, Ringbuffer::bufferEnd, Ringbuffer::capacity, Ringbuffer::count, Ringbuffer::head, Ringbuffer::itemSizeInByte, and Ringbuffer::tail.