usb_gadget_get_string(9)

usb_gadget_get_string9

Fill out a string descriptor

Usage

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

Arguments

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, must be 16-bit aligned

Overview

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

Releases

6 releases since Debian 4.0 (Etch); the text changed 5 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8
  6. 9

Author

David Brownell <[email protected]>

Author.

From linux-manual-4.9 4.9.228-1 in Debian 9 (Stretch). Parsed by carta from the page's man source.