diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-03 22:42:03 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-03 22:42:03 +0000 |
| commit | 0985de75ec823508d4397182d7b95c529437f2d7 (patch) | |
| tree | cedfc3ace7c28d72d341e6d85ee20c8d27be040f /src/engine/e_ringbuffer.h | |
| parent | 5f32f5b36f5013deff20ba5144d6bec9077b6ea2 (diff) | |
| download | zcatch-0985de75ec823508d4397182d7b95c529437f2d7.tar.gz zcatch-0985de75ec823508d4397182d7b95c529437f2d7.zip | |
added ring buffer
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); |