.\" 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_GADGET_GET_STRING" "9" "09 October 2005" "" ""
.SH NAME
usb_gadget_get_string \- fill out a string descriptor
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int usb_gadget_get_string (struct usb_gadget_strings * \fItable\fB, int \fIid\fB, u8 * \fIbuf\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fItable\fB\fR
of c strings encoded using UTF-8
.TP
\fB\fIid\fB\fR
string id, from low byte of wValue in get string descriptor
.TP
\fB\fIbuf\fB\fR
at least 256 bytes
.SH "DESCRIPTION"
.PP
Finds the UTF-8 string matching the ID, and converts it into a
string descriptor in utf16-le.
Returns length of descriptor (always even) or negative errno
.PP
If your driver needs stings in multiple languages, you'll probably
``switch (wIndex) { ... }'' in your ep0 string descriptor logic,
using this routine after choosing which set of UTF-8 strings to use.
Note that US-ASCII is a strict subset of UTF-8; any string bytes with
the eighth bit set will be multibyte UTF-8 characters, not ISO-8859/1
characters (which are also widely used in C strings).