pub struct List<M>where
    M: Mapper + Clone,{ /* private fields */ }
Expand description

A struct to access xHCI Extended Capabilities.

Implementations§

source§

impl<M> List<M>where M: Mapper + Clone,

source

pub unsafe fn new( mmio_base: usize, hccparams1: CapabilityParameters1, mapper: M ) -> Option<Self>

Creates a new accessor to the xHCI Extended Capabilities.

This method may return a None value if the xHC does not support the xHCI Extended Capabilities.

Safety

The caller must ensure that each of the xHCI Extended Capabilities is accessed only through the returned accessor.

Examples
let mut r = unsafe { xhci::Registers::new(MMIO_BASE, mapper.clone()) };
let mut l = unsafe {
    extended_capabilities::List::new(MMIO_BASE, r.capability.hccparams1.read(), mapper)
};

Trait Implementations§

source§

impl<M> Debug for List<M>where M: Mapper + Clone + Debug,

source§

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

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

impl<M> IntoIterator for &mut List<M>where M: Mapper + Clone,

§

type Item = Result<ExtendedCapability<M>, NotSupportedId>

The type of the elements being iterated over.
§

type IntoIter = IterMut<M>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

Auto Trait Implementations§

§

impl<M> RefUnwindSafe for List<M>where M: RefUnwindSafe,

§

impl<M> Send for List<M>where M: Send,

§

impl<M> Sync for List<M>where M: Sync,

§

impl<M> Unpin for List<M>where M: Unpin,

§

impl<M> UnwindSafe for List<M>where M: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. 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 Twhere 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<T, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.