USB_DEV_DESCR(9S) | Data Structures for Drivers | USB_DEV_DESCR(9S) |
#include <sys/usb/usba.h>
The device descriptor is retrieved from a USB device during device enumeration and can be accessed via usb_get_dev_data(9F).
A device descriptor contains the following fields:
uint8_t bLength Size of this descriptor, in bytes. uint8_t bDescriptorType Set to USB_DESCR_TYPE_DEV. uint16_t bcdUSB USB specification release number supported, in bcd. uint8_t bDeviceClass Class code (see below). uint8_t bDeviceSubClass Subclass code (see USB 2.0 specification of applicable device class for information.) uint8_t bDeviceProtocol Protocol code (see USB 2.0 specification of applicable device class for information.) uint8_t bMaxPacketSize0 Maximum packet size of endpoint 0. uint16_t idVendor vendor ID value. uint16_t idProduct product ID value. uint16_t bcdDevice Device release number in binary coded decimal. uint8_t iManufacturer Index of optional manufacturer description string. Valid if > 0. uint8_t iProduct Index of optional product description string. Valid if > 0. uint8_t iSerialNumber Index of optional serial number string. Valid if > 0. uint8_t bNumConfigurations Number of available configurations. Device descriptors bDeviceClass values: USB_CLASS_PER_INTERFACE Class information is at interface level. USB_CLASS_COMM CDC control device class. USB_CLASS_DIAG Diagnostic device class. USB_CLASS_HUB HUB device class. USB_CLASS_MISC MISC device class. USB_CLASS_VENDOR_SPEC Vendor-specific class. USB_CLASS_WIRELESS Wireless controller device class.
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | PCI-based systems |
Interface stability | Committed |
January 5, 2004 | OmniOS |