[][src]Enum sunrise_kernel::i386::PrivilegeLevel

#[repr(u8)]pub enum PrivilegeLevel {
    Ring0,
    Ring1,
    Ring2,
    Ring3,
}

Represents a protection ring level.

Variants

Ring0

Privilege-level 0 (most privilege): This level is used by critical system-software components that require direct access to, and control over, all processor and system resources. This can include BIOS, memory-management functions, and interrupt handlers.

Ring1

Privilege-level 1 (moderate privilege): This level is used by less-critical system- software services that can access and control a limited scope of processor and system resources. Software running at these privilege levels might include some device drivers and library routines. The actual privileges of this level are defined by the operating system.

Ring2

Privilege-level 2 (moderate privilege): Like level 1, this level is used by less-critical system-software services that can access and control a limited scope of processor and system resources. The actual privileges of this level are defined by the operating system.

Ring3

Privilege-level 3 (least privilege): This level is used by application software. Software running at privilege-level 3 is normally prevented from directly accessing most processor and system resources. Instead, applications request access to the protected processor and system resources by calling more-privileged service routines to perform the accesses.

Implementations

impl PrivilegeLevel[src]

pub fn from_u8(value: u8) -> PrivilegeLevel[src]

Creates a PrivilegeLevel from a numeric value. The value must be in the range 0..4.

This function panics if the passed value is >3.

Trait Implementations

impl Clone for PrivilegeLevel[src]

impl Copy for PrivilegeLevel[src]

impl Debug for PrivilegeLevel[src]

impl Eq for PrivilegeLevel[src]

impl From<u8> for PrivilegeLevel[src]

impl PartialEq<PrivilegeLevel> for PrivilegeLevel[src]

impl StructuralEq for PrivilegeLevel[src]

impl StructuralPartialEq for PrivilegeLevel[src]

Auto Trait Implementations

impl RefUnwindSafe for PrivilegeLevel

impl Send for PrivilegeLevel

impl Sync for PrivilegeLevel

impl Unpin for PrivilegeLevel

impl UnwindSafe for PrivilegeLevel

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.