ddnet/src/engine/e_ringbuffer.h

23 lines
500 B
C
Raw Normal View History

2008-02-03 22:42:03 +00:00
typedef struct
{
/* what you need */
2008-02-03 23:52:28 +00:00
struct RBITEM_t *next_alloc;
struct RBITEM_t *last_alloc;
struct RBITEM_t *first;
struct RBITEM_t *last;
2008-02-03 22:42:03 +00:00
void *memory;
int size;
} RINGBUFFER;
2008-02-03 23:52:28 +00:00
RINGBUFFER *rb_init(void *memory, int size);
2008-02-03 22:42:03 +00:00
void *rb_allocate(RINGBUFFER *rb, int size);
2008-02-03 23:52:28 +00:00
void rb_validate(RINGBUFFER *rb);
void *rb_item_ptr(void *p);
2008-02-03 22:42:03 +00:00
void *rb_prev(RINGBUFFER *rb, void *current);
void *rb_next(RINGBUFFER *rb, void *current);
void *rb_first(RINGBUFFER *rb);
void *rb_last(RINGBUFFER *rb);