diff options
Diffstat (limited to 'kernel/lib/ringbuffer.h')
-rw-r--r-- | kernel/lib/ringbuffer.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/lib/ringbuffer.h b/kernel/lib/ringbuffer.h new file mode 100644 index 0000000..c329af3 --- /dev/null +++ b/kernel/lib/ringbuffer.h @@ -0,0 +1,16 @@ +#include <typedefs.h> + +struct ringbuffer { + u8 *buffer; + u32 buffer_size; + u32 read_ptr; + u32 write_ptr; +}; + +int ringbuffer_init(struct ringbuffer *rb, u32 buffer_size); +u32 ringbuffer_write(struct ringbuffer *rb, const u8 *buffer, u32 len); +u32 ringbuffer_read(struct ringbuffer *rb, u8 *buffer, u32 len); +void ringbuffer_free(struct ringbuffer *rb); +#ifdef KERNEL_TEST +void ringbuffer_test(void); +#endif // KERNEL_TEST |