diff --git a/src/scheme/mod.rs b/src/scheme/mod.rs index 6ca1f20468f882bb7aded29d2496c460cb90914c..73f1e3014fdbe68f57668f9351b16f2d9df0a1c4 100644 --- a/src/scheme/mod.rs +++ b/src/scheme/mod.rs @@ -21,12 +21,10 @@ use self::env::EnvScheme; use self::initfs::InitFsScheme; use self::irq::IrqScheme; use self::memory::MemoryScheme; -use self::null::NullScheme; use self::pipe::PipeScheme; use self::root::RootScheme; use self::sys::SysScheme; use self::time::TimeScheme; -use self::zero::ZeroScheme; /// `debug:` - provides access to serial console pub mod debug; @@ -50,9 +48,6 @@ pub mod live; /// `memory:` - a scheme for accessing physical memory pub mod memory; -/// `null:` - a scheme that will discard all writes, and read no bytes -pub mod null; - /// `pipe:` - used internally by the kernel to implement `pipe` pub mod pipe; @@ -68,9 +63,6 @@ pub mod time; /// A wrapper around userspace schemes, tightly dependent on `root` pub mod user; -/// `zero:` - a scheme that will discard all writes, and always fill read buffers with zero -pub mod zero; - /// Limit on number of schemes pub const SCHEME_MAX_SCHEMES: usize = 65536; @@ -117,10 +109,8 @@ impl SchemeList { self.insert(ns, Box::new(*b"event"), |_| Arc::new(Box::new(EventScheme::new()))).unwrap(); self.insert(ns, Box::new(*b"env"), |_| Arc::new(Box::new(EnvScheme::new()))).unwrap(); self.insert(ns, Box::new(*b"memory"), |_| Arc::new(Box::new(MemoryScheme))).unwrap(); - self.insert(ns, Box::new(*b"null"), |_| Arc::new(Box::new(NullScheme))).unwrap(); self.insert(ns, Box::new(*b"sys"), |_| Arc::new(Box::new(SysScheme::new()))).unwrap(); self.insert(ns, Box::new(*b"time"), |scheme_id| Arc::new(Box::new(TimeScheme::new(scheme_id)))).unwrap(); - self.insert(ns, Box::new(*b"zero"), |_| Arc::new(Box::new(ZeroScheme))).unwrap(); ns } diff --git a/src/scheme/null.rs b/src/scheme/null.rs deleted file mode 100644 index 3906d32de6dfcea7dba8bdd6f11bf57077be92bd..0000000000000000000000000000000000000000 --- a/src/scheme/null.rs +++ /dev/null @@ -1,55 +0,0 @@ -use syscall::error::*; -use syscall::scheme::Scheme; - -pub struct NullScheme; - -impl Scheme for NullScheme { - fn open(&self, _path: &[u8], _flags: usize, _uid: u32, _gid: u32) -> Result<usize> { - Ok(0) - } - - fn dup(&self, _file: usize, buf: &[u8]) -> Result<usize> { - if ! buf.is_empty() { - return Err(Error::new(EINVAL)); - } - - Ok(0) - } - - /// Read the file `number` into the `buffer` - /// - /// Returns the number of bytes read - fn read(&self, _file: usize, _buf: &mut [u8]) -> Result<usize> { - Ok(0) - } - - /// Write the `buffer` to the `file` - /// - /// Returns the number of bytes written - fn write(&self, _file: usize, buffer: &[u8]) -> Result<usize> { - Ok(buffer.len()) - } - - fn fcntl(&self, _id: usize, _cmd: usize, _arg: usize) -> Result<usize> { - Ok(0) - } - - fn fpath(&self, _id: usize, buf: &mut [u8]) -> Result<usize> { - let mut i = 0; - let scheme_path = b"null:"; - while i < buf.len() && i < scheme_path.len() { - buf[i] = scheme_path[i]; - i += 1; - } - Ok(i) - } - - fn fsync(&self, _file: usize) -> Result<usize> { - Ok(0) - } - - /// Close the file `number` - fn close(&self, _file: usize) -> Result<usize> { - Ok(0) - } -} diff --git a/src/scheme/zero.rs b/src/scheme/zero.rs deleted file mode 100644 index 05b1cdcff20f8ca364fe5f6c76854d296b6be2cc..0000000000000000000000000000000000000000 --- a/src/scheme/zero.rs +++ /dev/null @@ -1,60 +0,0 @@ -use syscall::error::*; -use syscall::scheme::Scheme; - -pub struct ZeroScheme; - -impl Scheme for ZeroScheme { - fn open(&self, _path: &[u8], _flags: usize, _uid: u32, _gid: u32) -> Result<usize> { - Ok(0) - } - - fn dup(&self, _file: usize, buf: &[u8]) -> Result<usize> { - if ! buf.is_empty() { - return Err(Error::new(EINVAL)); - } - - Ok(0) - } - - /// Read the file `number` into the `buffer` - /// - /// Returns the number of bytes read - fn read(&self, _file: usize, buf: &mut [u8]) -> Result<usize> { - let mut i = 0; - while i < buf.len() { - buf[i] = 0; - i += 1; - } - Ok(i) - } - - /// Write the `buffer` to the `file` - /// - /// Returns the number of bytes written - fn write(&self, _file: usize, buffer: &[u8]) -> Result<usize> { - Ok(buffer.len()) - } - - fn fcntl(&self, _id: usize, _cmd: usize, _arg: usize) -> Result<usize> { - Ok(0) - } - - fn fpath(&self, _id: usize, buf: &mut [u8]) -> Result<usize> { - let mut i = 0; - let scheme_path = b"zero:"; - while i < buf.len() && i < scheme_path.len() { - buf[i] = scheme_path[i]; - i += 1; - } - Ok(i) - } - - fn fsync(&self, _file: usize) -> Result<usize> { - Ok(0) - } - - /// Close the file `number` - fn close(&self, _file: usize) -> Result<usize> { - Ok(0) - } -}