A cross-platform user library to access USB devices
Data Fields
libusb_device_descriptor Struct Reference

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

#include <libusb.h>

Data Fields

uint8_t bLength
 Size of this descriptor (in bytes)
 
uint8_t bDescriptorType
 Descriptor type. More...
 
uint16_t bcdUSB
 USB specification release number in binary-coded decimal. More...
 
uint8_t bDeviceClass
 USB-IF class code for the device. More...
 
uint8_t bDeviceSubClass
 USB-IF subclass code for the device, qualified by the bDeviceClass value.
 
uint8_t bDeviceProtocol
 USB-IF protocol code for the device, qualified by the bDeviceClass and bDeviceSubClass values.
 
uint8_t bMaxPacketSize0
 Maximum packet size for endpoint 0.
 
uint16_t idVendor
 USB-IF vendor ID.
 
uint16_t idProduct
 USB-IF product ID.
 
uint16_t bcdDevice
 Device release number in binary-coded decimal.
 
uint8_t iManufacturer
 Index of string descriptor describing manufacturer.
 
uint8_t iProduct
 Index of string descriptor describing product.
 
uint8_t iSerialNumber
 Index of string descriptor containing device serial number.
 
uint8_t bNumConfigurations
 Number of possible configurations.
 

Detailed Description

A structure representing the standard USB device descriptor.

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

Field Documentation

uint8_t libusb_device_descriptor::bDescriptorType

Descriptor type.

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

uint16_t libusb_device_descriptor::bcdUSB

USB specification release number in binary-coded decimal.

A value of 0x0200 indicates USB 2.0, 0x0110 indicates USB 1.1, etc.

uint8_t libusb_device_descriptor::bDeviceClass

USB-IF class code for the device.

See libusb_class_code.


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