8static void *
memcpy(
void *dst,
const void *src,
size_t n)
14 if((uintptr_t)dst %
sizeof(uint32_t) == 0 &&
15 (uintptr_t)src %
sizeof(uint32_t) == 0 &&
16 n %
sizeof(uint32_t) == 0) {
18 uint32_t *d_word = dst;
19 const uint32_t *s_word = src;
21 for (i=0; i<n/
sizeof(uint32_t); i++) {
22 d_word[i] = s_word[i];
79 uint32_t lenToTheEnd =
buffer->sizeMask -
buffer->tail + 1;
80 uint32_t lenFromBegin = len - lenToTheEnd;
107 uint32_t lenToTheEnd =
buffer->sizeMask -
buffer->head + 1;
108 uint32_t lenFromBegin = len - lenToTheEnd;
uint8_t ringBufferGetOne(RingBuffer *buffer)
static void * memcpy(void *dst, const void *src, size_t n)
size_t ringBufferFreeSpace(const RingBuffer *buffer)
size_t ringBufferLen(const RingBuffer *buffer)
void ringBufferAppendOne(RingBuffer *buffer, uint8_t data)
void ringBufferGetMultiple(RingBuffer *buffer, uint8_t *dst, size_t len)
int ringBufferInit(RingBuffer *buffer, uint8_t *data, size_t len)
size_t ringBufferMaxSize(const RingBuffer *buffer)
void ringBufferAppendMultiple(RingBuffer *buffer, const uint8_t *data, size_t len)
void ringBufferClear(RingBuffer *buffer)
uint8_t ringBufferEmpty(const RingBuffer *buffer)
void ringBufferDiscardMultiple(RingBuffer *buffer, size_t len)
void ringBufferPeekMultiple(const RingBuffer *buffer, uint8_t *dst, size_t len)
uint8_t ringBufferPeekOne(const RingBuffer *buffer)
static int isMultipleTwo(size_t len)