From db22b587966b4a4eaa47536f32ca812532446bcb Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Mon, 18 May 2015 00:48:07 +0200 Subject: heavy refactoring underway --- fs/ringbuffer.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 fs/ringbuffer.h (limited to 'fs/ringbuffer.h') diff --git a/fs/ringbuffer.h b/fs/ringbuffer.h new file mode 100644 index 0000000..31d00cf --- /dev/null +++ b/fs/ringbuffer.h @@ -0,0 +1,27 @@ +#ifndef RINGBUFFER_H +#define RINGBUFFER_H + +#include +#include + +// Simple FIRST IN FIRST OUT +// requires kballoc - block allocation +typedef struct ringbuffer_struct +{ + uint32_t size; + uint32_t front; + uint32_t back; + + uint8_t *data; + +}ringbuffer; + +// create new fifo of given size (in blocks) +ringbuffer ringbuffer_init(uint32_t blocks); + +// true on success +bool ringbuffer_put(ringbuffer*,uint8_t); +uint8_t ringbuffer_get(ringbuffer*); // blocking +bool ringbuffer_has(ringbuffer*); // check if somehting waiting? + +#endif -- cgit v1.2.3