USB_IF_DESCR(9S) | Data Structures for Drivers | USB_IF_DESCR(9S) |
#include <sys/usb/usba.h>
Please refer to Section 9.6.5 of the USB 2.0 specification. The USB 2.0 specification is available at www.usb.org.
One or more configuration descriptors are retrieved from a USB device during device enumeration. They can be accessed via usb_get_dev_data(9F).
A interface descriptor has the following fields:
uint8_t bLength Size of this descriptor in bytes. uint8_t bDescriptorType Set to USB_DESCR_TYPE_IF. uint8_t bInterfaceNumber Interface number (0-based). uint8_t bAlternateSetting Alternate setting number for this interface and its endpoints (0-based). uint8_t bNumEndpoints Number of endpoints, excluding endpoint 0. uint8_t bInterfaceClass Interface Class code (see below). uint8_t bInterfaceSubClass Sub class code. (See USB 2.0 specification of applicable interface class for information.) uint8_t bInterfaceProtocol Protocol code. (See USB 2.0 specification of applicable interface class for information.) uint8_t iInterface Index of optional string describing this interface Valid if > 0. Pass to usb_get_string_descr(9F) to retrieve string. USB 2.0 specification interface descriptor bInterfaceClass field values are as follows: USB_CLASS_APP Application-specific interface class USB_CLASS_AUDIO Audio interface class USB_CLASS_CCID Chip/Smartcard interface class USB_CLASS_CDC_CTRL CDC control interface class USB_CLASS_CDC_DATA CDC data interface class USB_CLASS_SECURITY Content security interface class USB_CLASS_DIAG Diagnostic interface class USB_CLASS_HID HID interface class USB_CLASS_HUB HUB interface class USB_CLASS_MASS_STORAGE Mass storage interface class USB_CLASS_PHYSICAL Physical interface class USB_CLASS_PRINTER Printer interface class USB_CLASS_VENDOR_SPEC Vendor-specific interface class USB_CLASS_WIRELESS Wireless interface class
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | PCI-based systems |
Interface stability | Committed |
January 5, 2004 | OmniOS |