Changed the RFCOMM-specific ItemProtocolChannel_t type to a more generic ItemProtocol...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / MassStorage.h
index 912ba58..9b67c7f 100644 (file)
                        /** Retrieves the Mass Storage device's inquiry data for the specified LUN, indicating the device characteristics and
                         *  properties.
                         *
-                        *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-                        *        call will fail.
+                        *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+                        *       call will fail.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
                         *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
 
                        /** Retrieves the total capacity of the attached USB Mass Storage device, in blocks, and block size.
                         *
-                        *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-                        *        call will fail.
+                        *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+                        *       call will fail.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
                         *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
                        /** Retrieves the device sense data, indicating the current device state and error codes for the previously
                         *  issued command.
                         *
-                        *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-                        *        call will fail.
+                        *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+                        *       call will fail.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
                         *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
                        /** Issues a PREVENT MEDIUM REMOVAL command, to logically (or, depending on the type of device, physically) lock
                         *  the device from removal so that blocks of data on the medium can be read or altered.
                         *
-                        *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-                        *        call will fail.
+                        *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+                        *       call will fail.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
                         *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
                        
                        /** Reads blocks of data from the attached Mass Storage device's medium.
                         *
-                        *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-                        *        call will fail.
+                        *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+                        *       call will fail.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
                         *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
                
                        /** Writes blocks of data to the attached Mass Storage device's medium.
                         *
-                        *  \note This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
-                        *        call will fail.
+                        *  \pre This function must only be called when the Host state machine is in the HOST_STATE_Configured state or the
+                        *       call will fail.
                         *
                         *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a MS Class host configuration and state
                         *  \param[in]     LUNIndex         LUN index within the device the command is being issued to
                        
                /* 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,
-                                                                  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, 
-                                                       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,
-                                                                        MS_CommandStatusWrapper_t* const SCSICommandStatus);
+                                                                        MS_CommandStatusWrapper_t* const SCSICommandStatus)
+                                                                        ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
                        #endif
        #endif