summaryrefslogtreecommitdiff
path: root/include/mem.h
blob: 613578691c9f4cb5025fb8a85b3cbdc44aed81ae (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
#pragma once
#include <types.h>

typedef enum {
    PAGE_FREE,
    PAGE_ALLOCATED
} MemoryPageAvailability;

struct page {
    void* locator;
    MemoryPageAvailability availability;
    struct page* next;
};

struct mem_info {
    void* start;
    size_t size;
};

void* kmalloc(size_t size);
void* memcpy(void* to, const void* from,size_t size);

void* kemalloc(size_t size);

extern struct page root;