libusb: libusb_config_descriptor Struct Reference

| libusb 1.0.27 A cross-platform user library to access USB devices

Data Fields
libusb_config_descriptor Struct Reference
USB descriptors

A structure representing the standard USB configuration descriptor. More...

`#include <libusb.h>`

## Data Fields
uint8_t | bLength
| Size of this descriptor (in bytes)
uint8_t | bDescriptorType
| Descriptor type.
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.
const struct libusb_interface * | interface
| Array of interfaces supported by this configuration.
const unsigned char * | extra
| Extra descriptors.
int | extra_length
| Length of the extra descriptors, in bytes.

## Detailed Description

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.

## Field Documentation

## ◆ bDescriptorType

uint8_t libusb_config_descriptor::bDescriptorType

Descriptor type.

Will have value libusb_descriptor_type::LIBUSB_DT_CONFIG LIBUSB_DT_CONFIG in this context.

## ◆ MaxPower

uint8_t libusb_config_descriptor::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.

## ◆ interface

const struct libusb_interface* libusb_config_descriptor::interface

Array of interfaces supported by this configuration.

The length of this array is determined by the bNumInterfaces field.

## ◆ extra

const unsigned char* libusb_config_descriptor::extra

Extra descriptors.

If libusb encounters unknown configuration descriptors, it will store them here, should you wish to parse them.

## ◆ extra_length

int libusb_config_descriptor::extra_length

Length of the extra descriptors, in bytes.

Must be non-negative.

The documentation for this struct was generated from the following file:

- libusb.h