diff --git a/src/call.rs b/src/call.rs index cf89465..aff381a 100644 --- a/src/call.rs +++ b/src/call.rs @@ -230,6 +230,11 @@ pub fn mkns(schemes: &[[usize; 2]]) -> Result { unsafe { syscall2(SYS_MKNS, schemes.as_ptr() as usize, schemes.len()) } } +/// Change mapping flags +pub unsafe fn mprotect(addr: usize, size: usize, flags: usize) -> Result { + syscall3(SYS_MPROTECT, addr, size, flags) +} + /// Sleep for the time specified in `req` pub fn nanosleep(req: &TimeSpec, rem: &mut TimeSpec) -> Result { unsafe { syscall2(SYS_NANOSLEEP, req as *const TimeSpec as usize, diff --git a/src/number.rs b/src/number.rs index 4d55d0a..ec9acfa 100644 --- a/src/number.rs +++ b/src/number.rs @@ -55,6 +55,7 @@ pub const SYS_GETPPID: usize = 64; pub const SYS_GETUID: usize = 199; pub const SYS_IOPL: usize = 110; pub const SYS_KILL: usize = 37; +pub const SYS_MPROTECT: usize = 125; pub const SYS_MKNS: usize = 984; pub const SYS_NANOSLEEP: usize =162; pub const SYS_PHYSALLOC: usize =945;