Split out the RFCOMM Control Channel command processing code into a seperate set...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / MassStorage.h
index 1759a98..6c1f7f6 100644 (file)
@@ -69,7 +69,7 @@
 
        /* Public Interface - May be used in end-application: */
                /* Macros: */
 
        /* Public Interface - May be used in end-application: */
                /* Macros: */
-                       /** Error code for some Mass Storage Host functions, indicating a logical (and not hardware) error */
+                       /** Error code for some Mass Storage Host functions, indicating a logical (and not hardware) error. */
                        #define MS_ERROR_LOGICAL_CMD_FAILED              0x80
        
                /* Type Defines: */
                        #define MS_ERROR_LOGICAL_CMD_FAILED              0x80
        
                /* Type Defines: */
                                const struct
                                {
                                        uint8_t  DataINPipeNumber; /**< Pipe number of the Mass Storage interface's IN data pipe */
                                const struct
                                {
                                        uint8_t  DataINPipeNumber; /**< Pipe number of the Mass Storage interface's IN data pipe */
-                                       bool     DataINPipeDoubleBank; /** Indicates if the Mass Storage interface's IN data pipe should use double banking */
+                                       bool     DataINPipeDoubleBank; /**< Indicates if the Mass Storage interface's IN data pipe should use double banking */
 
                                        uint8_t  DataOUTPipeNumber; /**< Pipe number of the Mass Storage interface's OUT data pipe */
 
                                        uint8_t  DataOUTPipeNumber; /**< Pipe number of the Mass Storage interface's OUT data pipe */
-                                       bool     DataOUTPipeDoubleBank; /** Indicates if the Mass Storage interface's OUT data pipe should use double banking */
+                                       bool     DataOUTPipeDoubleBank; /**< Indicates if the Mass Storage interface's OUT data pipe should use double banking */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                                           *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.
                                           */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                                           *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.
                                           */
                         *
                         *  SCSI capacity structure, to hold the total capacity of the device in both the number
                         *  of blocks in the current LUN, and the size of each block. This structure is filled by
                         *
                         *  SCSI capacity structure, to hold the total capacity of the device in both the number
                         *  of blocks in the current LUN, and the size of each block. This structure is filled by
-                        *  the device when the MassStore_ReadCapacity() function is called.
+                        *  the device when the \ref MS_Host_ReadDeviceCapacity() function is called.
                         */
                        typedef struct
                        {
                         */
                        typedef struct
                        {
                        
                /* Function Prototypes: */
                        #if defined(__INCLUDE_FROM_MS_CLASS_HOST_C)             
                        
                /* Function Prototypes: */
                        #if defined(__INCLUDE_FROM_MS_CLASS_HOST_C)             
-                               static uint8_t DCOMP_MS_NextMSInterface(void* const CurrentDescriptor);
-                               static uint8_t DCOMP_MS_NextMSInterfaceEndpoint(void* const CurrentDescriptor);
+                               static uint8_t DCOMP_MS_NextMSInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+                               static uint8_t DCOMP_MS_NextMSInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
                                
                                static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
                                                                   MS_CommandBlockWrapper_t* const SCSICommandBlock,
                                
                                static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
                                                                   MS_CommandBlockWrapper_t* const SCSICommandBlock,
-                                                                  const void* const BufferPtr);
-                               static uint8_t MS_Host_WaitForDataReceived(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo);
+                                                                  const void* const BufferPtr) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+                               static uint8_t MS_Host_WaitForDataReceived(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
                                static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, 
                                static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, 
-                                                       MS_CommandBlockWrapper_t* const SCSICommandBlock, void* BufferPtr);
+                                                       MS_CommandBlockWrapper_t* const SCSICommandBlock, void* BufferPtr)
+                                                                       ATTR_NON_NULL_PTR_ARG(1)  ATTR_NON_NULL_PTR_ARG(2);
                                static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
                                static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
-                                                                        MS_CommandStatusWrapper_t* const SCSICommandStatus);
+                                                                        MS_CommandStatusWrapper_t* const SCSICommandStatus)
+                                                                        ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
                        #endif
        #endif
        
                        #endif
        #endif