diff options
author | Anton Kling <anton@kling.gg> | 2024-04-25 21:46:31 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-04-25 21:46:31 +0200 |
commit | 3df15584d6663b330c344068dce7d36c6f27cf4b (patch) | |
tree | db519e25e2b8bd59d68367d7a2441b18fcd747f6 /kernel/lib/ringbuffer.h | |
parent | 0305b0abe4ada656462d575a5e0f0618b42def2d (diff) |
Kernel: Add a ringbuffer
This will be used later
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 |