use std::{error, io};
use thiserror::Error;
#[derive(Debug)]
pub enum RSealMemError {
AllocationError,
SealError(RSealError),
InvalidParameters(&'static str),
}
impl error::Error for RSealMemError {}
#[derive(Debug, Error)]
pub enum RSealError {
#[error("Invalid arguments provided to mseal: {0}")]
InvalidInput(String),
#[error("Memory allocation error during mseal: {0}")]
MemoryError(String),
#[error("Permission error during mseal: {0}")]
PermissionError(String),
#[error("Unknown error from mseal: {0}")]
UnknownError(String),
#[error("IO Error: {0}")]
IOError(#[from] io::Error),
#[error("mseal syscall not implemented: {0}")]
SyscallNotImplemented(String),
}