From a3685d46c883c96e122b12bfebc6975705962e07 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 3 Mar 2024 14:29:17 +0100 Subject: v2 initial commit --- src/memory_bucket.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/memory_bucket.h (limited to 'src/memory_bucket.h') diff --git a/src/memory_bucket.h b/src/memory_bucket.h new file mode 100644 index 0000000..f203804 --- /dev/null +++ b/src/memory_bucket.h @@ -0,0 +1,28 @@ +#ifndef INCLUDE_MEMORY_BUCKET +#define INCLUDE_MEMORY_BUCKET + +#define kilobytes(num) num*1000 +#define megabytes(num) kilobytes(num*1000) + +#include "mutex.h" +#include "array.h" + +typedef struct t_memory_bucket_entry +{ + char *data; + int length; + int cursor; +} memory_bucket_entry; + +typedef struct t_memory_bucket +{ + mutex bucket_mutex; + array buckets; +} memory_bucket; + +memory_bucket memory_bucket_init(int bucket_size); +void* memory_bucket_reserve(memory_bucket *bucket, int reserve_length); +void memory_bucket_reset(memory_bucket *bucket); +void memory_bucket_destroy(memory_bucket *bucket); + +#endif \ No newline at end of file -- cgit v1.2.3-70-g09d2