LUFA Library
USB_Descriptor_String_t Struct Reference

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.
Regardless of CPU architecture, these values should be stored as little endian.

Field Documentation

◆ Header

USB_Descriptor_Header_t USB_Descriptor_String_t::Header

Descriptor header, including type and size.

◆ UnicodeString

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: