os/include/kernel/heap.h
2025-07-01 12:48:05 +02:00

24 lines
447 B
C

#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
extern struct Heap_Metadata global_heap;
struct Heap_Metadata {
struct Heap_Block* start;
size_t size;
};
struct Heap_Block {
struct Heap_Block* next;
size_t size;
bool used;
void* data;
};
void heap_init();
void* malloc(size_t size);
void* alloc_page(size_t num_pages, struct Heap_Block** ptr);
void free(void *ptr);
void free_page(struct Heap_Block *ptr);