summaryrefslogtreecommitdiff
path: root/src/error.rs
blob: f4db21a70e31d7b32b38e067a16c3f31b5483849 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use quick_error::quick_error;

quick_error! {
    #[derive(Debug)]
    pub enum FuseError {
        Io(err: std::io::Error) { from() }
        ProtocolInit { display("fuse handshake failed (ancient kernel?)") }
        Truncated { display("fuse request truncated") }
        BadOpcode { display("unknown fuse operation") }
        BadLength { display("bad length in fuse request") }
        ShortWrite { display("fuse reply was trimmed on write()") }
    }
}

quick_error! {
    #[derive(Debug)]
    pub enum MountError {
        Io(err: std::io::Error) { from() }
        Fusermount { display("fusermount failed") }
    }
}

pub type FuseResult<T> = Result<T, FuseError>;