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
       illumos DDI specific (illumos 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(7) for descriptions of the following attributes:
       +--------------------+-------------------+
       |  ATTRIBUTE TYPE    |  ATTRIBUTE VALUE  |
       +--------------------+-------------------+
       |Architecture        | PCI-based systems |
       +--------------------+-------------------+
       |Interface stability | Committed         |
       +--------------------+-------------------+
SEE ALSO
       attributes(7), 
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)