From 0985de75ec823508d4397182d7b95c529437f2d7 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Sun, 3 Feb 2008 22:42:03 +0000 Subject: added ring buffer --- src/engine/e_ringbuffer.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/engine/e_ringbuffer.h (limited to 'src/engine/e_ringbuffer.h') diff --git a/src/engine/e_ringbuffer.h b/src/engine/e_ringbuffer.h new file mode 100644 index 00000000..7908d720 --- /dev/null +++ b/src/engine/e_ringbuffer.h @@ -0,0 +1,21 @@ + +typedef struct RINGBUFFER; + +typedef struct +{ + /* what you need */ + struct RBITEM *next_alloc; + struct RBITEM *last_alloc; + struct RBITEM *first; + struct RBITEM *last; + void *memory; + int size; +} RINGBUFFER; + +RINGBUFFER *rb_init(void *memory, int size; +void *rb_allocate(RINGBUFFER *rb, int size); + +void *rb_prev(RINGBUFFER *rb, void *current); +void *rb_next(RINGBUFFER *rb, void *current); +void *rb_first(RINGBUFFER *rb); +void *rb_last(RINGBUFFER *rb); -- cgit 1.4.1