+                        *  When called, this copies the report item's Value element to it's PreviousValue element for easy\r
+                        *  checking to see if an item's value has changed before sending a report.\r
+                        *\r
+                        *  If the device has multiple HID reports, the first byte in the report is set to the report ID of the given item.\r
+                        *\r
+                        *  \param[out] ReportData  Buffer holding the current OUT or FEATURE report data\r
+                        *  \param[in] ReportItem  Pointer to the report item of interest in a \ref HID_ReportInfo_t ReportItem array\r
+                        */\r
+                       void USB_SetHIDReportItemInfo(uint8_t* ReportData, HID_ReportItem_t* const ReportItem)\r
+                                                     ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);\r
+                                                                                 \r
+                       /** Retrieves the size of a given HID report in bytes from it's Report ID.\r
+                        *\r
+                        *  \param[in] ParserData  Pointer to a \ref HID_ReportInfo_t instance containing the parser output\r
+                        *  \param[in] ReportID  Report ID of the report whose size is to be retrieved\r
+                        *  \param[in] ReportType  Type of the report whose size is to be determined, a valued from the\r
+                        *                         \ref HID_ReportItemTypes_t enum\r
+                        *\r
+                        *  \return Size of the report in bytes, or 0 if the report does not exist\r
+                        */\r
+                       uint16_t USB_GetHIDReportSize(HID_ReportInfo_t* const ParserData, const uint8_t ReportID,\r
+                                                     const uint8_t ReportType) ATTR_CONST ATTR_NON_NULL_PTR_ARG(1);\r
+\r
+                       /** Callback routine for the HID Report Parser. This callback <b>must</b> be implemented by the user code when\r
+                        *  the parser is used, to determine what report IN, OUT and FEATURE item's information is stored into the user\r
+                        *  HID_ReportInfo_t structure. This can be used to filter only those items the application will be using, so that\r
+                        *  no RAM is wasted storing the attributes for report items which will never be referenced by the application.\r
+                        *\r
+                        *  \param[in] CurrentItem  Pointer to the current report item for user checking\r