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
5
size_t
clod_vm_page_size
() {
6
return
4096;
7
}
8
9
void
*
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
17
void
clod_vm_free
(
void
*ptr,
const
size_t
size) {
18
syscall(__NR_munmap, (
long
)ptr, (
long
)size);
19
}
vm.h
clod_vm_free
void clod_vm_free(void *ptr, size_t size)
Definition
vm.c:17
clod_vm_page_size
size_t clod_vm_page_size()
Definition
vm.c:5
clod_vm_alloc
void * clod_vm_alloc(size_t size)
Allocate virtual memory.
Definition
vm.c:9
src
sys
linux
vm.c
Generated by
1.16.1