Fixed broken HIDReportParser.c.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / MassStorage.c
index 1c41f60..1dc6d60 100644 (file)
   this software.\r
 */\r
 \r
-#define  INCLUDE_FROM_MS_CLASS_C\r
+#include "../../HighLevel/USBMode.h"\r
+#if defined(USB_CAN_BE_DEVICE)\r
+\r
+#define  INCLUDE_FROM_MS_CLASS_DEVICE_C\r
 #include "MassStorage.h"\r
 \r
 static USB_ClassInfo_MS_t* CallbackMSInterfaceInfo;\r
 \r
-void USB_MS_ProcessControlPacket(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
+void MS_Device_ProcessControlPacket(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
 {\r
        if (!(Endpoint_IsSETUPReceived()))\r
          return;\r
@@ -72,7 +75,7 @@ void USB_MS_ProcessControlPacket(USB_ClassInfo_MS_t* MSInterfaceInfo)
        }\r
 }\r
 \r
-bool USB_MS_ConfigureEndpoints(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
+bool MS_Device_ConfigureEndpoints(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
 {\r
        if (!(Endpoint_ConfigureEndpoint(MSInterfaceInfo->DataINEndpointNumber, EP_TYPE_BULK,\r
                                                                 ENDPOINT_DIR_IN, MSInterfaceInfo->DataINEndpointSize,\r
@@ -91,7 +94,7 @@ bool USB_MS_ConfigureEndpoints(USB_ClassInfo_MS_t* MSInterfaceInfo)
        return true;\r
 }\r
 \r
-void USB_MS_USBTask(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
+void MS_Device_USBTask(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
 {\r
        if (!(USB_IsConnected))\r
          return;\r
@@ -100,21 +103,21 @@ void USB_MS_USBTask(USB_ClassInfo_MS_t* MSInterfaceInfo)
                \r
        if (Endpoint_IsReadWriteAllowed())\r
        {\r
-               if (USB_MS_ReadInCommandBlock(MSInterfaceInfo))\r
+               if (MS_Device_ReadInCommandBlock(MSInterfaceInfo))\r
                {\r
-                       if (MSInterfaceInfo->CommandBlock.Flags & COMMAND_DIRECTION_DATA_IN)\r
+                       if (MSInterfaceInfo->CommandBlock.Flags & MS_COMMAND_DIR_DATA_IN)\r
                          Endpoint_SelectEndpoint(MSInterfaceInfo->DataINEndpointNumber);\r
                          \r
-                       MSInterfaceInfo->CommandStatus.Status              = CALLBACK_USB_MS_SCSICommandReceived(MSInterfaceInfo) ?\r
-                                                                             Command_Pass : Command_Fail;\r
-                       MSInterfaceInfo->CommandStatus.Signature           = CSW_SIGNATURE;\r
+                       MSInterfaceInfo->CommandStatus.Status              = CALLBACK_MS_Device_SCSICommandReceived(MSInterfaceInfo) ?\r
+                                                                             SCSI_Command_Pass : SCSI_Command_Fail;\r
+                       MSInterfaceInfo->CommandStatus.Signature           = MS_CSW_SIGNATURE;\r
                        MSInterfaceInfo->CommandStatus.Tag                 = MSInterfaceInfo->CommandBlock.Tag;\r
                        MSInterfaceInfo->CommandStatus.DataTransferResidue = MSInterfaceInfo->CommandBlock.DataTransferLength;\r
 \r
-                       if ((MSInterfaceInfo->CommandStatus.Status == Command_Fail) && (MSInterfaceInfo->CommandStatus.DataTransferResidue))\r
+                       if ((MSInterfaceInfo->CommandStatus.Status == SCSI_Command_Fail) && (MSInterfaceInfo->CommandStatus.DataTransferResidue))\r
                          Endpoint_StallTransaction();\r
                        \r
-                       USB_MS_ReturnCommandStatus(MSInterfaceInfo);\r
+                       MS_Device_ReturnCommandStatus(MSInterfaceInfo);\r
                        \r
                        if (MSInterfaceInfo->IsMassStoreReset)\r
                        {\r
@@ -132,18 +135,18 @@ void USB_MS_USBTask(USB_ClassInfo_MS_t* MSInterfaceInfo)
        }\r
 }\r
 \r
-static bool USB_MS_ReadInCommandBlock(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
+static bool MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
 {\r
        Endpoint_SelectEndpoint(MSInterfaceInfo->DataOUTEndpointNumber);\r
 \r
        CallbackMSInterfaceInfo = MSInterfaceInfo;\r
        Endpoint_Read_Stream_LE(&MSInterfaceInfo->CommandBlock,\r
-                               (sizeof(CommandBlockWrapper_t) - MAX_SCSI_COMMAND_LENGTH),\r
-                               StreamCallback_AbortOnMassStoreReset);\r
+                               (sizeof(CommandBlockWrapper_t) - 16),\r
+                               StreamCallback_MS_Device_AbortOnMassStoreReset);\r
 \r
-       if ((MSInterfaceInfo->CommandBlock.Signature         != CBW_SIGNATURE)              ||\r
+       if ((MSInterfaceInfo->CommandBlock.Signature         != MS_CBW_SIGNATURE)           ||\r
            (MSInterfaceInfo->CommandBlock.LUN               >= MSInterfaceInfo->TotalLUNs) ||\r
-               (MSInterfaceInfo->CommandBlock.SCSICommandLength >  MAX_SCSI_COMMAND_LENGTH))\r
+               (MSInterfaceInfo->CommandBlock.SCSICommandLength >  16))\r
        {\r
                Endpoint_StallTransaction();\r
                Endpoint_SelectEndpoint(MSInterfaceInfo->DataINEndpointNumber);\r
@@ -155,7 +158,7 @@ static bool USB_MS_ReadInCommandBlock(USB_ClassInfo_MS_t* MSInterfaceInfo)
        CallbackMSInterfaceInfo = MSInterfaceInfo;\r
        Endpoint_Read_Stream_LE(&MSInterfaceInfo->CommandBlock.SCSICommandData,\r
                                MSInterfaceInfo->CommandBlock.SCSICommandLength,\r
-                               StreamCallback_AbortOnMassStoreReset);\r
+                               StreamCallback_MS_Device_AbortOnMassStoreReset);\r
                                                        \r
        Endpoint_ClearOUT();\r
          \r
@@ -165,7 +168,7 @@ static bool USB_MS_ReadInCommandBlock(USB_ClassInfo_MS_t* MSInterfaceInfo)
        return true;\r
 }\r
 \r
-static void USB_MS_ReturnCommandStatus(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
+static void MS_Device_ReturnCommandStatus(USB_ClassInfo_MS_t* MSInterfaceInfo)\r
 {\r
        Endpoint_SelectEndpoint(MSInterfaceInfo->DataOUTEndpointNumber);\r
 \r
@@ -189,7 +192,7 @@ static void USB_MS_ReturnCommandStatus(USB_ClassInfo_MS_t* MSInterfaceInfo)
        \r
        CallbackMSInterfaceInfo = MSInterfaceInfo;\r
        Endpoint_Write_Stream_LE(&MSInterfaceInfo->CommandStatus, sizeof(CommandStatusWrapper_t),\r
-                                StreamCallback_AbortOnMassStoreReset);\r
+                                StreamCallback_MS_Device_AbortOnMassStoreReset);\r
        \r
        Endpoint_ClearIN();\r
 \r
@@ -197,12 +200,14 @@ static void USB_MS_ReturnCommandStatus(USB_ClassInfo_MS_t* MSInterfaceInfo)
          return;\r
 }\r
 \r
-static uint8_t StreamCallback_AbortOnMassStoreReset(void)\r
+static uint8_t StreamCallback_MS_Device_AbortOnMassStoreReset(void)\r
 {\r
-       USB_MS_USBTask(CallbackMSInterfaceInfo);\r
+       MS_Device_USBTask(CallbackMSInterfaceInfo);\r
 \r
        if (CallbackMSInterfaceInfo->IsMassStoreReset)\r
          return STREAMCALLBACK_Abort;\r
        else\r
          return STREAMCALLBACK_Continue;\r
 }\r
+\r
+#endif\r