1quick_error! {
2 #[derive(Debug)]
3 pub enum FSError {
4 SystemError(errno: nix::errno::Errno) {
5 description(errno.desc())
6 }
7 InvalidPath
8 InvalidUtf8
9 }
10}
11
12impl From<nix::Error> for FSError {
13 fn from(e: nix::Error) -> Self {
14 match e {
15 nix::Error::Sys(errno) => FSError::SystemError(errno),
16 nix::Error::InvalidPath => FSError::InvalidPath,
17 nix::Error::InvalidUtf8 => FSError::InvalidUtf8,
18 nix::Error::UnsupportedOperation => unreachable!(),
19 }
20 }
21}
22
23pub type Result<T> = std::result::Result<T, FSError>;