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);
|