Add Protect_Flags for virtual.protect

This commit is contained in:
gingerBill
2021-10-04 17:42:15 +01:00
parent 728f143e33
commit 586a000152
3 changed files with 38 additions and 9 deletions
+7 -2
View File
@@ -86,8 +86,13 @@ _decommit :: proc(data: rawptr, size: uint) {
_release :: proc(data: rawptr, size: uint) {
munmap(data, size)
}
_protect :: proc(data: rawptr, size: uint) -> bool {
err := mprotect(data, size, PROT_NONE)
_protect :: proc(data: rawptr, size: uint, flags: Protect_Flags) -> bool {
pflags: c.int
pflags = PROT_NONE
if .Read in flags { pflags |= PROT_READ }
if .Write in flags { pflags |= PROT_WRITE }
if .Execute in flags { pflags |= PROT_EXEC }
err := mprotect(data, size, pflags)
return err != 0
}