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

Data Fields
libusb_interface_descriptor Struct Reference
USB descriptors

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

`#include <libusb.h>`

## Data Fields
uint8_t | bLength
| Size of this descriptor (in bytes)
uint8_t | bDescriptorType
| Descriptor type. More...
uint8_t | bInterfaceNumber
| Number of this interface.
uint8_t | bAlternateSetting
| Value used to select this alternate setting for this interface.
uint8_t | bNumEndpoints
| Number of endpoints used by this interface (excluding the control endpoint).
uint8_t | bInterfaceClass
| USB-IF class code for this interface. More...
uint8_t | bInterfaceSubClass
| USB-IF subclass code for this interface, qualified by the bInterfaceClass value.
uint8_t | bInterfaceProtocol
| USB-IF protocol code for this interface, qualified by the bInterfaceClass and bInterfaceSubClass values.
uint8_t | iInterface
| Index of string descriptor describing this interface.
const struct libusb_endpoint_descriptor * | endpoint
| Array of endpoint descriptors. More...
const unsigned char * | extra
| Extra descriptors. More...
int | extra_length
| Length of the extra descriptors, in bytes. More...

## Detailed Description

A structure representing the standard USB interface descriptor.

This descriptor is documented in section 9.6.5 of the USB 3.0 specification. All multiple-byte fields are represented in host-endian format.

## Field Documentation

## ◆ bDescriptorType

uint8_t libusb_interface_descriptor::bDescriptorType

Descriptor type.

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

## ◆ bInterfaceClass

uint8_t libusb_interface_descriptor::bInterfaceClass

USB-IF class code for this interface.

See libusb_class_code.

## ◆ endpoint

const struct libusb_endpoint_descriptor* libusb_interface_descriptor::endpoint

Array of endpoint descriptors.

This length of this array is determined by the bNumEndpoints field.

## ◆ extra

const unsigned char* libusb_interface_descriptor::extra

Extra descriptors.

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

## ◆ extra_length

int libusb_interface_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