FrostWing
A lightweight raw-control operating system.
Loading...
Searching...
No Matches
heap.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <stddef.h>
14#include <basics.h>
15
16extern uint64_t heap_begin;
17extern uint64_t heap_end;
18extern uint64_t last_alloc;
19extern uint64_t alloc_count;
20extern uint64_t memory_used;
21
28extern void mm_init(uintptr_t kernel_end, int64 heap_size);
29
35extern void mm_extend(uint64_t additional_size);
36
42extern void mm_constrict(uint64_t removal_size);
43
48extern void mm_print_out();
49
56extern void* kmalloc(size_t size);
57
64extern void* krealloc(void* ptr, size_t size);
65
73void* kmalloc_aligned(size_t size, size_t align);
74
80extern void kfree(void *ptr);
This is a basic header files with FrostWing specific short forms and basically a good for life header...
void mm_constrict(uint64_t removal_size)
Function to constrict available heap.
void kfree(void *ptr)
The main free function for memory allocation.
void * kmalloc_aligned(size_t size, size_t align)
void mm_print_out()
Prints out heap information.
void * kmalloc(size_t size)
The main memory alloc function.
void mm_extend(uint64_t additional_size)
Function to extend available heap.
void * krealloc(void *ptr, size_t size)
The main memory realloc function.
void mm_init(uintptr_t kernel_end, int64 heap_size)
Function to initlialize heap.