pub type VmBackendResult<T = ()> = Result<T, VmBackendError>;
#[derive(Clone, Copy, Debug, Eq, PartialEq, thiserror::Error)]
pub enum VmBackendError {
#[error("invalid virtualization backend input")]
InvalidInput,
#[error("invalid virtualization backend data")]
InvalidData,
#[error("invalid virtualization backend state")]
InvalidState,
#[error("unsupported virtualization backend operation")]
Unsupported,
#[error("virtualization backend memory allocation failed")]
OutOfMemory,
#[error("virtualization backend resource is busy")]
ResourceBusy,
}