1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use nix;

pub type Result<T> = ::std::result::Result<T, Error>;

#[derive(Clone, Debug)]
pub enum Error {
	System,
	InvalidPath,

	NoSize,
	WrongSize,
}

impl From<nix::Error> for Error {
	fn from(error: nix::Error) -> Error {
		match error {
			nix::Error::Sys(errno) => {
				match errno {
					_ => Error::System
				}
			}

			nix::Error::InvalidPath => {
				Error::InvalidPath
			}
		}
	}
}