diff options
Diffstat (limited to 'src/engine/e_ringbuffer.h')
| -rw-r--r-- | src/engine/e_ringbuffer.h | 21 |
1 files changed, 21 insertions, 0 deletions
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); |