+ /** Descriptor header constant to indicate a Audio class interface descriptor. */\r
+ #define DTYPE_AudioInterface 0x24\r
+\r
+ /** Descriptor header constant to indicate a Audio class endpoint descriptor. */\r
+ #define DTYPE_AudioEndpoint 0x25\r
+\r
+ /** Audio class descriptor subtype value for a Audio class specific header descriptor. */\r
+ #define DSUBTYPE_Header 0x01\r
+\r
+ /** Audio class descriptor subtype value for an Output Terminal Audio class specific descriptor. */\r
+ #define DSUBTYPE_InputTerminal 0x02\r
+\r
+ /** Audio class descriptor subtype value for an Input Terminal Audio class specific descriptor. */\r
+ #define DSUBTYPE_OutputTerminal 0x03\r
+\r
+ /** Audio class descriptor subtype value for a Feature Unit Audio class specific descriptor. */\r
+ #define DSUBTYPE_FeatureUnit 0x06\r
+\r
+ /** Audio class descriptor subtype value for a general Audio class specific descriptor. */\r
+ #define DSUBTYPE_General 0x01\r
+\r
+ /** Audio class descriptor subtype value for an Audio class specific descriptor indicating the format of an audio stream. */\r
+ #define DSUBTYPE_Format 0x02\r
+ \r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_LEFT_FRONT (1 << 0)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_RIGHT_FRONT (1 << 1)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_CENTER_FRONT (1 << 2)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_LOW_FREQ_ENHANCE (1 << 3)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_LEFT_SURROUND (1 << 4)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_RIGHT_SURROUND (1 << 5)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_LEFT_OF_CENTER (1 << 6)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_RIGHT_OF_CENTER (1 << 7)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_SURROUND (1 << 8)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_SIDE_LEFT (1 << 9)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_SIDE_RIGHT (1 << 10)\r
+\r
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */\r
+ #define CHANNEL_TOP (1 << 11)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_MUTE (1 << 0)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_VOLUME (1 << 1)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_BASS (1 << 2)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_MID (1 << 3)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_TREBLE (1 << 4)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_GRAPHIC_EQUALIZER (1 << 5)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_AUTOMATIC_GAIN (1 << 6)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_DELAY (1 << 7)\r
+\r
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_BASS_BOOST (1 << 8)\r
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */\r
+ #define FEATURE_BASS_LOUDNESS (1 << 9)\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_UNDEFINED 0x0100\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_STREAMING 0x0101\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_VENDOR 0x01FF\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_UNDEFINED 0x0200\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_MIC 0x0201\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_DESKTOP_MIC 0x0202\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_PERSONAL_MIC 0x0203\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_OMNIDIR_MIC 0x0204\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_MIC_ARRAY 0x0205\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_PROCESSING_MIC 0x0206\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_IN_OUT_UNDEFINED 0x0300\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_OUT_SPEAKER 0x0301\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_OUT_HEADPHONES 0x0302\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_OUT_HEAD_MOUNTED 0x0303\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_OUT_DESKTOP 0x0304\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_OUT_ROOM 0x0305\r
+\r
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */ \r
+ #define TERMINAL_OUT_COMMUNICATION 0x0306\r