pub struct IrteHi(/* private fields */);Expand description
IRTE — high 64 bits.
Contains source validation fields for verifying that an interrupt comes from the expected device.
Implementations§
Source§impl IrteHi
impl IrteHi
Sourcepub const fn sid(&self) -> u16
pub const fn sid(&self) -> u16
Source Identifier (16 bits) — expected source BDF or bus range.
Bits: 0..16
Sourcepub const fn with_sid_checked(self, value: u16) -> Result<Self, ()>
pub const fn with_sid_checked(self, value: u16) -> Result<Self, ()>
Source Identifier (16 bits) — expected source BDF or bus range.
Bits: 0..16
Sourcepub const fn with_sid(self, value: u16) -> Self
pub const fn with_sid(self, value: u16) -> Self
Source Identifier (16 bits) — expected source BDF or bus range.
Bits: 0..16
Sourcepub const fn set_sid(&mut self, value: u16)
pub const fn set_sid(&mut self, value: u16)
Source Identifier (16 bits) — expected source BDF or bus range.
Bits: 0..16
Sourcepub const fn set_sid_checked(&mut self, value: u16) -> Result<(), ()>
pub const fn set_sid_checked(&mut self, value: u16) -> Result<(), ()>
Source Identifier (16 bits) — expected source BDF or bus range.
Bits: 0..16
Sourcepub const fn sq(&self) -> u8
pub const fn sq(&self) -> u8
Source-ID Qualifier (2 bits) — controls how SID matching works.
Bits: 16..18
Sourcepub const fn with_sq_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_sq_checked(self, value: u8) -> Result<Self, ()>
Source-ID Qualifier (2 bits) — controls how SID matching works.
Bits: 16..18
Sourcepub const fn with_sq(self, value: u8) -> Self
pub const fn with_sq(self, value: u8) -> Self
Source-ID Qualifier (2 bits) — controls how SID matching works.
Bits: 16..18
Sourcepub const fn set_sq(&mut self, value: u8)
pub const fn set_sq(&mut self, value: u8)
Source-ID Qualifier (2 bits) — controls how SID matching works.
Bits: 16..18
Sourcepub const fn set_sq_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_sq_checked(&mut self, value: u8) -> Result<(), ()>
Source-ID Qualifier (2 bits) — controls how SID matching works.
Bits: 16..18
Sourcepub const fn svt(&self) -> u8
pub const fn svt(&self) -> u8
Source Validation Type (2 bits). 00 = no validation, 01 = verify SID, 10 = verify bus range.
Bits: 18..20
Sourcepub const fn with_svt_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_svt_checked(self, value: u8) -> Result<Self, ()>
Source Validation Type (2 bits). 00 = no validation, 01 = verify SID, 10 = verify bus range.
Bits: 18..20
Sourcepub const fn with_svt(self, value: u8) -> Self
pub const fn with_svt(self, value: u8) -> Self
Source Validation Type (2 bits). 00 = no validation, 01 = verify SID, 10 = verify bus range.
Bits: 18..20
Trait Implementations§
Source§impl FromBytes for IrteHiwhere
u64: FromBytes,
impl FromBytes for IrteHiwhere
u64: FromBytes,
§fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
&Self. Read more§fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
Source§impl FromZeros for IrteHiwhere
u64: FromZeros,
impl FromZeros for IrteHiwhere
u64: FromZeros,
§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere
Self: Sized,
Self from zeroed bytes. Read more§fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
Box<Self> from zeroed bytes. Read more§fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
Vec<Self> from zeroed bytes. Read moreSource§impl IntoBytes for IrteHiwhere
u64: IntoBytes,
impl IntoBytes for IrteHiwhere
u64: IntoBytes,
§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
Source§impl KnownLayout for IrteHiwhere
Self: Sized,
impl KnownLayout for IrteHiwhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
Self. Read more§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Self with the given pointer
metadata. Read more