usb_if_descr(9S) Data Structures for Drivers usb_if_descr(9S)
NAME
usb_if_descr - USB interface descriptor
SYNOPSIS
#include <sys/usb/usba.h>
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)
DESCRIPTION
The usb_if_descr_t interface descriptor defines attributes of an interface. A configuration contains one or more interfaces. An interface
contains one or more endpoints.
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
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Architecture |PCI-based systems |
+-----------------------------+-----------------------------+
|Interface stability |Evolving |
+-----------------------------+-----------------------------+
|Availability |SUNWusbu |
+-----------------------------+-----------------------------+
SEE ALSO
attributes(5), usb_get_alt_if(9F), usb_get_cfg(9F), usb_get_dev_data(9F), usb_get_string_descr(9F), usb_parse_data(9F), usb_cfg_descr(9S),
usb_ctrl_request(9S), usb_dev_descr(9S), usb_dev_qlf_descr(9S), usb_ep_descr(9S), usb_other_speed_cfg_descr(9S), usb_string_descr(9S)
SunOS 5.10 5 Jan 2004 usb_if_descr(9S)