Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug


       usb_gadget_get_string - fill out a string descriptor


       int usb_gadget_get_string  (struct usb_gadget_strings * table, int id,
                                    u8 * buf);


       table  of c strings encoded using UTF-8

       id     string id, from low byte of wValue in get string descriptor

       buf    at least 256 bytes


       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

       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).


       David Brownell <>.