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}