Add Python test script using pywinusb for the Class Driver Generic HID Device demo...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / AndroidAccessoryClassHost.h
index 0ce7ece..a8d3e90 100644 (file)
 /** \ingroup Group_USBClassAOA
  *  \defgroup Group_USBClassAndroidAccessoryHost Android Open Accessory Class Host Mode Driver
  *
- *  \section Sec_Dependencies Module Source Dependencies
+ *  \section Sec_USBClassAndroidAccessoryHost_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
  *    - LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
  *
- *  \section Sec_ModDescription Module Description
+ *  \section Sec_USBClassAndroidAccessoryHost_ModDescription Module Description
  *  Host Mode USB Class driver framework interface, for the Android Open Accessory USB Class driver.
  *
  *  @{
@@ -87,7 +87,7 @@
                                {
                                        USB_Pipe_Table_t DataINPipe; /**< Data IN Pipe configuration table. */
                                        USB_Pipe_Table_t DataOUTPipe; /**< Data OUT Pipe configuration table. */
-                                       
+
                                        char*    PropertyStrings[AOA_STRING_TOTAL_STRINGS]; /**< Android Accessory property strings, sent to identify the accessory when the
                                                                                             *   Android device is switched into Open Accessory mode. */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                        uint8_t AOA_Host_ConfigurePipes(USB_ClassInfo_AOA_Host_t* const AOAInterfaceInfo,
                                                        uint16_t ConfigDescriptorSize,
                                                        void* ConfigDescriptorData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
-                                                                          
+
                        /** Starts Accessory Mode in the attached Android device. This function will validate the device's Android Open Accessory protocol
                         *  version, send the configured property strings, and request a switch to Android Open Accessory mode.
                         *
                         *  \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
                         */
                        uint8_t AOA_Host_SendData(USB_ClassInfo_AOA_Host_t* const AOAInterfaceInfo,
-                                                 const uint8_t* const Buffer,
-                                                 const uint16_t Length);
+                                                 const void* const Buffer,
+                                                 const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
 
                        /** Sends a given null-terminated string to the attached USB device, if connected. If a device is not connected when the
                         *  function is called, the string is discarded. Bytes will be queued for transmission to the device until either the pipe
                         *  \param[in,out] Stream            Pointer to a FILE structure where the created stream should be placed.
                         */
                        void AOA_Host_CreateStream(USB_ClassInfo_AOA_Host_t* const AOAInterfaceInfo,
-                                                  FILE* const Stream);
+                                                  FILE* const Stream) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
 
                        /** Identical to \ref AOA_Host_CreateStream(), except that reads are blocking until the calling stream function terminates
                         *  the transfer. While blocking, the USB and AOA service tasks are called repeatedly to maintain USB communications.
                         *  \param[in,out] Stream            Pointer to a FILE structure where the created stream should be placed.
                         */
                        void AOA_Host_CreateBlockingStream(USB_ClassInfo_AOA_Host_t* const AOAInterfaceInfo,
-                                                          FILE* const Stream);
+                                                          FILE* const Stream) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
 
        /* Private Interface - For use in library only: */
        #if !defined(__DOXYGEN__)