#[non_exhaustive]pub enum ClassCode {
Show 49 variants
Generic(BaseClass),
FullSpeedHub,
HighSpeedHubSingleTt,
HighSpeedHubMultiTt,
AudioVideoControlInterface,
AudioVideoDataVideo,
AudioVideoDataAudio,
MctpManagementController,
MctpHostInterfaceEndpoint,
Usb2ComplianceDevice,
DebugTargetVendorDefined,
GnuRemoteDebugCommandSet,
VendorDefinedTraceDbC,
VendorDefinedDfxDbC,
VendorDefinedTraceGPDvC,
GnuProtocolGpDvC,
VendorDefinedDfxDvC,
VendorDefinedTraceDvC,
BluetoothProgrammingInterface,
UwbRadioControlInterface,
RemoteNdis,
BluetoothAmpController,
HostWireAdaptor,
DeviceWireAdaptor,
DeviceWireAdaptorIsochronous,
ActiveSync,
PalmSync,
InterfaceAssociationDescriptor,
WireAdaptorMultifunctionPeripheral,
CableBasedAssociationFramework,
RndisOverEthernet,
RndisOverWifi,
RndisOverWiMax,
RndisOverWwan,
RndisForRawIpv4,
RndisForRawIpv6,
RndisForGprs,
Usb3VisionControlInterface,
Usb3VisionEventInterface,
Usb3VisionStreamingInterface,
StepStreamTransport,
StepRawStreamTransport,
CommandInterfaceIad,
CommandInterfaceId,
MediaInterfaceId,
DeviceFirmwareUpgrade,
IrdaBridge,
UsbTestMeasurement,
UsbTestMeasurementUsbTmc488,
}Expand description
Fully defined USB-IF class based on (Base Class, Sub Class, Protocol) Class Code triplet
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Generic(BaseClass)
Generic devices just have a ‘Base Class’. It is a device without a defining SubClass or Protocol
FullSpeedHub
Full speed Hub
HighSpeedHubSingleTt
Hi-speed hub with single TT
HighSpeedHubMultiTt
Hi-speed hub with multiple TTs
AudioVideoControlInterface
Audio/Video Device – AVControl Interface
AudioVideoDataVideo
Audio/Video Device – AVData Video Streaming Interface
AudioVideoDataAudio
Audio/Video Device – AVData Audio Streaming Interface
MctpManagementController
MCTP Management-controller and Managed-Device endpoints
MctpHostInterfaceEndpoint
MCTP Host Interface endpoint
Usb2ComplianceDevice
USB2 Compliance Device. Definition for this device can be found at http://www.intel.com/technology/usb/spec.htm
DebugTargetVendorDefined
Debug Target vendor defined. Please see http://www.intel.com/content/www/us/en/io/universal-serial-bus/extensible-host-controler-interface-usb-xhci.html for more info.
GnuRemoteDebugCommandSet
GNU Remote Debug Command Set. Please see http://www.intel.com/content/www/us/en/io/universal-serial-bus/extensible-host-controler-interface-usb-xhci.html for more info.
VendorDefinedTraceDbC
Vendor defined Trace protocol on DbC.
VendorDefinedDfxDbC
Vendor defined Dfx protocol on DbC.
VendorDefinedTraceGPDvC
Vendor defined Trace protocol over General Purpose (GP) endpoint on DvC.
GnuProtocolGpDvC
GNU Protocol protocol over General Purpose (GP) endpoint on DvC.
VendorDefinedDfxDvC
Vendor defined Dfx protocol on DvC.
VendorDefinedTraceDvC
Vendor defined Trace protocol on DvC.
BluetoothProgrammingInterface
Bluetooth Programming Interface. Get specific information from www.bluetooth.com.
UwbRadioControlInterface
UWB Radio Control Interface. Definition for this is found in the Wireless USB Specification in Chapter 8.
RemoteNdis
Remote NDIS. Information can be found at: http://www.microsoft.com/windowsmobile/mobileoperators/default.mspx
BluetoothAmpController
Bluetooth AMP Controller. Get specific information from www.bluetooth.com.
HostWireAdaptor
Host Wire Adapter Control/Data interface. Definition can be found in the Wireless USB Specification in Chapter 8.
DeviceWireAdaptor
Device Wire Adapter Control/Data interface. Definition can be found in the Wireless USB Specification in Chapter 8.
DeviceWireAdaptorIsochronous
Device Wire Adapter Isochronous interface. Definition can be found in the Wireless USB Specification in Chapter 8.
ActiveSync
Active Sync device. This class code can be used in either Device or Interface Descriptors. Contact Microsoft for more information on this class.
PalmSync
Palm Sync. This class code can be used in either Device or Interface Descriptors.
InterfaceAssociationDescriptor
Interface Association Descriptor. The usage of this class code triple is defined in the Interface Association Descriptor ECN that is provided on www.usb.org . This class code may only be used in Device Descriptors.
WireAdaptorMultifunctionPeripheral
Wire Adapter Multifunction Peripheral programming interface. Definition can be found in the Wireless USB Specification in Chapter 8. This class code may only be used in Device Descriptors.
CableBasedAssociationFramework
Cable Based Association Framework. This is defined in the Association Model addendum to the Wireless USB specification. This class code may only be used in Interface Descriptors.
RndisOverEthernet
RNDIS over Ethernet.
Connecting a host to the Internet via Ethernet mobile device. The device appears to the host as an Ethernet gateway device. This class code may only be used in Interface Descriptors.
RndisOverWifi
RNDIS over WiFi.
Connecting a host to the Internet via WiFi enabled mobile device. The device represents itself to the host as an 802.11 compliant network device. This class code may only be used in Interface Descriptors.
RndisOverWiMax
RNDIS over WiMAX
Connecting a host to the Internet via WiMAX enabled mobile device. The device is represented to the host as an 802.16 network device.
This class code may only be used in Interface Descriptors.
RndisOverWwan
RNDIS over WWAN
Connecting a host to the Internet via a device using mobile broadband, i.e. WWAN (GSM/CDMA).
This class code may only be used in Interface Descriptors.
RndisForRawIpv4
RNDIS for Raw IPv4
Connecting a host to the Internet using raw IPv4 via non-Ethernet mobile device. Devices that provide raw IPv4, not in an Ethernet packet, may use this form to in lieu of other stock types.
This class code may only be used in Interface Descriptors.
RndisForRawIpv6
RNDIS for Raw IPv6
Connecting a host to the Internet using raw IPv6 via non-Ethernet mobile device. Devices that provide raw IPv6, not in an Ethernet packet, may use this form to in lieu of other stock types.
This class code may only be used in Interface Descriptors.
RndisForGprs
RNDIS for GPRS
Connecting a host to the Internet over GPRS mobile device using the device’s cellular radio
Usb3VisionControlInterface
USB3 Vision Control Interface
Usb3VisionEventInterface
USB3 Vision Event Interface
Usb3VisionStreamingInterface
USB3 Vision Streaming Interface
StepStreamTransport
STEP. Stream Transport Efficient Protocol for content protection.
StepRawStreamTransport
STEP RAW. Stream Transport Efficient Protocol for Raw content protection.
CommandInterfaceIad
Command Interface in IAD
CommandInterfaceId
Command Interface in Interface Descriptor
MediaInterfaceId
Media Interface in Interface Descriptor
DeviceFirmwareUpgrade
Device Firmware Upgrade. Device class definition provided on www.usb.org .
IrdaBridge
IRDA Bridge device. Device class definition provided on www.usb.org .
UsbTestMeasurement
USB Test and Measurement Device. Definition provided in the USB Test and Measurement Class spec found on www.usb.org .
UsbTestMeasurementUsbTmc488
USB Test and Measurement Device conforming to the USBTMC USB488 Subclass Specification found on www.usb.org.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ClassCode
impl<'de> Deserialize<'de> for ClassCode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<T> From<(T, u8, u8)> for ClassCode
impl<T> From<(T, u8, u8)> for ClassCode
Source§fn from(triplet: ClassCodeTriplet<T>) -> Self
fn from(triplet: ClassCodeTriplet<T>) -> Self
impl Copy for ClassCode
impl Eq for ClassCode
impl StructuralPartialEq for ClassCode
Auto Trait Implementations§
impl Freeze for ClassCode
impl RefUnwindSafe for ClassCode
impl Send for ClassCode
impl Sync for ClassCode
impl Unpin for ClassCode
impl UnsafeUnpin for ClassCode
impl UnwindSafe for ClassCode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more