From b1e857cf1471d1871a9396696b22fa531da98249 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 23 Nov 2024 22:33:43 +0100 Subject: add projbase to repo --- project-base/src/memory_bucket.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 project-base/src/memory_bucket.h (limited to 'project-base/src/memory_bucket.h') diff --git a/project-base/src/memory_bucket.h b/project-base/src/memory_bucket.h new file mode 100644 index 0000000..b8f24f5 --- /dev/null +++ b/project-base/src/memory_bucket.h @@ -0,0 +1,26 @@ +/* +* BSD 2-Clause “Simplified” License +* Copyright (c) 2019, Aldrik Ramaekers, aldrik.ramaekers@protonmail.com +* All rights reserved. +*/ + +#define kilobytes(num) num*1000 +#define megabytes(num) kilobytes(num*1000) + +typedef struct t_memory_bucket_entry +{ + char *data; + s32 length; + s32 cursor; +} memory_bucket_entry; + +typedef struct t_memory_bucket +{ + mutex bucket_mutex; + array buckets; +} memory_bucket; + +memory_bucket memory_bucket_init(s32 bucket_size); +void* memory_bucket_reserve(memory_bucket *bucket, s32 reserve_length); +void memory_bucket_reset(memory_bucket *bucket); +void memory_bucket_destroy(memory_bucket *bucket); \ No newline at end of file -- cgit v1.2.3-70-g09d2