Struct CapabilityHeader

Source
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>

Source

pub fn capability_id(&self) -> PciRegisterRo<'a, u8>

Source

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>

Source§

fn as_subregion(&self) -> PciSubregion<'a>

Returns a PciSubregion corresponding to self.
Source§

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>

Source§

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>

Source§

fn clone(&self) -> CapabilityHeader<'a>

Returns a duplicate 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 CapabilityHeader<'_>

Source§

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

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

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> 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<'a, T> PciRegion for T
where T: AsPciSubregion<'a> + Debug + Send + Sync,

Source§

fn len(&self) -> u64

The length of the region in bytes.
Source§

fn permissions(&self) -> Permissions

Whether the region may be read, written, or both.
Source§

fn as_ptr(&self) -> Option<*const u8>

Returns a const pointer to the beginning of the PciRegion. Read more
Source§

fn as_mut_ptr(&self) -> Option<*mut u8>

Returns a mut pointer to the beginning of the PciRegion. Read more
Source§

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
Source§

fn read_u8(&self, offset: u64) -> Result<u8, Error>

Read an u8 at the given byte offset from the beginning of the PciRegion. Read more
Source§

fn write_u8(&self, offset: u64, value: u8) -> Result<(), Error>

Write an u8 at the given byte offset from the beginning of the PciRegion. Read more
Source§

fn read_le_u16(&self, offset: u64) -> Result<u16, Error>

Read a little-endian u16 at the given byte offset from the beginning of the PciRegion. Read more
Source§

fn write_le_u16(&self, offset: u64, value: u16) -> Result<(), Error>

Write a little-endian u16 at the given byte offset from the beginning of the PciRegion. Read more
Source§

fn read_le_u32(&self, offset: u64) -> Result<u32, Error>

Read a little-endian u32 at the given byte offset from the beginning of the PciRegion. Read more
Source§

fn write_le_u32(&self, offset: u64, value: u32) -> Result<(), Error>

Write a little-endian u32 at the given byte offset from the beginning of the PciRegion. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.