/*
+ * Acess2 Kernel
+ *
+ * adt.c
+ * - Complex data type code
*/
#include <acess.h>
#include <adt.h>
+
// === CODE ===
// --- Ring Buffers ---
tRingBuffer *RingBuffer_Create(size_t Space)
{
memcpy(Dest, &Buffer->Data[Buffer->Start], Length);
}
+ Buffer->Start += Length;
+ if( Buffer->Start > Buffer->Space )
+ Buffer->Start -= Buffer->Space;
Buffer->Length -= Length;
return Length;
}
-size_t RingBuffer_Write(tRingBuffer *Buffer, void *Source, size_t Length)
+size_t RingBuffer_Write(tRingBuffer *Buffer, const void *Source, size_t Length)
{
size_t bufEnd = Buffer->Start + Buffer->Length;
size_t endSpace = Buffer->Space - bufEnd;