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.
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.
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.
struct libusb_endpoint_descriptorendpoint
 Array of endpoint descriptors.
const unsigned char * extra
 Extra descriptors.
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 2.0 specification. All multiple-byte fields are represented in host-endian format.


Field Documentation

Descriptor type.

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

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

USB-IF class code for this interface.

See libusb_class_code.

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.

Length of the extra descriptors, in bytes.


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

Generated on Thu Oct 14 14:56:36 2010 for libusb by  doxygen 1.5.9