.\" 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_STRING" "" "06 October 2005" "" ""
.SH NAME
usb_string \- returns ISO 8859-1 version of a string descriptor
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_string (struct usb_device * \fIdev\fB, int \fIindex\fB, char * \fIbuf\fB, size_t \fIsize\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIdev\fB\fR
the device whose string descriptor is being retrieved
.TP
\fB\fIindex\fB\fR
the number of the descriptor
.TP
\fB\fIbuf\fB\fR
where to put the string
.TP
\fB\fIsize\fB\fR
how big is ``buf''?
.SH "CONTEXT"
.PP
!in_interrupt ()
.SH "DESCRIPTION"
.PP
This converts the UTF-16LE encoded strings returned by devices, from
\fBusb_get_string_descriptor\fR, to null-terminated ISO-8859-1 encoded ones
that are more usable in most kernel contexts. Note that all characters
in the chosen descriptor that can't be encoded using ISO-8859-1
are converted to the question mark (``?'') character, and this function
chooses strings in the first language supported by the device.
.PP
The ASCII (or, redundantly, ``US-ASCII'') character set is the seven-bit
subset of ISO 8859-1. ISO-8859-1 is the eight-bit subset of Unicode,
and is appropriate for use many uses of English and several other
Western European languages. (But it doesn't include the ``Euro'' symbol.)
.PP
This call is synchronous, and may not be used in an interrupt context.
.PP
Returns length of the string (>= 0) or usb_control_msg status (< 0).