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). More...
 
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. 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

uint8_t libusb_interface_descriptor::bDescriptorType

Descriptor type.

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

uint8_t libusb_interface_descriptor::bNumEndpoints

Number of endpoints used by this interface (excluding the control endpoint).

uint8_t libusb_interface_descriptor::bInterfaceClass

USB-IF class code for this interface.

See libusb_class_code.

const struct libusb_endpoint_descriptor* libusb_interface_descriptor::endpoint

Array of endpoint descriptors.

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

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.

int libusb_interface_descriptor::extra_length

Length of the extra descriptors, in bytes.


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