summaryrefslogtreecommitdiff
path: root/kernel/src/generic/heap.hpp
blob: 960087bf8043fbf8279ba9d33bc492b0579b497b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include <cstdint>

#define KHEAP_SIZE (16 * 1024 * 1024)
#define HEAP_SIZE KHEAP_SIZE
struct heap_block {
    std::uint32_t size;
    std::uint16_t is_free;
    heap_block* next;
};

namespace kheap {

    void* opt_malloc(std::size_t size);
    void opt_free(void* ptr);

    void init();
    void* malloc(std::size_t size);
    void free(void* ptr);
}