@ -197,7 +197,7 @@
* \ return A value from the \ ref MSHost_EnumerationFailure_ErrorCodes_t enum
*/
uint8_t MS_Host_ConfigurePipes ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , uint16_t ConfigDescriptorSize ,
void * DeviceConfigDescriptor ) ATTR_NON_NULL_PTR_ARG ( 1 , 3 ) ;
void * DeviceConfigDescriptor ) ATTR_NON_NULL_PTR_ARG ( 1 ) ATTR_NON_NULL_PTR_ARG ( 3 ) ;
/** Sends a MASS STORAGE RESET control request to the attached device, resetting the Mass Storage Interface
* and readying it for the next Mass Storage command .
@ -217,7 +217,8 @@
*
* \ return A value from the \ ref USB_Host_SendControlErrorCodes_t enum
*/
uint8_t MS_Host_GetMaxLUN ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , uint8_t * const MaxLUNIndex ) ATTR_NON_NULL_PTR_ARG ( 1 , 2 ) ;
uint8_t MS_Host_GetMaxLUN ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , uint8_t * const MaxLUNIndex )
ATTR_NON_NULL_PTR_ARG ( 1 ) ATTR_NON_NULL_PTR_ARG ( 2 ) ;
/** Retrieves the Mass Storage device's inquiry data for the specified LUN, indicating the device characteristics and
* properties .
@ -229,7 +230,8 @@
* \ return A value from the \ ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED
*/
uint8_t MS_Host_GetInquiryData ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex ,
SCSI_Inquiry_Response_t * const InquiryData ) ATTR_NON_NULL_PTR_ARG ( 1 , 3 ) ;
SCSI_Inquiry_Response_t * const InquiryData ) ATTR_NON_NULL_PTR_ARG ( 1 )
ATTR_NON_NULL_PTR_ARG ( 3 ) ;
/** Sends a TEST UNIT READY command to the device, to determine if it is ready to accept other SCSI commands.
*
@ -238,7 +240,8 @@
*
* \ return A value from the \ ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready
*/
uint8_t MS_Host_TestUnitReady ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex ) ATTR_NON_NULL_PTR_ARG ( 1 ) ;
uint8_t MS_Host_TestUnitReady ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex )
ATTR_NON_NULL_PTR_ARG ( 1 ) ;
/** Retrieves the total capacity of the attached USB Mass Storage device, in blocks, and block size.
*
@ -249,7 +252,8 @@
* \ return A value from the \ ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready
*/
uint8_t MS_Host_ReadDeviceCapacity ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex ,
SCSI_Capacity_t * const DeviceCapacity ) ATTR_NON_NULL_PTR_ARG ( 1 , 3 ) ;
SCSI_Capacity_t * const DeviceCapacity ) ATTR_NON_NULL_PTR_ARG ( 1 )
ATTR_NON_NULL_PTR_ARG ( 3 ) ;
/** Retrieves the device sense data, indicating the current device state and error codes for the previously
* issued command .
@ -261,7 +265,8 @@
* \ return A value from the \ ref Pipe_Stream_RW_ErrorCodes_t enum or MS_ERROR_LOGICAL_CMD_FAILED if not ready
*/
uint8_t MS_Host_RequestSense ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex ,
SCSI_Request_Sense_Response_t * const SenseData ) ATTR_NON_NULL_PTR_ARG ( 1 , 3 ) ;
SCSI_Request_Sense_Response_t * const SenseData ) ATTR_NON_NULL_PTR_ARG ( 1 )
ATTR_NON_NULL_PTR_ARG ( 3 ) ;
/** 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 .
@ -288,7 +293,7 @@
*/
uint8_t MS_Host_ReadDeviceBlocks ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex ,
const uint32_t BlockAddress , const uint8_t Blocks , const uint16_t BlockSize ,
void * BlockBuffer ) ATTR_NON_NULL_PTR_ARG ( 1 , 6 ) ;
void * BlockBuffer ) ATTR_NON_NULL_PTR_ARG ( 1 ) ATTR_NON_NULL_PTR_ARG ( 6 ) ;
/** Writes blocks of data to the attached Mass Storage device's medium.
*
@ -303,7 +308,7 @@
*/
uint8_t MS_Host_WriteDeviceBlocks ( USB_ClassInfo_MS_Host_t * const MSInterfaceInfo , const uint8_t LUNIndex ,
const uint32_t BlockAddress , const uint8_t Blocks , const uint16_t BlockSize ,
void * BlockBuffer ) ATTR_NON_NULL_PTR_ARG ( 1 , 6 ) ;
void * BlockBuffer ) ATTR_NON_NULL_PTR_ARG ( 1 ) ATTR_NON_NULL_PTR_ARG ( 6 ) ;
/* Private Interface - For use in library only: */
# if !defined(__DOXYGEN__)