Current File : //usr/man/man9s/usb_dev_descr.9s
'\" te
.\" Copyright (c) 2004, Sun Microsystems, Inc., All Rights Reserved
.TH usb_dev_descr 9S "5 Jan 2004" "SunOS 5.11" "Data Structures for Drivers"
.SH NAME
usb_dev_descr \- USB device descriptor
.SH SYNOPSIS
.LP
.nf
#include <sys/usb/usba.h> 
.fi

.SH INTERFACE LEVEL
.sp
.LP
Solaris DDI specific (Solaris DDI)
.SH DESCRIPTION
.sp
.LP
The \fBusb_dev_descr_t\fR device descriptor defines device-wide attributes. Please refer to Section \fI9.6.1\fR of the \fIUSB 2.0\fR specification. The \fIUSB 2.0\fR specification is available at \fIwww.usb.org\fR.
.sp
.LP
The device descriptor is retrieved from a USB device during device enumeration and can be accessed via \fBusb_get_dev_data\fR(9F). 
.sp
.LP
A device descriptor contains the following fields:
.sp
.in +2
.nf
 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.

                        
.fi
.in -2

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes: 
.sp

.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i) 
lw(2.75i) |lw(2.75i) 
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
ArchitecturePCI-based systems
_
Interface StabilityCommitted
_
Availabilitysystem/io/usb
.TE

.SH SEE ALSO
.sp
.LP
\fBattributes\fR(5), \fBusb_get_alt_if\fR(9F), \fBusb_get_cfg\fR(9F), \fBusb_get_dev_data\fR(9F), \fBusb_get_string_descr\fR(9F), \fBusb_parse_data\fR(9F), \fBusb_cfg_descr\fR(9S), \fBusb_ctrl_request\fR(9S), \fBusb_dev_qlf_descr\fR(9S), \fBusb_ep_descr\fR(9S), \fBusb_if_descr\fR(9S), \fBusb_other_speed_cfg_descr\fR(9S), \fBusb_string_descr\fR(9S)