My Project
A cross-platform user library to access USB devices
Data Fields
libusb_interface_descriptor Struct Reference

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_descriptorendpoint
 Array of endpoint descriptors. More...
 
const unsigned char * extra
 Extra descriptors. More...
 
int extra_length
 Length of the extra descriptors, in bytes.
 

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.


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