Skip to main content

libczirw_sys/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum Error {
5    #[error(transparent)]
6    Utf8(#[from] std::str::Utf8Error),
7    #[error(transparent)]
8    FromUtf8(#[from] std::string::FromUtf8Error),
9    #[error(transparent)]
10    FromBytesUntilNull(#[from] std::ffi::FromBytesUntilNulError),
11    #[error(transparent)]
12    Nul(#[from] std::ffi::NulError),
13
14    #[error("LibCZIAPI invalid argument")]
15    LibCziApiInvalidArgument,
16    #[error("LibCZIAPI invalid handle")]
17    LibCziApiInvalidHandle,
18    #[error("LibCZIAPI out of memory")]
19    LibCziApiOutOfMemory,
20    #[error("LibCZIAPI index out of range")]
21    LibCziApiIndexOutOfRange,
22    #[error("LibCZIAPI lock-unlock semantic violated")]
23    LibCziApiLockUnlockSemanticViolated,
24    #[error("LibCZIAPI unspecified error")]
25    LibCziApiUnspecifiedError,
26    #[error("LibCZIAPI unknown error code: {0}")]
27    LibCziApiUnknownError(usize),
28    #[error("unknown dimension: {0}")]
29    UnknownDimension(String),
30    #[error("unknown data type: {0}")]
31    UnknownDataType(i32),
32    #[error("unknown pixel type: {0}")]
33    UnknownPixelType(i32),
34    #[error("wrong attachment type: {0}")]
35    InvalidAttachmentType(String),
36    #[error("raw data is malformed")]
37    MalformedData,
38}