Files
HardwareAdapter/controller/ringbuffer.h
2025-05-25 16:03:37 +02:00

24 lines
524 B
C

#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#ifdef RINGBUFFER_THREAD_SAFE
#include <pthread.h>
#endif
struct ringBuffer {
void *buffer;
int blocks;
size_t blockSize;
void *reader;
void *writer;
#ifdef RINGBUFFER_THREAD_SAFE
pthread_mutex_t mutex;
#endif
};
void ringBufferCreate(int blocks, size_t blockSize, struct ringBuffer *out);
void ringBufferDestroy(struct ringBuffer *buf);
int ringBufferRead(struct ringBuffer *buf, void *out);
void ringBufferWrite(struct ringBuffer *buf, void *in);