46bb1d3157
https://github.com/ozkl/soso + Much smaller than Linux; builds instantly + Supports graphics - No network support - Doesn't work on a cloud server (yet?)
26 lines
738 B
C
26 lines
738 B
C
#ifndef FIFOBUFFER_H
|
|
#define FIFOBUFFER_H
|
|
|
|
#include "common.h"
|
|
|
|
typedef struct FifoBuffer
|
|
{
|
|
uint8* data;
|
|
uint32 writeIndex;
|
|
uint32 readIndex;
|
|
uint32 capacity;
|
|
uint32 usedBytes;
|
|
} FifoBuffer;
|
|
|
|
FifoBuffer* FifoBuffer_create(uint32 capacity);
|
|
void FifoBuffer_destroy(FifoBuffer* fifoBuffer);
|
|
void FifoBuffer_clear(FifoBuffer* fifoBuffer);
|
|
BOOL FifoBuffer_isEmpty(FifoBuffer* fifoBuffer);
|
|
uint32 FifoBuffer_getSize(FifoBuffer* fifoBuffer);
|
|
uint32 FifoBuffer_getCapacity(FifoBuffer* fifoBuffer);
|
|
uint32 FifoBuffer_getFree(FifoBuffer* fifoBuffer);
|
|
int32 FifoBuffer_enqueue(FifoBuffer* fifoBuffer, uint8* data, uint32 size);
|
|
int32 FifoBuffer_dequeue(FifoBuffer* fifoBuffer, uint8* data, uint32 size);
|
|
|
|
#endif // FIFOBUFFER_H
|