/* * Copyright (C) 2020-2022 The opuntiaOS Project Authors. * + Contributed by Nikita Melekhin * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef _KERNEL_MEM_KMALLOC_H #define _KERNEL_MEM_KMALLOC_H #include #include #define KMALLOC_SPACE_SIZE (4 * MB) #define KMALLOC_BLOCK_SIZE 32 void kmalloc_init(); void* kmalloc(size_t size); void* kmalloc_aligned(size_t size, size_t alignment); void* kmalloc_page_aligned(); void kfree(void* ptr); void kfree_aligned(void* ptr); void* krealloc(void* ptr, size_t size); #endif // _KERNEL_MEM_KMALLOC_H