Struct DeviceId

Source
pub struct DeviceId(/* private fields */);
Expand description

Abstraction for the PCI device ID structure (struct pci_device_id).

Implementations§

Source§

impl DeviceId

Source

pub const fn from_id(vendor: Vendor, device: u32) -> Self

Equivalent to C’s PCI_DEVICE macro.

Create a new pci::DeviceId from a vendor and device ID.

Source

pub const fn from_class(class: u32, class_mask: u32) -> Self

Equivalent to C’s PCI_DEVICE_CLASS macro.

Create a new pci::DeviceId from a class number and mask.

Source

pub const fn from_class_and_vendor( class: Class, class_mask: ClassMask, vendor: Vendor, ) -> Self

Create a new DeviceId from a class number, mask, and specific vendor.

This is more targeted than DeviceId::from_class: in addition to matching by Vendor, it also matches the PCI Class (up to the entire 24 bits, depending on the ClassMask).

Trait Implementations§

Source§

impl Clone for DeviceId

Source§

fn clone(&self) -> DeviceId

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 RawDeviceId for DeviceId

Source§

type RawType = pci_device_id

The raw type that holds the device id. Read more
Source§

impl RawDeviceIdIndex for DeviceId

Source§

const DRIVER_DATA_OFFSET: usize = 24usize

The offset (in bytes) to the context/data field in the raw device ID.
Source§

fn index(&self) -> usize

The index stored at DRIVER_DATA_OFFSET of the implementor of the RawDeviceIdIndex trait.
Source§

impl Copy for DeviceId

Auto Trait Implementations§

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> Init<T> for T

Source§

unsafe fn __init(self, slot: *mut T) -> Result<(), Infallible>

Initializes slot. Read more
Source§

fn chain<F>(self, f: F) -> ChainInit<Self, F, T, E>
where F: FnOnce(&mut T) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
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<T> PinInit<T> for T

Source§

unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>

Initializes slot. Read more
Source§

fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>
where F: FnOnce(Pin<&mut T>) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. 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.