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 | |
8 | MOSAPI void *do_kmalloc(size_t size); |
9 | MOSAPI void *do_kcalloc(size_t nmemb, size_t size); |
10 | MOSAPI void *do_krealloc(void *ptr, size_t size); |
11 | MOSAPI void do_kfree(const void *ptr); |
12 | |
13 | namespace 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 | |