diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-01-01 19:35:15 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-01-01 23:19:58 +0100 |
| commit | acd54f11b21ebcc3eadfbf7d4be14639fac82ca8 (patch) | |
| tree | e1f972e312108d4f08b7f723862b6c49d4b29d47 /ring-buffer.h | |
| parent | 819ca3927f6f156d12eeddae4ed84d04d28b7e1b (diff) | |
| download | vis-acd54f11b21ebcc3eadfbf7d4be14639fac82ca8.tar.gz vis-acd54f11b21ebcc3eadfbf7d4be14639fac82ca8.tar.xz | |
Add rudimentary support for jump list (CTRL+{O,I})
Diffstat (limited to 'ring-buffer.h')
| -rw-r--r-- | ring-buffer.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ring-buffer.h b/ring-buffer.h new file mode 100644 index 0000000..cfd70e0 --- /dev/null +++ b/ring-buffer.h @@ -0,0 +1,21 @@ +#ifndef RING_BUFFER_H +#define RING_BUFFER_H + +#include <stdbool.h> +#include <stddef.h> + +/* + * Circular buffer with functions for accessing elements in order. + * One slot always remains unused to distinguish between the empty/full case. + */ + +typedef struct RingBuffer RingBuffer; + +RingBuffer *ringbuf_alloc(size_t size); +void ringbuf_free(RingBuffer*); +void ringbuf_add(RingBuffer*, const void *value); +const void *ringbuf_prev(RingBuffer*); +const void *ringbuf_next(RingBuffer*); +void ringbuf_invalidate(RingBuffer*); + +#endif |
