From 7d2ab3a71f4bda9d8ee997764d98b29e13a902c5 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Mon, 29 Apr 2024 18:00:20 +0200 Subject: Kernel/Socket: Move sockets back to being file descriptors --- kernel/lib/ringbuffer.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'kernel/lib/ringbuffer.c') diff --git a/kernel/lib/ringbuffer.c b/kernel/lib/ringbuffer.c index 66dd17e..9caf555 100644 --- a/kernel/lib/ringbuffer.c +++ b/kernel/lib/ringbuffer.c @@ -16,6 +16,23 @@ int ringbuffer_init(struct ringbuffer *rb, u32 buffer_size) { return 1; } +u32 ringbuffer_used(const struct ringbuffer *rb) { + if (rb->write_ptr < rb->read_ptr) { + u32 c = rb->buffer_size - rb->read_ptr; + c += rb->write_ptr; + return c; + } + return rb->write_ptr - rb->read_ptr; +} + +u32 ringbuffer_capacity(const struct ringbuffer *rb) { + return rb->buffer_size - 1; +} + +u32 ringbuffer_unused(const struct ringbuffer *rb) { + return ringbuffer_capacity(rb) - ringbuffer_used(rb); +} + u32 ringbuffer_write(struct ringbuffer *rb, const u8 *buffer, u32 len) { const u32 orig_len = len; for (; len > 0;) { -- cgit v1.2.3