.\" 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_GET_DESCRIPTOR" "9" "09 October 2005" "" ""
.SH NAME
usb_get_descriptor \- issues a generic GET_DESCRIPTOR request
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_get_descriptor (struct usb_device * \fIdev\fB, unsigned char \fItype\fB, unsigned char \fIindex\fB, void * \fIbuf\fB, int \fIsize\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIdev\fB\fR
the device whose descriptor is being retrieved
.TP
\fB\fItype\fB\fR
the descriptor type (USB_DT_*)
.TP
\fB\fIindex\fB\fR
the number of the descriptor
.TP
\fB\fIbuf\fB\fR
where to put the descriptor
.TP
\fB\fIsize\fB\fR
how big is ``buf''?
.SH "CONTEXT"
.PP
!in_interrupt ()
.SH "DESCRIPTION"
.PP
Gets a USB descriptor. Convenience functions exist to simplify
getting some types of descriptors. Use
\fBusb_get_string\fR or \fBusb_string\fR for USB_DT_STRING.
Device (USB_DT_DEVICE) and configuration descriptors (USB_DT_CONFIG)
are part of the device structure.
In addition to a number of USB-standard descriptors, some
devices also use class-specific or vendor-specific descriptors.
.PP
This call is synchronous, and may not be used in an interrupt context.
.PP
Returns the number of bytes received on success, or else the status code
returned by the underlying \fBusb_control_msg\fR call.