blob: 3c891a90e6332369b8e6e0ea5fe71066c26a7975 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
typedef struct
{
/* what you need */
struct RBITEM_t *next_alloc;
struct RBITEM_t *last_alloc;
struct RBITEM_t *first;
struct RBITEM_t *last;
void *memory;
int size;
} RINGBUFFER;
RINGBUFFER *rb_init(void *memory, int size);
void *rb_allocate(RINGBUFFER *rb, int size);
void rb_validate(RINGBUFFER *rb);
void *rb_item_ptr(void *p);
void *rb_prev(RINGBUFFER *rb, void *current);
void *rb_next(RINGBUFFER *rb, void *current);
void *rb_first(RINGBUFFER *rb);
void *rb_last(RINGBUFFER *rb);
|