Enum PciDeviceSubclass

Source
pub enum PciDeviceSubclass {
Show 140 variants Unclassified_Generic, Unclassified_VgaCompatible, Unclassified_Unknown(u8), MassStorageController_Scsi, MassStorageController_Ide, MassStorageController_FloppyDisk, MassStorageController_IpiBus, MassStorageController_Raid, MassStorageController_AtaWithAdma, MassStorageController_SerialAta, MassStorageController_SerialAttachedScsi, MassStorageController_NonVolatileMemory, MassStorageController_UniversalFlashStorage, MassStorageController_Other, MassStorageController_Unknown(u8), NetworkController_Ethernet, NetworkController_TokenRing, NetworkController_Fddi, NetworkController_Atm, NetworkController_Isdn, NetworkController_WorldFip, NetworkController_PicMg214MultiComputing, NetworkController_InfiniBand, NetworkController_Other, NetworkController_Unknown(u8), DisplayController_VgaCompatible, DisplayController_Xga, DisplayController_NonVga3D, DisplayController_Other, DisplayController_Unknown(u8), MultimediaDevice_VideoDevice, MultimediaDevice_AudioDevice, MultimediaDevice_ComputerTelephony, MultimediaDevice_HdaCompatible, MultimediaDevice_Other, MultimediaDevice_Unknown(u8), MemoryController_Ram, MemoryController_Flash, MemoryController_CxlMemory, MemoryController_Other, MemoryController_Unknown(u8), Bridge_HostBridge, Bridge_IsaBridge, Bridge_EisaBridge, Bridge_McaBridge, Bridge_PciToPciBridge, Bridge_PcmciaBridge, Bridge_NuBusBridge, Bridge_CardBusBridge, Bridge_RacewayBridge, Bridge_SemiTransparentPciToPciBridge, Bridge_InfiniBandtoPciHostBridge, Bridge_AdvancedSwitchingToPciHostBridge, Bridge_Other, Bridge_Unknown(u8), CommunicationController_Serial, CommunicationController_Parallel, CommunicationController_MultiportSerialController, CommunicationController_Modem, CommunicationController_GpibController, CommunicationController_Smartcard, CommunicationController_Other, CommunicationController_Unknown(u8), BaseSystemPeripheral_PIC, BaseSystemPeripheral_DmaController, BaseSystemPeripheral_SystemTimer, BaseSystemPeripheral_RealTimeClockController, BaseSystemPeripheral_GenericPciHotPlugController, BaseSystemPeripheral_SdHostController, BaseSystemPeripheral_IOMMU, BaseSystemPeripheral_RootComplexEventCollector, BaseSystemPeripheral_Other, BaseSystemPeripheral_Unknown(u8), InputDevice_KeyboardController, InputDevice_DigitizerPenController, InputDevice_MouseController, InputDevice_ScannerController, InputDevice_GameportController, InputDevice_Other, InputDevice_Unknown(u8), DockingStation_Generic, DockingStation_Other, DockingStation_Unknown(u8), Processor_Intel386, Processor_Intel486, Processor_IntelPentium, Processor_DecAlpha, Processor_PowerPc, Processor_Mips, Processor_Coprocessor, Processor_Other, Processor_Unknown(u8), SerialBusController_Ieee1394, SerialBusController_ACCESSbus, SerialBusController_SSA, SerialBusController_USB, SerialBusController_FibreChannel, SerialBusController_SystemManagementBus, SerialBusController_InfiniBandDeprecated, SerialBusController_Ipmi, SerialBusController_SERCOS, SerialBusController_CANbus, SerialBusController_MipiI3C, SerialBusController_Other, SerialBusController_Unknown(u8), WirelessController_iRDA, WirelessController_Radio, WirelessController_RFController, WirelessController_Bluetooth, WirelessController_Broadband, WirelessController_Wifi802_11A, WirelessController_Wifi802_11B, WirelessController_CellularController, WirelessController_CellularControllerWithEthernet, WirelessController_Other, WirelessController_Unknown(u8), IntelligentIoController_IntelligentIoController, IntelligentIoController_Unknown(u8), SatelliteCommController_Tv, SatelliteCommController_Audio, SatelliteCommController_Voice, SatelliteCommController_Data, SatelliteCommController_Other, SatelliteCommController_Unknown(u8), EncryptionController_NetworkandComputingEncrpytionDecryption, EncryptionController_EntertainmentEncryptionDecryption, EncryptionController_Other, EncryptionController_Unknown(u8), SignalProcessingController_DpIoModule, SignalProcessingController_PerformanceCounters, SignalProcessingController_CommunicationSynchronization, SignalProcessingController_ManagementCard, SignalProcessingController_Other, SignalProcessingController_Unknown(u8), ProcessingAccelerator_VendorSpecific, ProcessingAccelerator_SniaSdxiController, ProcessingAccelerator_Unknown(u8), NonEssentialInstrumentation_VendorSpecific, NonEssentialInstrumentation_Unknown(u8), Unknown(u8, u8),
}
Expand description

