Namespaces

Enumerations

enum class UsbSpeed : uint32_t
Name Value
kUndefined 0u
kFull 1u
kLow 2u
kHigh 3u
kSuper 4u
kEnhancedSuper 5u

Defined at line 2918 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.descriptor/fuchsia.hardware.usb.descriptor/cpp/fidl/fuchsia.hardware.usb.descriptor/cpp/common_types.h

enum class UsbMode : uint32_t
Name Value
kNone 0u
kHost 1u
kPeripheral 2u
kOtg 3u

USB operational modes.

Defined at line 2950 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.descriptor/fuchsia.hardware.usb.descriptor/cpp/fidl/fuchsia.hardware.usb.descriptor/cpp/common_types.h

enum class EndpointDirection : uint8_t
Name Value
kOut 0u
kIn 128u

Endpoint transfer direction (IN from device to host, or OUT from host to device)

encoded in bit 7 of the endpoint address (`bEndpointAddress`), as defined in

USB 2.0 specification section 9.6.6.

Defined at line 2980 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.descriptor/fuchsia.hardware.usb.descriptor/cpp/fidl/fuchsia.hardware.usb.descriptor/cpp/common_types.h

enum class EndpointType : uint8_t
Name Value
kControl 0u
kIsochronous 1u
kBulk 2u
kInterrupt 3u

Endpoint transfer type as defined in USB 2.0 specification section 9.6.6.

Defined at line 2998 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.descriptor/fuchsia.hardware.usb.descriptor/cpp/fidl/fuchsia.hardware.usb.descriptor/cpp/common_types.h

enum class SynchronizationType : uint8_t
Name Value
kNoSynchronization 0u
kAsynchronous 1u
kAdaptive 2u
kSynchronous 3u

Endpoint synchronization type (bits [3:2] of `bmAttributes`), as defined in USB 2.0 specification section 9.6.6.

Defined at line 3020 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.descriptor/fuchsia.hardware.usb.descriptor/cpp/fidl/fuchsia.hardware.usb.descriptor/cpp/common_types.h

Records

Functions

  • template <typename E>
    auto ToUnderlyingHelper (E val)

    Defined at line 39 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h

  • template <auto)>
    void fuchsia_hardware_usb_descriptor_adl_tag (auto )
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioProcessType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioEpDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioTerminalControlSelector & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioFeatureUnitControlSelector & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioEndpointControlSelector & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioTerminalType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioAsDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioFormatTag & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AudioFormatType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MidiMsDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MidiEpDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MidiJackType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MidiEndpointControlSelector & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::CdcRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::CdcNotification & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::CdcSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::CdcDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::HidRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::HidSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::HidProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::Usb2Payload & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::Usb3Payload & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbHubDescriptorPayload & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbHubDescriptor & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbPortStatus & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MscRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MscSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MscProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbSpeed & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbMode & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbSetup & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbDeviceDescriptor & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbSsEpCompDescriptor & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbEndpointDescriptor & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbInterfaceDescriptor & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::EndpointDirection & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::EndpointType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::SynchronizationType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsageType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::RequestType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::RequestRecipient & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::StandardRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::UsbClass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::DescriptorType & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::FeatureSelector & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MiscSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::MiscProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::WirelessSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::WirelessProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VendorSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::AdbFastbootProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VsockProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::TestVendorProtocol & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VideoSubclass & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VideoVcDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VideoVsDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VideoEpDescriptorSubtype & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VideoRequest & value)
  • std::ostream & operator<< (std::ostream & os, const ::fuchsia_hardware_usb_descriptor::VideoVsControlSelector & value)
  • template <IsUsbBitmaskEnum E1, IsUsbBitmaskEnum E2>
    uint8_t operator| (E1 a, E2 b)

    Defined at line 50 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h

  • template <IsUsbBitmaskEnum E1, IsUsbBitmaskEnum E2>
    uint8_t operator& (E1 a, E2 b)

    Defined at line 65 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h

  • template <typename T, IsDescriptorEnum E>
    bool operator== (T a, E b)

    Defined at line 88 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h

  • template <typename TIsDescriptorEnum E>
    bool operator== (E a, T b)

    Defined at line 94 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h

Concepts

template <typename E> IsUsbBitmaskEnum std::is_same_v<E, EndpointDirection> || std::is_same_v<E, RequestType> || std::is_same_v<E, RequestRecipient>

Overloaded bitwise OR operators for setup request enums via IsUsbBitmaskEnum concept.

Defined at line 34 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h

template <typename E> IsDescriptorEnum fuchsia_hardware_usb_descriptor_internal::IsUsbDescriptorEnum<E>

Architectural Note:

When matching or switching on extensible FIDL class codes (e.g., UsbClass) and vendor protocols,

driver maintainers should explicitly handle `.is_unknown()` fallback paths. This ensures wire

compatibility with novel USB hardware and newly introduced specification codes.

Defined at line 83 of file ../../src/devices/usb/lib/usb/include/usb/descriptors.h