usb_string(9)
NAME
usb_string - returns ISO 8859-1 version of a string descriptor
SYNOPSIS
int usb_string(struct usb_device * dev, int index, char * buf,
size_t size);
ARGUMENTS
- dev
- the device whose string descriptor is being retrieved
- index
- the number of the descriptor
- buf
- where to put the string
- size
- how big is "buf"?
CONTEXT
!in_interrupt ()
DESCRIPTION
This converts the UTF-16LE encoded strings returned by devices, from
usb_get_string_descriptor, 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.
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.)
This call is synchronous, and may not be used in an interrupt context.
Returns length of the string (>= 0) or usb_control_msg status (< 0).