⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

KernelError

Enum KernelError 

Source
pub enum KernelError {
Show 26 variants OutOfMemory { requested: usize, available: usize, }, InvalidAddress { addr: usize, }, UnmappedMemory { addr: usize, }, InvalidCapability { cap_id: u64, reason: CapError, }, InsufficientRights { required: u16, actual: u16, }, CapabilityRevoked { cap_id: u64, }, ProcessNotFound { pid: u64, }, ThreadNotFound { tid: u64, }, InvalidState { expected: &'static str, actual: &'static str, }, IpcError(IpcError), SchedulerError(SchedError), SyscallError(SyscallError), FsError(FsError), HardwareError { device: &'static str, code: u32, }, InvalidArgument { name: &'static str, value: &'static str, }, OperationNotSupported { operation: &'static str, }, ResourceExhausted { resource: &'static str, }, PermissionDenied { operation: &'static str, }, AlreadyExists { resource: &'static str, id: u64, }, NotFound { resource: &'static str, id: u64, }, Timeout { operation: &'static str, duration_ms: u64, }, NotImplemented { feature: &'static str, }, WouldBlock, BrokenPipe, NotInitialized { subsystem: &'static str, }, LegacyError { message: &'static str, },
}
Expand description

Main kernel error type

Variants§

§

OutOfMemory

Memory-related errors

Fields

§requested: usize
§available: usize
§

InvalidAddress

Fields

§addr: usize
§

UnmappedMemory

Fields

§addr: usize
§

InvalidCapability

Capability-related errors

Fields

§cap_id: u64
§reason: CapError
§

InsufficientRights

Fields

§required: u16
§actual: u16
§

CapabilityRevoked

Fields

§cap_id: u64
§

ProcessNotFound

Process-related errors

Fields

§pid: u64
§

ThreadNotFound

Fields

§tid: u64
§

InvalidState

Fields

§expected: &'static str
§actual: &'static str
§

IpcError(IpcError)

IPC-related errors

§

SchedulerError(SchedError)

Scheduler-related errors

§

SyscallError(SyscallError)

System call errors

§

FsError(FsError)

Filesystem-related errors

§

HardwareError

Hardware errors

Fields

§device: &'static str
§code: u32
§

InvalidArgument

Generic errors

Fields

§name: &'static str
§value: &'static str
§

OperationNotSupported

Fields

§operation: &'static str
§

ResourceExhausted

Fields

§resource: &'static str
§

PermissionDenied

Fields

§operation: &'static str
§

AlreadyExists

Fields

§resource: &'static str
§id: u64
§

NotFound

Fields

§resource: &'static str
§id: u64
§

Timeout

Fields

§operation: &'static str
§duration_ms: u64
§

NotImplemented

Fields

§feature: &'static str
§

WouldBlock

Operation would block

§

BrokenPipe

Broken pipe: write end closed or read end closed

§

NotInitialized

Subsystem not initialized (called before init())

Fields

§subsystem: &'static str
§

LegacyError

Legacy string error for gradual migration from &’static str patterns. New code should use specific error variants instead.

Fields

§message: &'static str

Trait Implementations§

Source§

impl Clone for KernelError

Source§

fn clone(&self) -> KernelError

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for KernelError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for KernelError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&'static str> for KernelError

Conversion from legacy &’static str errors to KernelError.

This enables gradual migration: functions returning Result<T, &’static str> can be called with ? from functions returning Result<T, KernelError>. New code should prefer specific error variants over this conversion.

Source§

fn from(msg: &'static str) -> Self

Converts to this type from the input type.
Source§

impl From<BondError> for KernelError

Source§

fn from(_e: BondError) -> Self

Converts to this type from the input type.
Source§

impl From<CapError> for KernelError

Source§

fn from(err: CapError) -> Self

Converts to this type from the input type.
Source§

impl From<FsError> for KernelError

Source§

fn from(err: FsError) -> Self

Converts to this type from the input type.
Source§

impl From<IpcError> for KernelError

Source§

fn from(err: IpcError) -> Self

Converts to this type from the input type.
Source§

impl From<SchedError> for KernelError

Source§

fn from(err: SchedError) -> Self

Converts to this type from the input type.
Source§

impl From<SyscallError> for KernelError

Source§

fn from(err: SyscallError) -> Self

Converts to this type from the input type.
Source§

impl From<VmError> for KernelError

Source§

fn from(e: VmError) -> Self

Converts to this type from the input type.
Source§

impl From<WaylandError> for KernelError

Source§

fn from(e: WaylandError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for KernelError

Source§

fn eq(&self, other: &KernelError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for KernelError

Source§

impl Eq for KernelError

Source§

impl StructuralPartialEq for KernelError

Auto Trait Implementations§

§

impl Freeze for KernelError

§

impl RefUnwindSafe for KernelError

§

impl Send for KernelError

§

impl Sync for KernelError

§

impl Unpin for KernelError

§

impl UnwindSafe for KernelError

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> ToString for T
where T: Display + ?Sized,

§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.