Fixed Device mode HID Class driver always sending IN reports, even when no data is...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / HID.h
index 3d7a539..56b27df 100644 (file)
                        } USB_ClassInfo_HID_Host_t;\r
 \r
                /* Enums: */\r
-                       enum\r
+                       enum HIDHost_EnumerationFailure_ErrorCodes_t\r
                        {\r
                                HID_ENUMERROR_NoError                    = 0, /**< Configuration Descriptor was processed successfully */\r
                                HID_ENUMERROR_InvalidConfigDescriptor    = 1, /**< The device returned an invalid Configuration Descriptor */\r
                                HID_ENUMERROR_NoHIDInterfaceFound        = 2, /**< A compatible HID interface was not found in the device's Configuration Descriptor */\r
                                HID_ENUMERROR_EndpointsNotFound          = 3, /**< Compatible HID endpoints were not found in the device's HID interface */\r
-                       } HIDHost_EnumerationFailure_ErrorCodes_t;\r
+                       };\r
        \r
                /* Function Prototypes: */\r
-                       void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo);\r
+                       void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                        uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, uint16_t ConfigDescriptorLength,\r
-                                                       uint8_t* DeviceConfigDescriptor);\r
+                                                       uint8_t* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3);\r
 \r
-                       bool    HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo);\r
-                       uint8_t USB_HID_Host_SetProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, bool UseReportProtocol);\r
+                       bool    HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
+                       uint8_t USB_HID_Host_SetProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo, bool UseReportProtocol) ATTR_NON_NULL_PTR_ARG(1);\r
                \r
        /* Private Interface - For use in library only: */\r
        #if !defined(__DOXYGEN__)\r
 \r
                /* Function Prototypes: */\r
                        #if defined(INCLUDE_FROM_HID_CLASS_HOST_C)\r
-                               static uint8_t DComp_HID_Host_NextHIDInterface(void* CurrentDescriptor);\r
-                               static uint8_t DComp_HID_Host_NextInterfaceHIDDataEndpoint(void* CurrentDescriptor);\r
+                               static uint8_t DComp_HID_Host_NextHIDInterface(void* CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);\r
+                               static uint8_t DComp_HID_Host_NextInterfaceHIDDataEndpoint(void* CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);\r
                        #endif  \r
        #endif  \r
        \r