Represent a PCI device subclass as an enumeration, for easier matching with known valid values.

See PCI documentation or https://wiki.osdev.org/PCI#Class_Codes for possible values.

Variants§

§

Unclassified_Generic

Enumeration matching device class 00h, subclass 00h.

§

Unclassified_VgaCompatible

Enumeration matching device class 00h, subclass 01h.

§

Unclassified_Unknown(u8)

Enumeration matching unknown subclass values of device class 00h.

§

MassStorageController_Scsi

Enumeration matching device class 01h, subclass 00h.

§

MassStorageController_Ide

Enumeration matching device class 01h, subclass 01h.

§

MassStorageController_FloppyDisk

Enumeration matching device class 01h, subclass 02h.

§

MassStorageController_IpiBus

Enumeration matching device class 01h, subclass 03h.

§

MassStorageController_Raid

Enumeration matching device class 01h, subclass 04h.

§

MassStorageController_AtaWithAdma

Enumeration matching device class 01h, subclass 05h.

§

MassStorageController_SerialAta

Enumeration matching device class 01h, subclass 06h.

§

MassStorageController_SerialAttachedScsi

Enumeration matching device class 01h, subclass 07h.

§

MassStorageController_NonVolatileMemory

Enumeration matching device class 01h, subclass 08h.

§

MassStorageController_UniversalFlashStorage

Enumeration matching device class 01h, subclass 09h.

§

MassStorageController_Other

Enumeration matching device class 01h, subclass 80h.

§

MassStorageController_Unknown(u8)

Enumeration matching unknown subclass values of device class 01h.

§

NetworkController_Ethernet

Enumeration matching device class 02h, subclass 00h.

§

NetworkController_TokenRing

Enumeration matching device class 02h, subclass 01h.

§

NetworkController_Fddi

Enumeration matching device class 02h, subclass 02h.

§

NetworkController_Atm

Enumeration matching device class 02h, subclass 03h.

§

NetworkController_Isdn

Enumeration matching device class 02h, subclass 04h.

§

NetworkController_WorldFip

Enumeration matching device class 02h, subclass 05h.

§

NetworkController_PicMg214MultiComputing

Enumeration matching device class 02h, subclass 06h.

§

NetworkController_InfiniBand

Enumeration matching device class 02h, subclass 07h.

§

NetworkController_Other

Enumeration matching device class 02h, subclass 80h.

§

NetworkController_Unknown(u8)

Enumeration matching unknown subclass values of device class 02h.

§

DisplayController_VgaCompatible

Enumeration matching device class 03h, subclass 00h.

§

DisplayController_Xga

Enumeration matching device class 03h, subclass 01h.

§

DisplayController_NonVga3D

Enumeration matching device class 03h, subclass 02h.

§

DisplayController_Other

Enumeration matching device class 03h, subclass 80h.

