libclod
C library for interacting with NBTs, region files, LOD data and other things.
Loading...
Searching...
No Matches
vm.c
1#include <clod/sys/vm.h>
2#include <linux/mman.h>
3#include "syscall.h"
4
6 return 4096;
7}
8
9void *clod_vm_alloc(const size_t size) {
10 const long ret = syscall(__NR_mmap, 0, (long)size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
11 if (ret < 0 && ret >= -4096) {
12 return nullptr;
13 }
14 return (void*)ret;
15}
16
17void clod_vm_free(void *ptr, const size_t size) {
18 syscall(__NR_munmap, (long)ptr, (long)size);
19}
void clod_vm_free(void *ptr, size_t size)
Definition vm.c:17
size_t clod_vm_page_size()
Definition vm.c:5
void * clod_vm_alloc(size_t size)
Allocate virtual memory.
Definition vm.c:9