struct libusb_device_descriptor
Overview
A structure representing the standard USB device descriptor. Moreā¦
#include <libusb.h> struct libusb_device_descriptor { // fields uint8_t bLength; uint8_t bDescriptorType; uint16_t bcdUSB; uint8_t bDeviceClass; uint8_t bDeviceSubClass; uint8_t bDeviceProtocol; uint8_t bMaxPacketSize0; uint16_t idVendor; uint16_t idProduct; uint16_t bcdDevice; uint8_t iManufacturer; uint8_t iProduct; uint8_t iSerialNumber; uint8_t bNumConfigurations; };
Detailed Documentation
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.
Fields
uint8_t bLength
Size of this descriptor (in bytes)
uint8_t bDescriptorType
Descriptor type.
Will have value libusb_descriptor_type::LIBUSB_DT_DEVICE LIBUSB_DT_DEVICE in this context.
uint16_t 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 bDeviceClass
USB-IF class code for the device.
See libusb_class_code.
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.