§

DisplayController_Unknown(u8)

Enumeration matching unknown subclass values of device class 03h.

§

MultimediaDevice_VideoDevice

Enumeration matching device class 04h, subclass 00h.

§

MultimediaDevice_AudioDevice

Enumeration matching device class 04h, subclass 01h.

§

MultimediaDevice_ComputerTelephony

Enumeration matching device class 04h, subclass 02h.

§

MultimediaDevice_HdaCompatible

Enumeration matching device class 04h, subclass 03h.

§

MultimediaDevice_Other

Enumeration matching device class 04h, subclass 80h.

§

MultimediaDevice_Unknown(u8)

Enumeration matching unknown subclass values of device class 04h.

§

MemoryController_Ram

Enumeration matching device class 05h, subclass 00h.

§

MemoryController_Flash

Enumeration matching device class 05h, subclass 01h.

§

MemoryController_CxlMemory

Enumeration matching device class 05h, subclass 02h.

§

MemoryController_Other

Enumeration matching device class 05h, subclass 80h.

§

MemoryController_Unknown(u8)

Enumeration matching unknown subclass values of device class 05h.

§

Bridge_HostBridge

Enumeration matching device class 06h, subclass 00h.

§

Bridge_IsaBridge

Enumeration matching device class 06h, subclass 01h.

§

Bridge_EisaBridge

Enumeration matching device class 06h, subclass 02h.

§

Bridge_McaBridge

Enumeration matching device class 06h, subclass 03h.

§

Bridge_PciToPciBridge

Enumeration matching device class 06h, subclass 04h.

§

Bridge_PcmciaBridge

Enumeration matching device class 06h, subclass 05h.

§

Bridge_NuBusBridge

Enumeration matching device class 06h, subclass 06h.

§

Bridge_CardBusBridge

Enumeration matching device class 06h, subclass 07h.

§

Bridge_RacewayBridge

Enumeration matching device class 06h, subclass 08h.

§

Bridge_SemiTransparentPciToPciBridge

Enumeration matching device class 06h, subclass 09h.

§

Bridge_InfiniBandtoPciHostBridge

Enumeration matching device class 06h, subclass 0Ah.

§

Bridge_AdvancedSwitchingToPciHostBridge

Enumeration matching device class 06h, subclass 0Bh.

§

Bridge_Other

Enumeration matching device class 06h, subclass 80h.

§

Bridge_Unknown(u8)

Enumeration matching unknown subclass values of device class 06h.

§

CommunicationController_Serial

Enumeration matching device class 07h, subclass 00h.

§

CommunicationController_Parallel

Enumeration matching device class 07h, subclass 01h.

§

CommunicationController_MultiportSerialController

Enumeration matching device class 07h, subclass 02h.

§

CommunicationController_Modem

Enumeration matching device class 07h, subclass 03h.

§

CommunicationController_GpibController

Enumeration matching device class 07h, subclass 04h.

§

CommunicationController_Smartcard

Enumeration matching device class 07h, subclass 05h.

§

CommunicationController_Other

Enumeration matching device class 07h, subclass 80h.

§

CommunicationController_Unknown(u8)

Enumeration matching unknown subclass values of device class 07h.

§

BaseSystemPeripheral_PIC

Enumeration matching device class 08h, subclass 00h.

§

BaseSystemPeripheral_DmaController

Enumeration matching device class 08h, subclass 01h.

§

BaseSystemPeripheral_SystemTimer

Enumeration matching device class 08h, subclass 02h.

§

BaseSystemPeripheral_RealTimeClockController

Enumeration matching device class 08h, subclass 03h.

§

BaseSystemPeripheral_GenericPciHotPlugController

Enumeration matching device class 08h, subclass 04h.

§

BaseSystemPeripheral_SdHostController

Enumeration matching device class 08h, subclass 05h.

§

BaseSystemPeripheral_IOMMU

Enumeration matching device class 08h, subclass 06h.

