From e8270791a4ce0e74886c227e5dd050c28e23c2a3 Mon Sep 17 00:00:00 2001 From: LaEntropiaa Date: Sun, 29 Mar 2026 17:30:01 -0600 Subject: [PATCH] feat(header): added signatures for devolping further functions --- include/arena.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/include/arena.h b/include/arena.h index 8933e7b..3978c7c 100644 --- a/include/arena.h +++ b/include/arena.h @@ -1,4 +1,39 @@ #ifndef ARENA_H #define ARENA_H +#include +#include +#include +#include + +typedef struct { + void *data; + size_t size; + size_t offset; +} Arena; + +typedef enum { + ARENA_OK, + ARENA_BAD_ALLOC, + ARENA_OUT_OF_SPACE, + ARENA_NULL_ARG, +} ArenaErr; + +typedef struct { + bool is_valid; + union { + ArenaErr err; + void *pointer; + }; +} ArenaPointer; + +Arena arena_init(void *buffer, size_t size); +void arena_destroy(Arena *arena); + +ArenaPointer arena_alloc(Arena *arena, size_t size, size_t alignment); +ArenaPointer arena_push(Arena *arena, void *data); +ArenaErr arena_realloc(Arena *arena, size_t new_size); + +size_t align_arena_offset(Arena *arena, size_t alignment); + #endif // !ARENA_H