Go to main content

man pages section 9: DDI and DKI Properties and Data Structures

Exit Print View

Updated: Thursday, June 13, 2019
 
 

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(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
PCI-based systems
Interface Stability
Committed
Availability
system/io/usb

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)