xref: /illumos-gate/usr/src/man/man9s/usb_cfg_descr.9s (revision 598f4ceed9327d2d6c2325dd67cae3aa06f7fea6)
te
Copyright (c) 2004, Sun Microsystems, Inc., All Rights Reserved
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.
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.
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]
USB_CFG_DESCR 9S "Jan 5, 2004"
NAME
usb_cfg_descr - USB configuration descriptor
SYNOPSIS

#include <sys/usb/usba.h>
INTERFACE LEVEL

Solaris DDI specific (Solaris DDI)

DESCRIPTION

The usb_cfg_descr_t configuration descriptor defines attributes of a configuration. A configuration contains one or more interfaces. A configuration descriptor acts as a header for the group of other descriptors describing the subcomponents (for example, interfaces and endpoints) of a configuration. Please refer to Section 9.6.3 of the USB 2.0 specification. The USB 2.0 specification is available at www.usb.org.

One or more configuration descriptors are retrieved from a USB device during device enumeration. They can be accessed via usb_get_dev_data(9F).

A configuration descriptor has the following fields:

uint8_t bLength Size of this descriptor
 in bytes.

uint8_t bDescriptorType Set to USB_DESCR_TYPE_CFG.

uint16_t wTotalLength Total length of data returned
 including this and all other
 descriptors in this configuration.

uint8_t bNumInterfaces Number of interfaces in this
 configuration.

uint8_t bConfigurationValue ID of this configuration
 (1-based).

uint8_t iConfiguration Index of optional configuration
 string. Valid if > 0.

uint8_t bmAttributes Configuration characteristics
 (See below).

uint8_t bMaxPower Maximum power consumption, in
 2mA units.

Configuration descriptors define the following bmAttributes:
 USB_CFG_ATTR_SELFPWR - Set if config not using bus power.
 USB_CFG_ATTR_REMOTE_WAKEUP - Set if config supports rem wakeup.
ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Architecture PCI-based systems
Interface stability Committed
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_ctrl_request(9S), usb_dev_descr(9S), usb_dev_qlf_descr(9S), usb_ep_descr(9S), usb_if_descr(9S), usb_other_speed_cfg_descr(9S), usb_string_descr(9S)