diff options
Diffstat (limited to 'tools/src/ringbuffer.h')
| -rw-r--r-- | tools/src/ringbuffer.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/src/ringbuffer.h b/tools/src/ringbuffer.h new file mode 100644 index 0000000..553ae76 --- /dev/null +++ b/tools/src/ringbuffer.h @@ -0,0 +1,22 @@ +#ifndef RINGBUFFER_H +#define RINGBUFFER_H + +#include "types.h" + +typedef struct { + u8 *buffer; + size_t len; + size_t read; + size_t write; +} ringbuffer_t; + +ringbuffer_t *ringbuffer_alloc(size_t len); +void ringbuffer_free(ringbuffer_t *bfr); + +size_t ringbuffer_read(u8 *target, size_t len, ringbuffer_t *bfr); +size_t ringbuffer_write(const u8 *src, size_t len, ringbuffer_t *bfr); + +size_t ringbuffer_get_used(ringbuffer_t *bfr); +size_t ringbuffer_get_free(ringbuffer_t *bfr); + +#endif |
