| LUFA Library 140302 |

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
USB_Descriptor_String_t Struct Reference
USB Descriptors

Standard USB String Descriptor (LUFA naming conventions). More...

`#include <StdDescriptors.h>`

## Data Fields
USB_Descriptor_Header_t | Header
uint16_t | UnicodeString []

## Detailed Description

Type define for a standard string descriptor. Unlike other standard descriptors, the length of the descriptor for placement in the descriptor header must be determined by the USB_STRING_LEN() macro rather than by the size of the descriptor structure, as the length is not fixed.

This structure should also be used for string index 0, which contains the supported language IDs for the device as an array.

This structure uses LUFA-specific element names to make each element's purpose clearer.

See also
  USB_StdDescriptor_String_t for the version of this type with standard element names.

Note
  Regardless of CPU architecture, these values should be stored as little endian.

## Field Documentation

USB_Descriptor_Header_t USB_Descriptor_String_t::Header

Descriptor header, including type and size.

uint16_t USB_Descriptor_String_t::UnicodeString[]

String data, as unicode characters (alternatively, string language IDs). If normal ASCII characters are to be used, they must be added as an array of characters rather than a normal C string so that they are widened to Unicode size.

Under GCC, strings prefixed with the "L" character (before the opening string quotation mark) are considered to be Unicode strings, and may be used instead of an explicit array of ASCII characters on little endian devices with UTF-16-LE `wchar_t` encoding.

The documentation for this struct was generated from the following file:

- Drivers/USB/Core/StdDescriptors.h