+       /* Enums: */
+               /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Audio
+                *  device class.
+                */
+               enum Audio_Descriptor_ClassSubclassProtocol_t
+               {
+                       AUDIO_CSCP_AudioClass                     = 0x01, /**< Descriptor Class value indicating that the device or
+                                                                          *   interface belongs to the USB Audio 1.0 class.
+                                                                          */
+                       AUDIO_CSCP_ControlSubclass                = 0x01, /**< Descriptor Subclass value indicating that the device or
+                                                                          *   interface belongs to the Audio Control subclass.
+                                                                          */
+                       AUDIO_CSCP_ControlProtocol                = 0x00, /**< Descriptor Protocol value indicating that the device or
+                                                                          *   interface belongs to the Audio Control protocol.
+                                                                          */
+                       AUDIO_CSCP_AudioStreamingSubclass         = 0x02, /**< Descriptor Subclass value indicating that the device or
+                                                                          *   interface belongs to the MIDI Streaming subclass.
+                                                                          */
+                       AUDIO_CSCP_MIDIStreamingSubclass          = 0x03, /**< Descriptor Subclass value indicating that the device or
+                                                                          *   interface belongs to the Audio streaming subclass.
+                                                                          */
+                       AUDIO_CSCP_StreamingProtocol              = 0x00, /**< Descriptor Protocol value indicating that the device or
+                                                                          *   interface belongs to the Streaming Audio protocol.
+                                                                          */
+               };
+       
+               /** Audio class specific interface description subtypes, for the Audio Control interface. */
+               enum Audio_CSInterface_AC_SubTypes_t
+               {
+                       AUDIO_DSUBTYPE_CSInterface_Header         = 0x01, /**< Audio class specific control interface header. */
+                       AUDIO_DSUBTYPE_CSInterface_InputTerminal  = 0x02, /**< Audio class specific control interface Input Terminal. */
+                       AUDIO_DSUBTYPE_CSInterface_OutputTerminal = 0x03, /**< Audio class specific control interface Output Terminal. */
+                       AUDIO_DSUBTYPE_CSInterface_Mixer          = 0x04, /**< Audio class specific control interface Mixer Unit. */
+                       AUDIO_DSUBTYPE_CSInterface_Selector       = 0x05, /**< Audio class specific control interface Selector Unit. */
+                       AUDIO_DSUBTYPE_CSInterface_Feature        = 0x06, /**< Audio class specific control interface Feature Unit. */
+                       AUDIO_DSUBTYPE_CSInterface_Processing     = 0x07, /**< Audio class specific control interface Processing Unit. */
+                       AUDIO_DSUBTYPE_CSInterface_Extension      = 0x08, /**< Audio class specific control interface Extension Unit. */
+               };
+
+               /** Audio class specific interface description subtypes, for the Audio Streaming interface. */
+               enum Audio_CSInterface_AS_SubTypes_t
+               {
+                       AUDIO_DSUBTYPE_CSInterface_General        = 0x01, /**< Audio class specific streaming interface general descriptor. */
+                       AUDIO_DSUBTYPE_CSInterface_FormatType     = 0x02, /**< Audio class specific streaming interface format type descriptor. */
+                       AUDIO_DSUBTYPE_CSInterface_FormatSpecific = 0x03, /**< Audio class specific streaming interface format information descriptor. */
+               };
+
+               /** Audio class specific endpoint description subtypes, for the Audio Streaming interface. */
+               enum Audio_CSEndpoint_SubTypes_t
+               {
+                       AUDIO_DSUBTYPE_CSEndpoint_General         = 0x01, /**< Audio class specific endpoint general descriptor. */
+               };
+
+               /** Enum for the Audio class specific control requests that can be issued by the USB bus host. */
+               enum Audio_ClassRequests_t
+               {
+                       AUDIO_REQ_SetCurrent    = 0x01, /**< Audio class-specific request to set the current value of a parameter within the device. */
+                       AUDIO_REQ_SetMinimum    = 0x02, /**< Audio class-specific request to set the minimum value of a parameter within the device. */
+                       AUDIO_REQ_SetMaximum    = 0x03, /**< Audio class-specific request to set the maximum value of a parameter within the device. */
+                       AUDIO_REQ_SetResolution = 0x04, /**< Audio class-specific request to set the resolution value of a parameter within the device. */
+                       AUDIO_REQ_SetMemory     = 0x05, /**< Audio class-specific request to set the memory value of a parameter within the device. */
+                       AUDIO_REQ_GetCurrent    = 0x81, /**< Audio class-specific request to get the current value of a parameter within the device. */
+                       AUDIO_REQ_GetMinimum    = 0x82, /**< Audio class-specific request to get the minimum value of a parameter within the device. */
+                       AUDIO_REQ_GetMaximum    = 0x83, /**< Audio class-specific request to get the maximum value of a parameter within the device. */
+                       AUDIO_REQ_GetResolution = 0x84, /**< Audio class-specific request to get the resolution value of a parameter within the device. */
+                       AUDIO_REQ_GetMemory     = 0x85, /**< Audio class-specific request to get the memory value of a parameter within the device. */
+                       AUDIO_REQ_GetStatus     = 0xFF, /**< Audio class-specific request to get the device status. */
+               };
+               
+               /** Enum for Audio class specific Endpoint control modifiers which can be set and retrieved by a USB host, if the corresponding
+                *  endpoint control is indicated to be supported in the Endpoint's Audio-class specific endpoint descriptor.
+                */
+               enum Audio_EndpointControls_t
+               {
+                       AUDIO_EPCONTROL_SamplingFreq = 0x01, /**< Sampling frequency adjustment of the endpoint. */
+                       AUDIO_EPCONTROL_Pitch        = 0x02, /**< Pitch adjustment of the endpoint. */
+               };
+