rpi_mailbox/
error.rs

1use nix;
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(thiserror::Error, Debug, Clone)]
6pub enum Error {
7    #[error("nix error")]
8    Nix(#[from] nix::Error),
9    #[error("request failed: {}", code)]
10    RequestFailed { code: u32 },
11    #[error("buf_size < req_resp_size: {} < {}", buf_size, req_resp_size)]
12    InvalidInput {
13        buf_size: usize,
14        req_resp_size: usize,
15    },
16    #[error("req_resp_size[31] was not set by firmware: {}", req_resp_size)]
17    ReqRespSizeBit { req_resp_size: u32 },
18    #[error("buffer size mismatch {} != {}", req_resp_size, think)]
19    BufferSizeMismatch { req_resp_size: usize, think: usize },
20    #[error("buffer size mismatch (supplied) {} != {}", req_resp_size, supplied)]
21    BufferSizeMismatchSupplied {
22        req_resp_size: usize,
23        supplied: usize,
24    },
25}