§

BaseSystemPeripheral_RootComplexEventCollector

Enumeration matching device class 08h, subclass 07h.

§

BaseSystemPeripheral_Other

Enumeration matching device class 08h, subclass 80h.

§

BaseSystemPeripheral_Unknown(u8)

Enumeration matching unknown subclass values of device class 08h.

§

InputDevice_KeyboardController

Enumeration matching device class 09h, subclass 00h.

§

InputDevice_DigitizerPenController

Enumeration matching device class 09h, subclass 01h.

§

InputDevice_MouseController

Enumeration matching device class 09h, subclass 02h.

§

InputDevice_ScannerController

Enumeration matching device class 09h, subclass 03h.

§

InputDevice_GameportController

Enumeration matching device class 09h, subclass 04h.

§

InputDevice_Other

Enumeration matching device class 09h, subclass 80h.

§

InputDevice_Unknown(u8)

Enumeration matching unknown subclass values of device class 09h.

§

DockingStation_Generic

Enumeration matching device class 0Ah, subclass 00h.

§

DockingStation_Other

Enumeration matching device class 0Ah, subclass 80h.

§

DockingStation_Unknown(u8)

Enumeration matching unknown subclass values of device class 0Ah.

§

Processor_Intel386

Enumeration matching device class 0Bh, subclass 00h.

§

Processor_Intel486

Enumeration matching device class 0Bh, subclass 01h.

§

Processor_IntelPentium

Enumeration matching device class 0Bh, subclass 02h.

§

Processor_DecAlpha

Enumeration matching device class 0Bh, subclass 10h.

§

Processor_PowerPc

Enumeration matching device class 0Bh, subclass 20h.

§

Processor_Mips

Enumeration matching device class 0Bh, subclass 30h.

§

Processor_Coprocessor

Enumeration matching device class 0Bh, subclass 40h.

§

Processor_Other

Enumeration matching device class 0Bh, subclass 80h.

§

Processor_Unknown(u8)

Enumeration matching unknown subclass values of device class 0Bh.

§

SerialBusController_Ieee1394

Enumeration matching device class 0Ch, subclass 00h.

§

SerialBusController_ACCESSbus

Enumeration matching device class 0Ch, subclass 01h.

§

SerialBusController_SSA

Enumeration matching device class 0Ch, subclass 02h.

§

SerialBusController_USB

Enumeration matching device class 0Ch, subclass 03h.

§

SerialBusController_FibreChannel

Enumeration matching device class 0Ch, subclass 04h.

§

SerialBusController_SystemManagementBus

Enumeration matching device class 0Ch, subclass 05h.

§

SerialBusController_InfiniBandDeprecated

Enumeration matching device class 0Ch, subclass 06h.

§

SerialBusController_Ipmi

Enumeration matching device class 0Ch, subclass 07h.

§

SerialBusController_SERCOS

Enumeration matching device class 0Ch, subclass 08h.

§

SerialBusController_CANbus

Enumeration matching device class 0Ch, subclass 09h.

§

SerialBusController_MipiI3C

Enumeration matching device class 0Ch, subclass 0Ah.

§

SerialBusController_Other

Enumeration matching device class 0Ch, subclass 80h.

§

SerialBusController_Unknown(u8)

Enumeration matching unknown subclass values of device class 0Ch.

§

WirelessController_iRDA

Enumeration matching device class 0Dh, subclass 00h.

§

WirelessController_Radio

Enumeration matching device class 0Dh, subclass 01h.

§

WirelessController_RFController

Enumeration matching device class 0Dh, subclass 10h.

§

WirelessController_Bluetooth

Enumeration matching device class 0Dh, subclass 11h.

§

WirelessController_Broadband

Enumeration matching device class 0Dh, subclass 12h.

§

WirelessController_Wifi802_11A

Enumeration matching device class 0Dh, subclass 20h.

§

WirelessController_Wifi802_11B

