about summary refs log tree commit diff
path: root/src/engine/e_ringbuffer.h
blob: 7908d720065c29384101fc9ccaf91780c660a3cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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);