X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/bd8046976f4c7e8db349e4d4ff14da5fac13e7db..5cae54154506176d64a581c5b3d9550c901b570c:/LUFA/Drivers/USB/Class/Common/HIDParser.h diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.h b/LUFA/Drivers/USB/Class/Common/HIDParser.h index 7b9dd9dba..f5454c3f3 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDParser.h +++ b/LUFA/Drivers/USB/Class/Common/HIDParser.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2011. + Copyright (C) Dean Camera, 2013. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -18,7 +18,7 @@ advertising or publicity pertaining to distribution of the software without specific, written prior permission. - The author disclaim all warranties with regard to this + The author disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the author be liable for any special, indirect or consequential damages or any damages @@ -40,11 +40,11 @@ * \defgroup Group_HIDParser HID Report Parser * \brief USB Human Interface Device (HID) Class report descriptor parser. * - * \section Sec_Dependencies Module Source Dependencies + * \section Sec_HIDParser_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: * - LUFA/Drivers/USB/Class/Host/HIDParser.c (Makefile source module name: LUFA_SRC_USB) * - * \section Sec_ModDescription Module Description + * \section Sec_HIDParser_ModDescription Module Description * Human Interface Device (HID) class report descriptor parser. This module implements a parser than is * capable of processing a complete HID report descriptor, and outputting a flat structure containing the * contents of the report in an a more friendly format. The parsed data may then be further processed and used @@ -70,8 +70,8 @@ #include "../../../../Common/Common.h" #include "HIDReportData.h" - #include "../Common/HID.h" - + #include "HIDClassCommon.h" + /* Enable C linkage for C++ Compilers: */ #if defined(__cplusplus) extern "C" { @@ -222,7 +222,7 @@ { uint16_t BitOffset; /**< Bit offset in the IN, OUT or FEATURE report of the item. */ uint8_t ItemType; /**< Report item type, a value in \ref HID_ReportItemTypes_t. */ - uint16_t ItemFlags; /**< Item data flags, a mask of HID_IOF_* constants. */ + uint16_t ItemFlags; /**< Item data flags, a mask of \c HID_IOF_* constants. */ uint8_t ReportID; /**< Report ID this item belongs to, or 0x00 if device has only one report */ HID_CollectionPath_t* CollectionPath; /**< Collection path of the item. */ @@ -295,7 +295,7 @@ * \returns Boolean \c true if the item to retrieve was located in the given report, \c false otherwise. */ bool USB_GetHIDReportItemInfo(const uint8_t* ReportData, - HID_ReportItem_t* const ReportItem) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2); + HID_ReportItem_t* const ReportItem) ATTR_NON_NULL_PTR_ARG(1); /** Retrieves the given report item's value out of the \c Value member of the report item's * \ref HID_ReportItem_t structure and places it into the correct position in the HID report @@ -311,7 +311,7 @@ * \param[in] ReportItem Pointer to the report item of interest in a \ref HID_ReportInfo_t ReportItem array. */ void USB_SetHIDReportItemInfo(uint8_t* ReportData, - HID_ReportItem_t* const ReportItem) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2); + HID_ReportItem_t* const ReportItem) ATTR_NON_NULL_PTR_ARG(1); /** Retrieves the size of a given HID report in bytes from its Report ID. * @@ -331,6 +331,10 @@ * \ref HID_ReportInfo_t structure. This can be used to filter only those items the application will be using, so that * no RAM is wasted storing the attributes for report items which will never be referenced by the application. * + * Report item pointers passed to this callback function may be cached by the user application for later use + * when processing report items. This provides faster report processing in the user application than would + * a search of the entire parsed report item table for each received or sent report. + * * \param[in] CurrentItem Pointer to the current report item for user checking. * * \return Boolean \c true if the item should be stored into the \ref HID_ReportInfo_t structure, \c false if