27int RbInit(
Ringbuffer* bufferStruct,
void* bufferPointer,
size_t capacity,
size_t itemSizeInByte)
29 bufferStruct->
buffer = bufferPointer;
30 if (bufferStruct->
buffer == NULL)
34 bufferStruct->
bufferEnd = (uint8_t*)bufferStruct->
buffer + capacity * itemSizeInByte;
36 bufferStruct->
count = 0U;
40 memset(bufferStruct->
buffer, 0U, capacity * itemSizeInByte);
56 ++bufferStruct->
count;
62 if (bufferStruct->
count == 0U)
72 --bufferStruct->
count;
90 ++bufferStruct->
count;
int RbInit(Ringbuffer *bufferStruct, void *bufferPointer, size_t capacity, size_t itemSizeInByte)
Initialize ring buffer instance.
void RbPushBackWrap(Ringbuffer *bufferStruct, const void *element)
Push one element and overwrite oldest entry when full.
int RbPopFront(Ringbuffer *bufferStruct, void *element)
Pop one element from front.
int RbPushBack(Ringbuffer *bufferStruct, const void *element)
Push one element at tail/head end.
Generic fixed-size ring buffer state.