pub struct InterruptVector(/* private fields */);
Available on x86 or x86-64 only.
Expand description

An interrupt/exception number.

Implementations§

source§

impl InterruptVector

source

pub const DivideError: Self = _

#DE: Division by zero or overflow in division.

source

pub const DebugException: Self = _

#DB: Breakpoints or other debugging-related traps/faults.

source

pub const NonMaskable: Self = _

NMI: Severe external interrupt that cannot be ignored.

source

pub const Breakpoint: Self = _

#BP: Breakpoint via INT3 instruction.

source

pub const Overflow: Self = _

#OF: Overflow condition was detected with INTO instruction.

source

pub const Bound: Self = _

#BR: Out-of-bounds index detected with BOUND instruction.

source

pub const InvalidOpcode: Self = _

#UD: Unrecognized or reserved instruction opcode.

source

pub const DeviceNotAvailable: Self = _

#NM: Tried to execute FPU instruction with no coprocessor present.

source

pub const DoubleFault: Self = _

#DF: A fault was triggered while handling another interrupt.

source

pub const InvalidTaskSegment: Self = _

#TS: An error was found in the TSS while task switching.

source

pub const SegmentNotPresent: Self = _

#NP: Tried to use a segment without a descriptor defined. Does not apply to the stack segment, which has its own exception.

source

pub const StackFault: Self = _

#SS: The stack overflowed its segment or the segment was invalid.

source

pub const ProtectionFault: Self = _

#GP: Memory protection or other miscellaneous error.

source

pub const PageFault: Self = _

#PF: Tried to load a page that was not present, or used a page in a way that was not allowed by its attributes.

source

pub const FloatingPointError: Self = _

#MF: Unmasked floating-point error that was not part of a SIMD operation.

source

pub const AlignmentCheck: Self = _

#AC: Improperly aligned memory access in user mode while alignment checks were enabled.

See FlagRegister::alignment_check_or_access_control.

source

pub const MachineCheck: Self = _

#MC: Internal processor/bus error.

source

pub const SIMDFloatingPointError: Self = _

#XM: Unmasked floating-point error during SIMD operation.

source

pub const VirtualizationException: Self = _

#VE: Improper use of virtualization extensions.

See [ControlRegister4::virtual_machine_extensions].

source

pub const ControlProtectionException: Self = _

#CP: Improper branching detected by control-flow guard.

See [ControlRegister4::control_flow_enforcement].

source

pub const fn name(self) -> Option<&'static str>

The name of the enum variant in code, if one is defined for this value.

An identical method is available through the CEnum trait, but this version is declared const (which is currently unstable on traits).

source§

impl InterruptVector

source

pub fn reserved(self) -> bool

Indicates that this is interrupt vector is reserved by the system.

Trait Implementations§

source§

impl CEnum<u8> for InterruptVector

source§

fn name(self) -> Option<&'static str>

The name of the enum variant in code, if one is defined for this value.
source§

impl Clone for InterruptVector

source§

fn clone(&self) -> InterruptVector

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for InterruptVector

source§

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

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

impl Default for InterruptVector

source§

fn default() -> InterruptVector

Returns the “default value” for a type. Read more
source§

impl From<InterruptVector> for u8

source§

fn from(enum_value: InterruptVector) -> Self

Converts to this type from the input type.
source§

impl From<u8> for InterruptVector

source§

fn from(repr: u8) -> Self

Converts to this type from the input type.
source§

impl Hash for InterruptVector

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for InterruptVector

source§

fn cmp(&self, other: &InterruptVector) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for InterruptVector

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for InterruptVector

source§

fn partial_cmp(&self, other: &InterruptVector) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for InterruptVector

source§

impl Eq for InterruptVector

source§

impl StructuralPartialEq for InterruptVector

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

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

source§

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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.
source§

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

Performs the conversion.