Minor tweaks to the build tests to ensure that they will operate properly on all...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Common / HIDParser.h
index 7b9dd9d..39c5817 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  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
@@ -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" {
                        {
                                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. */
 
                         *  \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
                         *  \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.
                         *
                         *  \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