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 | Committed |
+--------------------+-------------------+

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)


January 5, 2004 USB_IF_DESCR(9S)