- /** General management task for a given Mass Storage class interface, required for the correct operation of the interface. This should\r
- * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().\r
- *\r
- * \param MSInterfaceInfo Pointer to a structure containing a Mass Storage configuration and state.\r
- */\r
- void MS_Device_USBTask(USB_ClassInfo_MS_t* MSInterfaceInfo);\r
+ /** General management task for a given Mass Storage class interface, required for the correct operation of the interface. This should\r
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().\r
+ *\r
+ * \param MSInterfaceInfo Pointer to a structure containing a Mass Storage configuration and state.\r
+ */\r
+ void MS_Device_USBTask(USB_ClassInfo_MS_t* MSInterfaceInfo);\r
+ \r
+ /** Mass Storage class driver callback for the user processing of a received SCSI command. This callback will fire each time the\r
+ * host sends a SCSI command which requires processing by the user application. Inside this callback the user is responsible\r
+ * for the processing of the received SCSI command from the host. The SCSI command is available in the CommandBlock structure\r
+ * inside the Mass Storage class state structure passed as a parameter to the callback function.\r
+ *\r
+ * \param MSInterfaceInfo Pointer to a structure containing a Mass Storage Class configuration and state.\r
+ *\r
+ * \return Boolean true if the SCSI command was successfully processed, false otherwise\r
+ */\r
+ bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_t* MSInterfaceInfo);\r
+ \r
+ /* Private Interface - For use in library only: */\r
+ #if !defined(__DOXYGEN__)\r
+ /* Function Prototypes: */\r
+ #if defined(INCLUDE_FROM_MS_CLASS_DEVICE_C)\r
+ static void MS_Device_ReturnCommandStatus(USB_ClassInfo_MS_t* MSInterfaceInfo);\r
+ static bool MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_t* MSInterfaceInfo);\r
+ static uint8_t StreamCallback_MS_Device_AbortOnMassStoreReset(void);\r
+ #endif\r