X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/071e02c6b6b4837fa9cf0b6d4c749994e02638d7..3125fd5f4fe79b6acc89aea9f51b159db2dfd3ff:/LUFA/Drivers/USB/Class/Host/MassStorage.h?ds=inline diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h index 992c5a0a6..9b67c7fc4 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h @@ -69,7 +69,7 @@ /* 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: */ @@ -84,10 +84,10 @@ 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 */ - 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 * must be set or the interface will fail to enumerate and operate correctly. */ @@ -113,7 +113,7 @@ * * 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 { @@ -137,9 +137,9 @@ * is found within the device. This should be called once after the stack has enumerated the attached device, while * the host state machine is in the Addressed state. * - * \param[in,out] MSInterfaceInfo Pointer to a structure containing an MS Class host configuration and state - * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor - * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor + * \param[in,out] MSInterfaceInfo Pointer to a structure containing an MS Class host configuration and state + * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor + * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor * * \return A value from the \ref MSHost_EnumerationFailure_ErrorCodes_t enum */ @@ -164,7 +164,7 @@ * if the device STALLs the request. * * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state - * \param[out] MaxLUNIndex Pointer to a location where the highest LUN index value should be stored + * \param[out] MaxLUNIndex Pointer to a location where the highest LUN index value should be stored * * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum */ @@ -174,12 +174,12 @@ /** 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 - * \param[out] InquiryData Location where the read inquiry data should be stored + * \param[in] LUNIndex LUN index within the device the command is being issued to + * \param[out] InquiryData Location where the read inquiry data should be stored * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED */ @@ -190,7 +190,7 @@ /** Sends a TEST UNIT READY command to the device, to determine if it is ready to accept other SCSI commands. * * \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 + * \param[in] LUNIndex LUN index within the device the command is being issued to * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready */ @@ -199,12 +199,12 @@ /** 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 - * \param[out] DeviceCapacity Pointer to the location where the capacity information should be stored + * \param[in] LUNIndex LUN index within the device the command is being issued to + * \param[out] DeviceCapacity Pointer to the location where the capacity information should be stored * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready */ @@ -215,12 +215,12 @@ /** 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 - * \param[out] SenseData Pointer to the location where the sense information should be stored + * \param[in] LUNIndex LUN index within the device the command is being issued to + * \param[out] SenseData Pointer to the location where the sense information should be stored * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready */ @@ -231,12 +231,12 @@ /** 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 - * \param[in] PreventRemoval Boolean true if the device should be locked from removal, false otherwise + * \param[in] LUNIndex LUN index within the device the command is being issued to + * \param[in] PreventRemoval Boolean true if the device should be locked from removal, false otherwise * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready */ @@ -245,15 +245,15 @@ /** 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 - * \param[in] BlockAddress Starting block address within the device to read from - * \param[in] Blocks Total number of blocks to read - * \param[in] BlockSize Size in bytes of each block within the device - * \param[out] BlockBuffer Pointer to where the read data from the device should be stored + * \param[in] LUNIndex LUN index within the device the command is being issued to + * \param[in] BlockAddress Starting block address within the device to read from + * \param[in] Blocks Total number of blocks to read + * \param[in] BlockSize Size in bytes of each block within the device + * \param[out] BlockBuffer Pointer to where the read data from the device should be stored * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready */ @@ -263,15 +263,15 @@ /** 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 - * \param[in] BlockAddress Starting block address within the device to write to - * \param[in] Blocks Total number of blocks to read - * \param[in] BlockSize Size in bytes of each block within the device - * \param[in] BlockBuffer Pointer to where the data to write should be sourced from + * \param[in] LUNIndex LUN index within the device the command is being issued to + * \param[in] BlockAddress Starting block address within the device to write to + * \param[in] Blocks Total number of blocks to read + * \param[in] BlockSize Size in bytes of each block within the device + * \param[in] BlockBuffer Pointer to where the data to write should be sourced from * * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready */ @@ -315,17 +315,19 @@ /* Function Prototypes: */ #if defined(__INCLUDE_FROM_MS_CLASS_HOST_C) - static uint8_t DComp_NextMSInterface(void* const CurrentDescriptor); - static uint8_t DComp_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