Enum x86_64::PrivilegeLevel
[−]
[src]
#[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.
Methods
impl PrivilegeLevel
[src]
fn from_u16(value: u16) -> 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 Debug for PrivilegeLevel
[src]
impl Copy for PrivilegeLevel
[src]
impl Clone for PrivilegeLevel
[src]
fn clone(&self) -> PrivilegeLevel
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq for PrivilegeLevel
[src]
fn eq(&self, __arg_0: &PrivilegeLevel) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.