2 .\" Copyright (c) 2004, Sun Microsystems, Inc., All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH USB_DEV_DESCR 9S "Jan 5, 2004"
8 usb_dev_descr \- USB device descriptor
12 #include <sys/usb/usba.h>
18 Solaris DDI specific (Solaris DDI)
22 The \fBusb_dev_descr_t\fR device descriptor defines device-wide attributes.
23 Please refer to Section \fI9.6.1\fR of the \fIUSB 2.0\fR specification. The
24 \fIUSB 2.0\fR specification is available at \fIwww.usb.org\fR.
27 The device descriptor is retrieved from a USB device during device enumeration
28 and can be accessed via \fBusb_get_dev_data\fR(9F).
31 A device descriptor contains the following fields:
35 uint8_t bLength Size of this descriptor,
38 uint8_t bDescriptorType Set to USB_DESCR_TYPE_DEV.
40 uint16_t bcdUSB USB specification release
41 number supported, in bcd.
43 uint8_t bDeviceClass Class code (see below).
45 uint8_t bDeviceSubClass Subclass code (see USB 2.0
46 specification of applicable
47 device class for information.)
49 uint8_t bDeviceProtocol Protocol code (see USB 2.0
50 specification of applicable
51 device class for information.)
53 uint8_t bMaxPacketSize0 Maximum packet size of
56 uint16_t idVendor vendor ID value.
58 uint16_t idProduct product ID value.
60 uint16_t bcdDevice Device release number in
63 uint8_t iManufacturer Index of optional manufacturer
67 uint8_t iProduct Index of optional product
71 uint8_t iSerialNumber Index of optional serial
75 uint8_t bNumConfigurations Number of available
79 Device descriptors bDeviceClass values:
81 USB_CLASS_PER_INTERFACE Class information is at
84 USB_CLASS_COMM CDC control device class.
86 USB_CLASS_DIAG Diagnostic device class.
88 USB_CLASS_HUB HUB device class.
90 USB_CLASS_MISC MISC device class.
92 USB_CLASS_VENDOR_SPEC Vendor-specific class.
94 USB_CLASS_WIRELESS Wireless controller
104 See \fBattributes\fR(5) for descriptions of the following attributes:
112 ATTRIBUTE TYPE ATTRIBUTE VALUE
114 Architecture PCI-based systems
116 Interface stability Committed
122 \fBattributes\fR(5), \fBusb_get_alt_if\fR(9F), \fBusb_get_cfg\fR(9F),
123 \fBusb_get_dev_data\fR(9F), \fBusb_get_string_descr\fR(9F),
124 \fBusb_parse_data\fR(9F), \fBusb_cfg_descr\fR(9S), \fBusb_ctrl_request\fR(9S),
125 \fBusb_dev_qlf_descr\fR(9S), \fBusb_ep_descr\fR(9S), \fBusb_if_descr\fR(9S),
126 \fBusb_other_speed_cfg_descr\fR(9S), \fBusb_string_descr\fR(9S)