X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/524decdeb3a0a4c7adbeb4af906556e7bc6dd77c..6bbd2a99c216bd47aeeaa53ab3687cb045a37e5a:/LUFA/Drivers/USB/Class/Host/HIDParser.h diff --git a/LUFA/Drivers/USB/Class/Host/HIDParser.h b/LUFA/Drivers/USB/Class/Host/HIDParser.h index d9adae34d..a2830dd30 100644 --- a/LUFA/Drivers/USB/Class/Host/HIDParser.h +++ b/LUFA/Drivers/USB/Class/Host/HIDParser.h @@ -208,9 +208,9 @@ typedef struct { uint8_t ReportID; /** Report ID of the report within the HID interface */ - uint8_t BitsIn; /** Total number of IN data bits in the current report ID */ - uint8_t BitsOut; /** Total number of OUT data bits in the current report ID */ - uint8_t BitsFeature; /** Total number of FEATURE data bits in the current report ID */ + uint8_t ReportSizeBits[3]; /** Total number of bits in each report type for the given Report ID, + * indexed by the \ref HID_ReportItemTypes_t enum + */ } HID_ReportSizeInfo_t; /** Type define for a complete processed HID report, including all report item data and collections. */ @@ -269,6 +269,18 @@ void USB_SetHIDReportItemInfo(uint8_t* ReportData, const HID_ReportItem_t* ReportItem) ATTR_NON_NULL_PTR_ARG(1, 2); + /** Retrieves the size of a given HID report in bytes from it's Report ID. + * + * \param[in] ParserData Pointer to a \ref HID_ReportInfo_t instance containing the parser output + * \param[in] ReportID Report ID of the report whose size is to be retrieved + * \param[in] ReportType Type of the report whose size is to be determined, a valued from the + * \ref HID_ReportItemTypes_t enum + * + * \return Size of the report in bytes, or 0 if the report does not exist + */ + uint16_t USB_GetHIDReportSize(HID_ReportInfo_t* const ParserData, const uint8_t ReportID, + const uint8_t ReportType) ATTR_NON_NULL_PTR_ARG(1); + /** Callback routine for the HID Report Parser. This callback must be implemented by the user code when * the parser is used, to determine what report IN, OUT and FEATURE item's information is stored into the user * HID_ReportInfo_t structure. This can be used to filter only those items the application will be using, so that