pub struct PciExpressCapability<'a> { /* private fields */ }
Expand description
TODO: Should take the “Capability Version” into consideration.
Implementations§
Source§impl<'a> PciExpressCapability<'a>
impl<'a> PciExpressCapability<'a>
pub fn capabilities(&self) -> PciExpressCapabilities<'_>
pub fn device_capabilities(&self) -> PciExpressDeviceCapabilities<'_>
pub fn device_control(&self) -> PciExpressDeviceControl<'_>
pub fn device_status(&self) -> PciExpressDeviceStatus<'_>
pub fn link_capabilities(&self) -> PciExpressLinkCapabilities<'_>
pub fn link_control(&self) -> PciExpressLinkControl<'_>
pub fn link_status(&self) -> PciExpressLinkStatus<'_>
pub fn device_capabilities_2(&self) -> PciExpressDeviceCapabilities2<'_>
pub fn device_control_2(&self) -> PciExpressDeviceControl2<'_>
pub fn link_capabilities_2(&self) -> PciExpressLinkCapabilities2<'_>
pub fn link_control_2(&self) -> PciExpressLinkControl2<'_>
pub fn link_status_2(&self) -> PciExpressLinkStatus2<'_>
Trait Implementations§
Source§impl<'a> AsPciSubregion<'a> for PciExpressCapability<'a>
impl<'a> AsPciSubregion<'a> for PciExpressCapability<'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> Capability<'a> for PciExpressCapability<'a>
impl<'a> Capability<'a> for PciExpressCapability<'a>
Source§fn backed_by(as_subregion: impl AsPciSubregion<'a>) -> Result<Option<Self>>
fn backed_by(as_subregion: impl AsPciSubregion<'a>) -> Result<Option<Self>>
Tries to create an instance of this
Capability
backed by the given AsPciSubregion
. If
things like for instance the Capablity ID and possibly other factors don’t match what is
expected for the present type, returns Ok(None)
. Read moreSource§fn header(&self) -> CapabilityHeader<'a>
fn header(&self) -> CapabilityHeader<'a>
The spec doesn’t really define a header part explicitly, but this holds the two fields that
are common to all Capabilities.
Source§impl<'a> Clone for PciExpressCapability<'a>
impl<'a> Clone for PciExpressCapability<'a>
Source§fn clone(&self) -> PciExpressCapability<'a>
fn clone(&self) -> PciExpressCapability<'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 PciExpressCapability<'_>
impl Debug for PciExpressCapability<'_>
impl<'a> Copy for PciExpressCapability<'a>
Auto Trait Implementations§
impl<'a> Freeze for PciExpressCapability<'a>
impl<'a> !RefUnwindSafe for PciExpressCapability<'a>
impl<'a> Send for PciExpressCapability<'a>
impl<'a> Sync for PciExpressCapability<'a>
impl<'a> Unpin for PciExpressCapability<'a>
impl<'a> !UnwindSafe for PciExpressCapability<'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