struct libusb_config_descriptor
Overview
A structure representing the standard USB configuration descriptor. Moreā¦
#include <libusb.h> struct libusb_config_descriptor { // fields uint8_t bLength; uint8_t bDescriptorType; uint16_t wTotalLength; uint8_t bNumInterfaces; uint8_t bConfigurationValue; uint8_t iConfiguration; uint8_t bmAttributes; uint8_t MaxPower; const struct libusb_interface* interface; const unsigned char* extra; int extra_length; };
Detailed Documentation
A structure representing the standard USB configuration descriptor.
This descriptor is documented in section 9.6.3 of the USB 3.0 specification. All multiple-byte fields are represented in host-endian format.
Fields
uint8_t bLength
Size of this descriptor (in bytes)
uint8_t bDescriptorType
Descriptor type.
Will have value libusb_descriptor_type::LIBUSB_DT_CONFIG LIBUSB_DT_CONFIG in this context.
uint16_t wTotalLength
Total length of data returned for this configuration.
uint8_t bNumInterfaces
Number of interfaces supported by this configuration.
uint8_t bConfigurationValue
Identifier value for this configuration.
uint8_t iConfiguration
Index of string descriptor describing this configuration.
uint8_t bmAttributes
Configuration characteristics.
uint8_t MaxPower
Maximum power consumption of the USB device from this bus in this configuration when the device is fully operation.
Expressed in units of 2 mA when the device is operating in high-speed mode and in units of 8 mA when the device is operating in super-speed mode.
const struct libusb_interface* interface
Array of interfaces supported by this configuration.
The length of this array is determined by the bNumInterfaces field.
const unsigned char* extra
Extra descriptors.
If libusb encounters unknown configuration descriptors, it will store them here, should you wish to parse them.
int extra_length
Length of the extra descriptors, in bytes.