From b07c481b4add406e329e0e75a220e25148e594b6 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 6 Apr 2019 18:58:09 -0600 Subject: [PATCH] 0.1.53 - add funmap to Scheme traits --- Cargo.toml | 2 +- src/scheme/scheme.rs | 6 ++++++ src/scheme/scheme_block.rs | 6 ++++++ src/scheme/scheme_block_mut.rs | 6 ++++++ src/scheme/scheme_mut.rs | 6 ++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 4f863ffa55..8c76ca3193 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "redox_syscall" -version = "0.1.52" +version = "0.1.53" description = "A Rust library to access raw Redox system calls" license = "MIT" authors = ["Jeremy Soller "] diff --git a/src/scheme/scheme.rs b/src/scheme/scheme.rs index 28079d5361..c047e96833 100644 --- a/src/scheme/scheme.rs +++ b/src/scheme/scheme.rs @@ -25,6 +25,7 @@ pub trait Scheme { } else { Err(Error::new(EFAULT)) }, + SYS_FUNMAP => self.funmap(packet.b), SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), SYS_FSTAT => if packet.d >= mem::size_of::() { @@ -119,6 +120,11 @@ pub trait Scheme { Err(Error::new(EBADF)) } + #[allow(unused_variables)] + fn funmap(&self, address: usize) -> Result { + Err(Error::new(EBADF)) + } + #[allow(unused_variables)] fn fpath(&self, id: usize, buf: &mut [u8]) -> Result { Err(Error::new(EBADF)) diff --git a/src/scheme/scheme_block.rs b/src/scheme/scheme_block.rs index 46f824cea4..0407dde61d 100644 --- a/src/scheme/scheme_block.rs +++ b/src/scheme/scheme_block.rs @@ -25,6 +25,7 @@ pub trait SchemeBlock { } else { Err(Error::new(EFAULT)) }, + SYS_FUNMAP => self.funmap(packet.b), SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), SYS_FSTAT => if packet.d >= mem::size_of::() { @@ -119,6 +120,11 @@ pub trait SchemeBlock { Err(Error::new(EBADF)) } + #[allow(unused_variables)] + fn funmap(&self, address: usize) -> Result> { + Err(Error::new(EBADF)) + } + #[allow(unused_variables)] fn fpath(&self, id: usize, buf: &mut [u8]) -> Result> { Err(Error::new(EBADF)) diff --git a/src/scheme/scheme_block_mut.rs b/src/scheme/scheme_block_mut.rs index 41aa1c6d90..411035f42f 100644 --- a/src/scheme/scheme_block_mut.rs +++ b/src/scheme/scheme_block_mut.rs @@ -25,6 +25,7 @@ pub trait SchemeBlockMut { } else { Err(Error::new(EFAULT)) }, + SYS_FUNMAP => self.funmap(packet.b), SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), SYS_FSTAT => if packet.d >= mem::size_of::() { @@ -119,6 +120,11 @@ pub trait SchemeBlockMut { Err(Error::new(EBADF)) } + #[allow(unused_variables)] + fn funmap(&mut self, address: usize) -> Result> { + Err(Error::new(EBADF)) + } + #[allow(unused_variables)] fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result> { Err(Error::new(EBADF)) diff --git a/src/scheme/scheme_mut.rs b/src/scheme/scheme_mut.rs index f3689caa16..abd2e88e5c 100644 --- a/src/scheme/scheme_mut.rs +++ b/src/scheme/scheme_mut.rs @@ -25,6 +25,7 @@ pub trait SchemeMut { } else { Err(Error::new(EFAULT)) }, + SYS_FUNMAP => self.funmap(packet.b), SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), SYS_FSTAT => if packet.d >= mem::size_of::() { @@ -119,6 +120,11 @@ pub trait SchemeMut { Err(Error::new(EBADF)) } + #[allow(unused_variables)] + fn funmap(&mut self, address: usize) -> Result { + Err(Error::new(EBADF)) + } + #[allow(unused_variables)] fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result { Err(Error::new(EBADF))