.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "USB_SET_CONFIGURATION" "" "06 October 2005" "" ""
.SH NAME
usb_set_configuration \- Makes a particular device setting be current
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_set_configuration (struct usb_device * \fIdev\fB, int \fIconfiguration\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIdev\fB\fR
the device whose configuration is being updated
.TP
\fB\fIconfiguration\fB\fR
the configuration being chosen.
.SH "CONTEXT"
.PP
!in_interrupt ()
.SH "DESCRIPTION"
.PP
This is used to enable non-default device modes. Not all devices
support this kind of configurability. By default, configuration
zero is selected after enumeration; many devices only have a single
configuration.
.PP
USB devices may support one or more configurations, which affect
power consumption and the functionality available. For example,
the default configuration is limited to using 100mA of bus power,
so that when certain device functionality requires more power,
and the device is bus powered, that functionality will be in some
non-default device configuration. Other device modes may also be
reflected as configuration options, such as whether two ISDN
channels are presented as independent 64Kb/s interfaces or as one
bonded 128Kb/s interface.
.PP
Note that USB has an additional level of device configurability,
associated with interfaces. That configurability is accessed using
\fBusb_set_interface\fR\&.
.PP
This call is synchronous, and may not be used in an interrupt context.
.PP
Returns zero on success, or else the status code returned by the
underlying \fBusb_control_msg\fR call.