Enumeration matching device class 0Dh, subclass 21h.

§

WirelessController_CellularController

Enumeration matching device class 0Dh, subclass 40h.

§

WirelessController_CellularControllerWithEthernet

Enumeration matching device class 0Dh, subclass 41h.

§

WirelessController_Other

Enumeration matching device class 0Dh, subclass 80h.

§

WirelessController_Unknown(u8)

Enumeration matching unknown subclass values of device class 0Dh.

§

IntelligentIoController_IntelligentIoController

Enumeration matching device class 0Eh, subclass 00h.

§

IntelligentIoController_Unknown(u8)

Enumeration matching unknown subclass values of device class 0Eh.

§

SatelliteCommController_Tv

Enumeration matching device class 0Fh, subclass 01h.

§

SatelliteCommController_Audio

Enumeration matching device class 0Fh, subclass 02h.

§

SatelliteCommController_Voice

Enumeration matching device class 0Fh, subclass 03h.

§

SatelliteCommController_Data

Enumeration matching device class 0Fh, subclass 04h.

§

SatelliteCommController_Other

Enumeration matching device class 0Fh, subclass 80h.

§

SatelliteCommController_Unknown(u8)

Enumeration matching unknown subclass values of device class 0Fh.

§

EncryptionController_NetworkandComputingEncrpytionDecryption

Enumeration matching device class 10h, subclass 00h.

§

EncryptionController_EntertainmentEncryptionDecryption

Enumeration matching device class 10h, subclass 10h.

§

EncryptionController_Other

Enumeration matching device class 10h, subclass 80h.

§

EncryptionController_Unknown(u8)

Enumeration matching unknown subclass values of device class 10h.

§

SignalProcessingController_DpIoModule

Enumeration matching device class 11h, subclass 00h.

§

SignalProcessingController_PerformanceCounters

Enumeration matching device class 11h, subclass 01h.

§

SignalProcessingController_CommunicationSynchronization

Enumeration matching device class 11h, subclass 10h.

§

SignalProcessingController_ManagementCard

Enumeration matching device class 11h, subclass 20h.

§

SignalProcessingController_Other

Enumeration matching device class 11h, subclass 80h.

§

SignalProcessingController_Unknown(u8)

Enumeration matching unknown subclass values of device class 11h.

§

ProcessingAccelerator_VendorSpecific

Enumeration matching device class 12h, subclass 00h.

§

ProcessingAccelerator_SniaSdxiController

Enumeration matching device class 12h, subclass 01h.

§

ProcessingAccelerator_Unknown(u8)

Enumeration matching unknown subclass values of device class 12h.

§

NonEssentialInstrumentation_VendorSpecific

Enumeration matching device class 13h, subclass 00h.

§

NonEssentialInstrumentation_Unknown(u8)

Enumeration matching unknown subclass values of device class 13h.

§

Unknown(u8, u8)

Enumeration matching unknown combinations of device class / subclass.

Implementations§

Source§

impl PciDeviceSubclass

Source

pub fn from_codes(class_code: u8, subclass_code: u8) -> Self

Converts a combination of class_code and subclass_code to a valid PciDeviceSubclass object.

Source

pub fn as_codes(&self) -> (u8, u8)

Converts a PciDeviceSubclass object into the class_code and subclass_code that it represents.

Trait Implementations§

Source§

impl Clone for PciDeviceSubclass

Source§

fn clone(&self) -> PciDeviceSubclass

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 PciDeviceSubclass

Source§

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

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

impl From<PciDeviceSubclass> for u8

Source§

fn from(value: PciDeviceSubclass) -> Self

Converts to this type from the input type.
Source§

impl Hash for PciDeviceSubclass

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PciDeviceSubclass

Source§

fn eq(&self, other: &PciDeviceSubclass) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PciDeviceSubclass

Source§

impl Eq for PciDeviceSubclass

Source§

impl StructuralPartialEq for PciDeviceSubclass

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