blob: 0b7057b744f350e509738cc718d2d17a720bc674 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#ifndef HEAP_H
#define HEAP_H
#include "def.h"
void heap_init();
void heap_add(void *ptr, usize size);
void *try_kmalloc(usize size);
void *kmalloc(usize siz);
void kfree(void *ptr);
void *krealloc(void *ptr, usize size);
typedef struct __attribute__((packed)) heap_header {
struct heap_header *next;
usize size;
} heap_header;
heap_header *heap_get_free_ptr();
#ifdef DEBUG
void heap_check();
#else
#define heap_check()
#endif
#endif
|