JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 9: DDI and DKI Properties and Data Structures
search filter icon
search icon

Document Information

Preface

Introduction

Data Structures for Drivers

aio_req(9S)

buf(9S)

cb_ops(9S)

copyreq(9S)

copyresp(9S)

datab(9S)

dblk(9S)

ddi_device_acc_attr(9S)

ddi_dma_attr(9S)

ddi_dma_cookie(9S)

ddi_dmae_req(9S)

ddi_dma_lim(9S)

ddi_dma_lim_sparc(9S)

ddi_dma_lim_x86(9S)

ddi_dma_req(9S)

ddi_fm_error(9S)

ddi-forceattach(9P)

ddi_idevice_cookie(9S)

ddi-no-autodetach(9P)

devmap_callback_ctl(9S)

dev_ops(9S)

fmodsw(9S)

free_rtn(9S)

gld_mac_info(9S)

gld_stats(9S)

hook_nic_event(9S)

hook_pkt_event(9S)

hook_t(9S)

inquiry-device-type(9P)

inquiry-product-id(9P)

inquiry-revision-id(9P)

inquiry-vendor-id(9P)

iocblk(9S)

iovec(9S)

kstat(9S)

kstat_intr(9S)

kstat_io(9S)

kstat_named(9S)

linkblk(9S)

lso_basic_tcp_ipv4(9S)

mac_callbacks(9S)

mac_capab_lso(9S)

mac_register(9S)

mblk(9S)

modldrv(9S)

modlinkage(9S)

modlstrmod(9S)

module_info(9S)

msgb(9S)

net_inject_t(9S)

net_instance_t(9S)

no-involuntary-power-cycles(9P)

pm(9P)

pm-components(9P)

qband(9S)

qinit(9S)

queclass(9S)

queue(9S)

removable-media(9P)

scsi_address(9S)

scsi_arq_status(9S)

scsi_asc_key_strings(9S)

scsi_device(9S)

scsi_extended_sense(9S)

scsi_hba_tran(9S)

scsi_inquiry(9S)

scsi_pkt(9S)

scsi_status(9S)

streamtab(9S)

stroptions(9S)

tuple(9S)

uio(9S)

usb_bulk_request(9S)

usb_callback_flags(9S)

usb_cfg_descr(9S)

usb_client_dev_data(9S)

usb_completion_reason(9S)

usb_ctrl_request(9S)

usb_dev_descr(9S)

usb_dev_qlf_descr(9S)

usb_ep_descr(9S)

usb_if_descr(9S)

usb_intr_request(9S)

usb_isoc_request(9S)

usb_other_speed_cfg_descr(9S)

usb_request_attributes(9S)

usb_string_descr(9S)

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
Evolving
Availability
SUNWusbu

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)