#[derive(Debug, thiserror::Error)]
pub enum UnicornError {
#[error("Unicorn library not available: {reason}")]
LibraryNotAvailable { reason: String },
#[error("Unicorn error (code {code}): {message}")]
SdkError { code: i32, message: String },
#[error("No Unicorn device found")]
NoDeviceFound,
#[error("Device not connected")]
NotConnected,
#[error("Not supported: {0}")]
NotSupported(String),
#[error("Null pointer returned from SDK")]
NullPointer,
}