pub struct CapabilityHeader<'a> { /* private fields */ }
Expand description
The spec doesn’t really define a header part explicitly, but this holds the two fields that are common to all Capabilities.
Implementations§
Source§impl<'a> CapabilityHeader<'a>
impl<'a> CapabilityHeader<'a>
pub fn capability_id(&self) -> PciRegisterRo<'a, u8>
Sourcepub fn next_capability_pointer(&self) -> PciRegisterRo<'a, u8>
pub fn next_capability_pointer(&self) -> PciRegisterRo<'a, u8>
This field contains the offset to the next PCI Capability structure or 0x00 if no other items exist in the linked list of Capabilities.
You don’t need to be using this directly. Use PciCapabilities
to iterate over
capabilities instead.
Trait Implementations§
Source§impl<'a> AsPciSubregion<'a> for CapabilityHeader<'a>
impl<'a> AsPciSubregion<'a> for CapabilityHeader<'a>
Source§fn as_subregion(&self) -> PciSubregion<'a>
fn as_subregion(&self) -> PciSubregion<'a>
Returns a
PciSubregion
corresponding to self
.Source§fn subregion(&self, range: impl RangeBounds<u64>) -> PciSubregion<'a>
fn subregion(&self, range: impl RangeBounds<u64>) -> PciSubregion<'a>
Returns a
PciSubregion
corresponding to a range of self
.Source§impl<'a> BackedByPciSubregion<'a> for CapabilityHeader<'a>
impl<'a> BackedByPciSubregion<'a> for CapabilityHeader<'a>
Source§fn backed_by(as_subregion: impl AsPciSubregion<'a>) -> Self
fn backed_by(as_subregion: impl AsPciSubregion<'a>) -> Self
Does not check whether the subregion is big enough. If it isn’t, accesses may later fail.
Source§impl<'a> Clone for CapabilityHeader<'a>
impl<'a> Clone for CapabilityHeader<'a>
Source§fn clone(&self) -> CapabilityHeader<'a>
fn clone(&self) -> CapabilityHeader<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CapabilityHeader<'_>
impl Debug for CapabilityHeader<'_>
impl<'a> Copy for CapabilityHeader<'a>
Auto Trait Implementations§
impl<'a> Freeze for CapabilityHeader<'a>
impl<'a> !RefUnwindSafe for CapabilityHeader<'a>
impl<'a> Send for CapabilityHeader<'a>
impl<'a> Sync for CapabilityHeader<'a>
impl<'a> Unpin for CapabilityHeader<'a>
impl<'a> !UnwindSafe for CapabilityHeader<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'a, T> PciRegion for T
impl<'a, T> PciRegion for T
Source§fn permissions(&self) -> Permissions
fn permissions(&self) -> Permissions
Whether the region may be read, written, or both.
Source§fn read_bytes(&self, offset: u64, buffer: &mut [u8]) -> Result<(), Error>
fn read_bytes(&self, offset: u64, buffer: &mut [u8]) -> Result<(), Error>
Read from a contiguous range of the region into a byte buffer. Read more