Files
krata/crates/xen/xenclient/src/error.rs

40 lines
1.3 KiB
Rust
Raw Normal View History

2024-01-30 18:02:32 -08:00
use std::io;
#[derive(thiserror::Error, Debug)]
pub enum Error {
2024-03-07 04:14:25 -08:00
#[error("io issue encountered: {0}")]
2024-01-30 18:02:32 -08:00
Io(#[from] io::Error),
2024-03-07 04:14:25 -08:00
#[error("xenstore issue encountered: {0}")]
2024-01-30 18:02:32 -08:00
XenStore(#[from] xenstore::error::Error),
2024-03-07 04:14:25 -08:00
#[error("xencall issue encountered: {0}")]
2024-01-30 18:09:26 -08:00
XenCall(#[from] xencall::error::Error),
2024-01-30 18:02:32 -08:00
#[error("domain does not have a tty")]
TtyNotFound,
#[error("introducing the domain failed")]
IntroduceDomainFailed,
#[error("string conversion of a path failed")]
PathStringConversion,
#[error("parent of path not found")]
PathParentNotFound,
#[error("domain does not exist")]
DomainNonExistent,
2024-03-07 04:14:25 -08:00
#[error("elf parse failed: {0}")]
2024-01-30 18:02:32 -08:00
ElfParseFailed(#[from] elf::ParseError),
#[error("mmap failed")]
MmapFailed,
#[error("munmap failed")]
UnmapFailed,
2024-03-21 21:31:10 +00:00
#[error("memory setup failed: {0}")]
MemorySetupFailed(&'static str),
2024-01-30 18:02:32 -08:00
#[error("populate physmap failed: wanted={0}, received={1}, input_extents={2}")]
PopulatePhysmapFailed(usize, usize, usize),
#[error("unknown elf compression method")]
ElfCompressionUnknown,
#[error("expected elf image format not found")]
ElfInvalidImage,
#[error("provided elf image does not contain xen support")]
ElfXenSupportMissing,
2024-01-30 17:42:55 -08:00
}
2024-01-30 18:02:32 -08:00
pub type Result<T> = std::result::Result<T, Error>;