+               /** Enum for the HID class specific control requests that can be issued by the USB bus host. */
+               enum HID_ClassRequests_t
+               {
+                       HID_REQ_GetReport   = 0x01, /**< HID class-specific Request to get the current HID report from the device. */
+                       HID_REQ_GetIdle     = 0x02, /**< HID class-specific Request to get the current device idle count. */
+                       HID_REQ_SetReport   = 0x09, /**< HID class-specific Request to set the current HID report to the device. */
+                       HID_REQ_SetIdle     = 0x0A, /**< HID class-specific Request to set the device's idle count. */
+                       HID_REQ_GetProtocol = 0x03, /**< HID class-specific Request to get the current HID report protocol mode. */
+                       HID_REQ_SetProtocol = 0x0B, /**< HID class-specific Request to set the current HID report protocol mode. */
+               };
+
+               /** Enum for the HID class specific descriptor types. */
+               enum HID_DescriptorTypes_t
+               {
+                       HID_DTYPE_HID    = 0x21, /**< Descriptor header type value, to indicate a HID class HID descriptor. */
+                       HID_DTYPE_Report = 0x22, /**< Descriptor header type value, to indicate a HID class HID report descriptor. */
+               };
+
+               /** Enum for the HID class boot protocols that may be supported by HID devices. */
+               enum HID_BootProtocols_t
+               {
+                       HID_BOOTP_NonBootProtocol      = 0x00, /**< Constant for the protocol value of a HID interface descriptor, indicating
+                                                               *   that the interface does not support any HID class boot protocol (see HID
+                                                               *   Class Specification).
+                                                               */
+                       HID_BOOTP_KeyboardBootProtocol = 0x01, /**< Constant for the protocol value of a HID interface descriptor, indicating
+                                                               *   that the interface supports the HID class Keyboard boot protocol (see HID
+                                                               *   Class Specification).
+                                                               */
+                       HID_BOOTP_MouseBootProtocol    = 0x02, /**< Constant for the protocol value of a HID interface descriptor, indicating
+                                                               *   that the interface supports the HID class Mouse boot protocol (see HID Class
+                                                               *   Specification).
+                                                               */
+               };
+