diff --git a/include/kernaux/malloc.h b/include/kernaux/malloc.h index 0c00627c..eea90f78 100644 --- a/include/kernaux/malloc.h +++ b/include/kernaux/malloc.h @@ -5,6 +5,21 @@ extern "C" { #endif +#include + +typedef struct KernAux_Malloc { + int foobar; +} *KernAux_Malloc; + +struct KernAux_Malloc KernAux_Malloc_create(); +void KernAux_Malloc_init(KernAux_Malloc malloc); + +void +KernAux_Malloc_add_memory_block(KernAux_Malloc malloc, void *ptr, size_t size); + +void *KernAux_Malloc_malloc(KernAux_Malloc malloc, size_t size); +void KernAux_Malloc_free (KernAux_Malloc malloc, void *ptr); + #ifdef __cplusplus } #endif diff --git a/src/malloc.c b/src/malloc.c index aa4f37de..05a493d6 100644 --- a/src/malloc.c +++ b/src/malloc.c @@ -2,7 +2,54 @@ #include "config.h" #endif +#include #include -__attribute__((unused)) -static const int foobar = 1; +#include + +struct KernAux_Malloc KernAux_Malloc_create() +{ + struct KernAux_Malloc malloc; + KernAux_Malloc_init(&malloc); + return malloc; +} + +void KernAux_Malloc_init(const KernAux_Malloc malloc) +{ + KERNAUX_ASSERT(malloc); + + (void)malloc; +} + +void KernAux_Malloc_add_memory_block( + const KernAux_Malloc malloc, + void *const ptr, + const size_t size +) { + KERNAUX_ASSERT(malloc); + KERNAUX_ASSERT(ptr); + KERNAUX_ASSERT(size); + + (void)malloc; + (void)ptr; + (void)size; +} + +void *KernAux_Malloc_malloc(const KernAux_Malloc malloc, size_t size) +{ + KERNAUX_ASSERT(malloc); + if (size == 0) return NULL; + + (void)malloc; + (void)size; + + return NULL; +} + +void KernAux_Malloc_free(const KernAux_Malloc malloc, void *const ptr) +{ + KERNAUX_ASSERT(malloc); + + (void)malloc; + (void)ptr; +}