#include <libk/ringbuffer.h>
#include <libk/std.h>
#include <libk/string.h>
#include <mm/liballoc.h>

bool ringbuffer_init (struct ringbuffer* rb, size_t capacity, size_t type_size) {
  void* buf = malloc (capacity * type_size);

  if (buf == NULL)
    return false;

  memset (rb, 0, sizeof (*rb));

  rb->capacity = capacity;
  rb->buffer = buf;

  return true;
}

void ringbuffer_fini (struct ringbuffer* rb) { free (rb->buffer); }
