mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
add mremap + flags
This commit is contained in:
@@ -1524,18 +1524,26 @@ AT_REMOVEDIR :: uintptr(0x200)
|
|||||||
AT_SYMLINK_FOLLOW :: uintptr(0x400)
|
AT_SYMLINK_FOLLOW :: uintptr(0x400)
|
||||||
AT_SYMLINK_NOFOLLOW :: uintptr(0x100)
|
AT_SYMLINK_NOFOLLOW :: uintptr(0x100)
|
||||||
|
|
||||||
PROT_NONE :: 0x0
|
// mmap flags
|
||||||
PROT_READ :: 0x1
|
PROT_NONE :: 0x0
|
||||||
PROT_WRITE :: 0x2
|
PROT_READ :: 0x1
|
||||||
PROT_EXEC :: 0x4
|
PROT_WRITE :: 0x2
|
||||||
|
PROT_EXEC :: 0x4
|
||||||
PROT_GROWSDOWN :: 0x01000000
|
PROT_GROWSDOWN :: 0x01000000
|
||||||
PROT_GROWSUP :: 0x02000000
|
PROT_GROWSUP :: 0x02000000
|
||||||
|
|
||||||
MAP_FIXED :: 0x1
|
MAP_FIXED :: 0x10
|
||||||
MAP_PRIVATE :: 0x2
|
MAP_SHARED :: 0x1
|
||||||
MAP_SHARED :: 0x4
|
MAP_PRIVATE :: 0x2
|
||||||
MAP_ANONYMOUS :: 0x20
|
MAP_SHARED_VALIDATE :: 0x3
|
||||||
|
MAP_ANONYMOUS :: 0x20
|
||||||
|
|
||||||
|
// mremap flags
|
||||||
|
MREMAP_MAYMOVE :: 1
|
||||||
|
MREMAP_FIXED :: 2
|
||||||
|
MREMAP_DONTUNMAP :: 4
|
||||||
|
|
||||||
|
// madvise flags
|
||||||
MADV_NORMAL :: 0
|
MADV_NORMAL :: 0
|
||||||
MADV_RANDOM :: 1
|
MADV_RANDOM :: 1
|
||||||
MADV_SEQUENTIAL :: 2
|
MADV_SEQUENTIAL :: 2
|
||||||
@@ -1815,6 +1823,10 @@ sys_mmap :: proc "contextless" (addr: rawptr, length: uint, prot, flags, fd: int
|
|||||||
return int(intrinsics.syscall(SYS_mmap, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), offset))
|
return int(intrinsics.syscall(SYS_mmap, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), offset))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sys_mremap :: proc "contextless" (addr: rawptr, old_length, new_length: uint, flags: int, new_addr: rawptr = nil) -> int {
|
||||||
|
return int(intrinsics.syscall(SYS_mremap, uintptr(addr), uintptr(old_length), uintptr(new_length), uintptr(flags), uintptr(new_addr)))
|
||||||
|
}
|
||||||
|
|
||||||
sys_munmap :: proc "contextless" (addr: rawptr, length: uint) -> int {
|
sys_munmap :: proc "contextless" (addr: rawptr, length: uint) -> int {
|
||||||
return int(intrinsics.syscall(SYS_munmap, uintptr(addr), uintptr(length)))
|
return int(intrinsics.syscall(SYS_munmap, uintptr(addr), uintptr(length)))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user