From ef805e9373fd946bf1fe667bf18a54dfed6d1045 Mon Sep 17 00:00:00 2001 From: Alejandro Sior Date: Sat, 23 Jul 2022 22:53:47 +0200 Subject: kernel: add basic modules: arch, mem, rt --- mem/allocator.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 mem/allocator.h (limited to 'mem/allocator.h') diff --git a/mem/allocator.h b/mem/allocator.h new file mode 100644 index 0000000..535965a --- /dev/null +++ b/mem/allocator.h @@ -0,0 +1,23 @@ +#ifndef MEM_ALLOCATOR_H +#define MEM_ALLOCATOR_H + +#include + +typedef struct mem_allocator MemAllocator; + +typedef void *(*MemAlloc)(MemAllocator *, usize); +typedef void *(*MemRealloc)(MemAllocator *, void *, usize); +typedef void (*MemFree)(MemAllocator *, void *); + +/* Abstract object representing an allocator */ +struct mem_allocator { + MemAlloc alloc; + MemRealloc realloc; + MemFree free; +}; + +void *mem_alloc(MemAllocator *self, usize n); +void *mem_realloc(MemAllocator *self, void *ptr, usize n); +void mem_free(MemAllocator *self, void *ptr); + +#endif \ No newline at end of file -- cgit v1.2.3