USB_DEV_DESCR(9S) Data Structures for Drivers USB_DEV_DESCR(9S)


NAME


usb_dev_descr - USB device descriptor

SYNOPSIS


#include <sys/usb/usba.h>


INTERFACE LEVEL


Solaris DDI specific (Solaris DDI)

DESCRIPTION


The usb_dev_descr_t device descriptor defines device-wide attributes.
Please refer to Section 9.6.1 of the USB 2.0 specification. The USB 2.0
specification is available at www.usb.org.


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.


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_qlf_descr(9S), usb_ep_descr(9S),
usb_if_descr(9S), usb_other_speed_cfg_descr(9S), usb_string_descr(9S)


January 5, 2004 USB_DEV_DESCR(9S)