use types::{ bounded::CapSlot, id::{EndpointId, IrqId, ProcessId, ThreadId}, permission::Permission, }; #[derive(Debug)] pub enum KernelError { InvalidSlot(CapSlot), RevokedCapability(CapSlot), PermissionDenied { slot: CapSlot, needed: Permission }, NoFreeSlot, InvalidProcess(ProcessId), WouldBlock, TooManyThreadsInProcess, TooManyProcesses, InvalidStateTransition(ThreadId), InvalidThread(ThreadId), TooManyThreads, OutOfMemory, InvalidEndpoint(EndpointId), InvalidIrq(IrqId), EndpointFull, ProcessCreateDenied, IrqAlreadyOwned(IrqId), }