1// SPDX-License-Identifier: GPL-3.0-or-later
2
3#pragma once
4
5#include <mos/mos_global.h>
6#include <mos/string_view.hpp>
7
8MOSAPI void *do_kmalloc(size_t size);
9MOSAPI void *do_kcalloc(size_t nmemb, size_t size);
10MOSAPI void *do_krealloc(void *ptr, size_t size);
11MOSAPI void do_kfree(const void *ptr);
12
13namespace mos
14{
15 struct default_allocator
16 {
17 static void *allocate(size_t size)
18 {
19 return do_kmalloc(size);
20 }
21
22 static void free(void *ptr, size_t = 0)
23 {
24 do_kfree(ptr);
25 }
26 };
27} // namespace mos
28