pub struct RedirectionEntry(/* private fields */);Implementations§
Source§impl RedirectionEntry
impl RedirectionEntry
pub const VECTOR: Pack64<u8, Self>
pub const DELIVERY: Pack64<DeliveryMode, Self>
Sourcepub const DEST_MODE: Pack64<DestinationMode, Self>
pub const DEST_MODE: Pack64<DestinationMode, Self>
Destination mode.
Physical (0) or logical (1). If this is physical mode, then bits 56-59 should contain an APIC ID. If this is logical mode, then those bits contain a set of processors.
Sourcepub const QUEUED: Pack64<bool, Self>
pub const QUEUED: Pack64<bool, Self>
Set if this interrupt is going to be sent, but the APIC is busy. Read only.
pub const POLARITY: Pack64<PinPolarity, Self>
Sourcepub const REMOTE_IRR: Pack64<bool, Self>
pub const REMOTE_IRR: Pack64<bool, Self>
Remote IRR.
Used for level triggered interrupts only to show if a local APIC has received the interrupt (= 1), or has sent an EOI (= 0). Read only.
pub const TRIGGER: Pack64<TriggerMode, Self>
pub const MASKED: Pack64<bool, Self>
Sourcepub const DESTINATION: Pack64<u8, Self>
pub const DESTINATION: Pack64<u8, Self>
Destination field.
If the destination mode bit was clear, then the lower 4 bits contain the bit APIC ID to sent the interrupt to. If the bit was set, the upper 4 bits also contain a set of processors. (See below)
Sourcepub const fn from_bits(bits: u64) -> Self
pub const fn from_bits(bits: u64) -> Self
Constructs a new instance of Self from the provided raw bits.
Sourcepub fn with<T>(self, field: Pack64<T, Self>, value: T) -> Selfwhere
T: FromBits<u64>,
pub fn with<T>(self, field: Pack64<T, Self>, value: T) -> Selfwhere
T: FromBits<u64>,
Packs the bit representation of value into self at the bit
range designated by field, returning a new bitfield.
Sourcepub fn set<T>(&mut self, field: Pack64<T, Self>, value: T) -> &mut Selfwhere
T: FromBits<u64>,
pub fn set<T>(&mut self, field: Pack64<T, Self>, value: T) -> &mut Selfwhere
T: FromBits<u64>,
Packs the bit representation of value into self at the range
designated by field, mutating self in place.
Sourcepub fn get<T>(self, field: Pack64<T, Self>) -> Twhere
T: FromBits<u64>,
pub fn get<T>(self, field: Pack64<T, Self>) -> Twhere
T: FromBits<u64>,
Unpacks the bit range represented by field from self, and
converts it into a T-typed value.
§Panics
This method panics if self does not contain a valid bit
pattern for a T-typed value, as determined by T’s
FromBits::try_from_bits implementation.
Sourcepub fn try_get<T>(self, field: Pack64<T, Self>) -> Result<T, T::Error>where
T: FromBits<u64>,
pub fn try_get<T>(self, field: Pack64<T, Self>) -> Result<T, T::Error>where
T: FromBits<u64>,
Unpacks the bit range represented by field
from self and attempts to convert it into a T-typed value.
§Returns
Ok(T)if aT-typed value could be constructed from the bits insrcErr(T::Error)ifsrcdoes not contain a valid bit pattern for aT-typed value, as determined byT’s [FromBits::try_from_bitsimplementation.
Sourcepub fn assert_valid()
pub fn assert_valid()
Asserts that all the packing specs for this type are valid.
This is intended to be used in unit tests.
Sourcepub fn display_ascii(&self) -> impl Display
pub fn display_ascii(&self) -> impl Display
Returns a value that formats this bitfield in a multi-line format, using only ASCII characters.
This is equivalent to formatting this bitfield using a {}
display specifier, but will never use Unicode box-drawing
characters, even when an upstream formatter uses the {:#}
fmt::Display specifier. This is intended for use on platforms
where Unicode box drawing characters are never available.
Sourcepub fn display_unicode(&self) -> impl Display
pub fn display_unicode(&self) -> impl Display
Returns a value that formats this bitfield in a multi-line format, always using Unicode box-drawing characters.
This is equivalent to formatting this bitfield using a {:#}
format specifier, but will always use Unicode box-drawing
characters, even when an upstream formatter uses the {}
fmt::Display specifier.
Sourcepub fn display_set_bits(&self) -> impl Display
pub fn display_set_bits(&self) -> impl Display
Returns a value that formats the bit value of the bitfield, followed by any fields that have non-zero bits.
If formatted using {:#}, the formatted representation is multi-line.
Trait Implementations§
Source§impl Binary for RedirectionEntry
impl Binary for RedirectionEntry
Source§impl Clone for RedirectionEntry
impl Clone for RedirectionEntry
Source§fn clone(&self) -> RedirectionEntry
fn clone(&self) -> RedirectionEntry
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more