Update UC3 platform driver support to use the bitmasks defined in the header files...
[pub/USBasp.git] / Demos / Host / LowLevel / MassStorageHost / Lib / MassStoreCommands.c
index 129c50a..48d6035 100644 (file)
@@ -1,21 +1,21 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
-              
+     Copyright (C) Dean Camera, 2011.
+
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
@@ -46,7 +46,7 @@
  *        larger value in the project makefile and passing it to the compiler
  *        via the -D switch.
  */
+
 #define  INCLUDE_FROM_MASSSTORE_COMMANDS_C
 #include "MassStoreCommands.h"
 
@@ -63,42 +63,46 @@ static uint32_t MassStore_Tag = 1;
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum
  */
-static uint8_t MassStore_SendCommand(CommandBlockWrapper_t* SCSICommandBlock, void* BufferPtr)
+static uint8_t MassStore_SendCommand(MS_CommandBlockWrapper_t* const SCSICommandBlock,
+                                     void* BufferPtr)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
-       /* Each transmission should have a unique tag value, increment before use */
-       SCSICommandBlock->Tag = ++MassStore_Tag;
-
        /* Wrap Tag value when invalid - MS class defines tag values of 0 and 0xFFFFFFFF to be invalid */
-       if (MassStore_Tag == 0xFFFFFFFF)
+       if (++MassStore_Tag == 0xFFFFFFFF)
          MassStore_Tag = 1;
 
+       /* Each transmission should have a unique tag value, increment before use */
+       SCSICommandBlock->Tag = MassStore_Tag;
+
        /* Select the OUT data pipe for CBW transmission */
        Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
        Pipe_Unfreeze();
 
        /* Write the CBW command to the OUT pipe */
-       if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(CommandBlockWrapper_t))) != PIPE_RWSTREAM_NoError)
-         return ErrorCode;
+       if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t), NULL)) !=
+                                             PIPE_RWSTREAM_NoError)
+       {
+               return ErrorCode;
+       }
 
        /* Send the data in the OUT pipe to the attached device */
        Pipe_ClearOUT();
-       
+
        /* Wait until command has been sent */
        Pipe_WaitUntilReady();
 
        /* Freeze pipe after use */
        Pipe_Freeze();
-       
-       /* Send data if any */
+
+       /* Send data if any has been given */
        if ((BufferPtr != NULL) &&
            ((ErrorCode = MassStore_SendReceiveData(SCSICommandBlock, BufferPtr)) != PIPE_READYWAIT_NoError))
        {
                Pipe_Freeze();
                return ErrorCode;
        }
-               
+
        return ErrorCode;
 }
 
@@ -109,7 +113,8 @@ static uint8_t MassStore_SendCommand(CommandBlockWrapper_t* SCSICommandBlock, vo
  */
 static uint8_t MassStore_WaitForDataReceived(void)
 {
-       uint16_t TimeoutMSRem = COMMAND_DATA_TIMEOUT_MS;
+       uint16_t TimeoutMSRem        = COMMAND_DATA_TIMEOUT_MS;
+       uint16_t PreviousFrameNumber = USB_Host_GetFrameNumber();
 
        /* Select the IN data pipe for data reception */
        Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
@@ -118,18 +123,20 @@ static uint8_t MassStore_WaitForDataReceived(void)
        /* Wait until data received in the IN pipe */
        while (!(Pipe_IsINReceived()))
        {
+               uint16_t CurrentFrameNumber = USB_Host_GetFrameNumber();
+
                /* Check to see if a new frame has been issued (1ms elapsed) */
-               if (USB_INT_HasOccurred(USB_INT_HSOFI))
+               if (CurrentFrameNumber != PreviousFrameNumber)
                {
-                       /* Clear the flag and decrement the timeout period counter */
-                       USB_INT_Clear(USB_INT_HSOFI);
+                       /* Save the new frame number and decrement the timeout period */
+                       PreviousFrameNumber = CurrentFrameNumber;
                        TimeoutMSRem--;
 
                        /* Check to see if the timeout period for the command has elapsed */
                        if (!(TimeoutMSRem))
                          return PIPE_RWSTREAM_Timeout;
                }
-       
+
                Pipe_Freeze();
                Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
                Pipe_Unfreeze();
@@ -142,7 +149,7 @@ static uint8_t MassStore_WaitForDataReceived(void)
 
                        return PIPE_RWSTREAM_PipeStalled;
                }
-               
+
                Pipe_Freeze();
                Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
                Pipe_Unfreeze();
@@ -155,15 +162,15 @@ static uint8_t MassStore_WaitForDataReceived(void)
 
                        return PIPE_RWSTREAM_PipeStalled;
                }
-                 
+
                /* Check to see if the device was disconnected, if so exit function */
                if (USB_HostState == HOST_STATE_Unattached)
                  return PIPE_RWSTREAM_DeviceDisconnected;
        };
-       
+
        Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
        Pipe_Freeze();
-               
+
        Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);
        Pipe_Freeze();
 
@@ -178,24 +185,25 @@ static uint8_t MassStore_WaitForDataReceived(void)
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum
  */
-static uint8_t MassStore_SendReceiveData(CommandBlockWrapper_t* SCSICommandBlock, void* BufferPtr)
+static uint8_t MassStore_SendReceiveData(MS_CommandBlockWrapper_t* const SCSICommandBlock,
+                                         void* BufferPtr)
 {
        uint8_t  ErrorCode = PIPE_RWSTREAM_NoError;
        uint16_t BytesRem  = SCSICommandBlock->DataTransferLength;
 
        /* Check the direction of the SCSI command data stage */
-       if (SCSICommandBlock->Flags & COMMAND_DIRECTION_DATA_IN)
+       if (SCSICommandBlock->Flags & MS_COMMAND_DIR_DATA_IN)
        {
                /* Wait until the device has replied with some data */
                if ((ErrorCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)
                  return ErrorCode;
-       
+
                /* Select the IN data pipe for data reception */
                Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
                Pipe_Unfreeze();
-               
+
                /* Read in the block data from the pipe */
-               if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError)
+               if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem, NULL)) != PIPE_RWSTREAM_NoError)
                  return ErrorCode;
 
                /* Acknowledge the packet */
@@ -208,19 +216,19 @@ static uint8_t MassStore_SendReceiveData(CommandBlockWrapper_t* SCSICommandBlock
                Pipe_Unfreeze();
 
                /* Write the block data to the pipe */
-               if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError)
+               if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem, NULL)) != PIPE_RWSTREAM_NoError)
                  return ErrorCode;
 
                /* Acknowledge the packet */
                Pipe_ClearOUT();
-               
+
                while (!(Pipe_IsOUTReady()))
                {
                        if (USB_HostState == HOST_STATE_Unattached)
                          return PIPE_RWSTREAM_DeviceDisconnected;
                }
        }
-       
+
        /* Freeze used pipe after use */
        Pipe_Freeze();
 
@@ -233,7 +241,7 @@ static uint8_t MassStore_SendReceiveData(CommandBlockWrapper_t* SCSICommandBlock
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* SCSICommandStatus)
+static uint8_t MassStore_GetReturnedStatus(MS_CommandStatusWrapper_t* const SCSICommandStatus)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
@@ -244,21 +252,24 @@ static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* SCSICommandSt
        /* Select the IN data pipe for data reception */
        Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);
        Pipe_Unfreeze();
-       
+
        /* Load in the CSW from the attached device */
-       if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError)
-         return ErrorCode;
-         
+       if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t), NULL)) !=
+                                            PIPE_RWSTREAM_NoError)
+       {
+               return ErrorCode;
+       }
+       
        /* Clear the data ready for next reception */
        Pipe_ClearIN();
-       
+
        /* Freeze the IN pipe after use */
        Pipe_Freeze();
-       
+
        /* Check to see if command failed */
-       if (SCSICommandStatus->Status != Command_Pass)
+       if (SCSICommandStatus->Status != MS_SCSI_COMMAND_Pass)
          ErrorCode = MASS_STORE_SCSI_COMMAND_FAILED;
-       
+
        return ErrorCode;
 }
 
@@ -272,12 +283,12 @@ uint8_t MassStore_MassStorageReset(void)
        USB_ControlRequest = (USB_Request_Header_t)
                {
                        .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
-                       .bRequest      = REQ_MassStorageReset,
+                       .bRequest      = MS_REQ_MassStorageReset,
                        .wValue        = 0,
                        .wIndex        = 0,
                        .wLength       = 0,
                };
-       
+
        /* Select the control pipe for the request transfer */
        Pipe_SelectPipe(PIPE_CONTROLPIPE);
 
@@ -302,12 +313,12 @@ uint8_t MassStore_GetMaxLUN(uint8_t* const MaxLUNIndex)
        USB_ControlRequest = (USB_Request_Header_t)
                {
                        .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
-                       .bRequest      = REQ_GetMaxLUN,
+                       .bRequest      = MS_REQ_GetMaxLUN,
                        .wValue        = 0,
                        .wIndex        = 0,
                        .wLength       = 1,
                };
-               
+
        /* Select the control pipe for the request transfer */
        Pipe_SelectPipe(PIPE_CONTROLPIPE);
 
@@ -315,14 +326,14 @@ uint8_t MassStore_GetMaxLUN(uint8_t* const MaxLUNIndex)
        {
                /* Clear the pipe stall */
                Pipe_ClearStall();
-       
+
                /* Some faulty Mass Storage devices don't implement the GET_MAX_LUN request, so assume a single LUN */
                *MaxLUNIndex = 0;
-               
+
                /* Clear the error, and pretend the request executed correctly if the device STALLed it */
                ErrorCode = HOST_SENDCONTROL_Successful;
        }
-       
+
        return ErrorCode;
 }
 
@@ -334,16 +345,17 @@ uint8_t MassStore_GetMaxLUN(uint8_t* const MaxLUNIndex)
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-uint8_t MassStore_Inquiry(const uint8_t LUNIndex, SCSI_Inquiry_Response_t* const InquiryPtr)
+uint8_t MassStore_Inquiry(const uint8_t LUNIndex,
+                          SCSI_Inquiry_Response_t* const InquiryPtr)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to issue INQUIRY command */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = sizeof(SCSI_Inquiry_Response_t),
-                       .Flags              = COMMAND_DIRECTION_DATA_IN,
+                       .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
                        .SCSICommandData    =
@@ -356,8 +368,8 @@ uint8_t MassStore_Inquiry(const uint8_t LUNIndex, SCSI_Inquiry_Response_t* const
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, InquiryPtr)) != PIPE_RWSTREAM_NoError)
@@ -365,7 +377,7 @@ uint8_t MassStore_Inquiry(const uint8_t LUNIndex, SCSI_Inquiry_Response_t* const
                Pipe_Freeze();
                return ErrorCode;
        }
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -384,16 +396,17 @@ uint8_t MassStore_Inquiry(const uint8_t LUNIndex, SCSI_Inquiry_Response_t* const
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-uint8_t MassStore_RequestSense(const uint8_t LUNIndex, SCSI_Request_Sense_Response_t* const SensePtr)
+uint8_t MassStore_RequestSense(const uint8_t LUNIndex,
+                               SCSI_Request_Sense_Response_t* const SensePtr)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to issue REQUEST SENSE command */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = sizeof(SCSI_Request_Sense_Response_t),
-                       .Flags              = COMMAND_DIRECTION_DATA_IN,
+                       .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
                        .SCSICommandData =
@@ -406,8 +419,8 @@ uint8_t MassStore_RequestSense(const uint8_t LUNIndex, SCSI_Request_Sense_Respon
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, SensePtr)) != PIPE_RWSTREAM_NoError)
@@ -415,7 +428,7 @@ uint8_t MassStore_RequestSense(const uint8_t LUNIndex, SCSI_Request_Sense_Respon
                Pipe_Freeze();
                return ErrorCode;
        }
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -437,17 +450,20 @@ uint8_t MassStore_RequestSense(const uint8_t LUNIndex, SCSI_Request_Sense_Respon
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAddress,
-                                  const uint8_t Blocks, const uint16_t BlockSize, void* BufferPtr)
+uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex,
+                                  const uint32_t BlockAddress,
+                                  const uint8_t Blocks,
+                                  const uint16_t BlockSize,
+                                  void* BufferPtr)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to read in the given blocks from the device */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = ((uint32_t)Blocks * BlockSize),
-                       .Flags              = COMMAND_DIRECTION_DATA_IN,
+                       .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 10,
                        .SCSICommandData    =
@@ -458,14 +474,14 @@ uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAd
                                        (BlockAddress >> 16),
                                        (BlockAddress >> 8),
                                        (BlockAddress & 0xFF),  // LSB of Block Address
-                                       0x00,                   // Unused (reserved)
+                                       0x00,                   // Reserved
                                        0x00,                   // MSB of Total Blocks to Read
                                        Blocks,                 // LSB of Total Blocks to Read
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, BufferPtr)) != PIPE_RWSTREAM_NoError)
@@ -473,7 +489,7 @@ uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAd
                Pipe_Freeze();
                return ErrorCode;
        }
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -495,17 +511,20 @@ uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAd
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAddress,
-                                   const uint8_t Blocks, const uint16_t BlockSize, void* BufferPtr)
+uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex,
+                                   const uint32_t BlockAddress,
+                                   const uint8_t Blocks,
+                                   const uint16_t BlockSize,
+                                   void* BufferPtr)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to write the given blocks to the device */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = ((uint32_t)Blocks * BlockSize),
-                       .Flags              = COMMAND_DIRECTION_DATA_OUT,
+                       .Flags              = MS_COMMAND_DIR_DATA_OUT,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 10,
                        .SCSICommandData    =
@@ -522,8 +541,8 @@ uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockA
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, BufferPtr)) != PIPE_RWSTREAM_NoError)
@@ -531,7 +550,7 @@ uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockA
                Pipe_Freeze();
                return ErrorCode;
        }
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -551,14 +570,14 @@ uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockA
  */
 uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex)
 {
-       uint8_t ErrorCode = PIPE_RWSTREAM_NoError;      
+       uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to issue TEST UNIT READY command */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = 0,
-                       .Flags              = COMMAND_DIRECTION_DATA_IN,
+                       .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
                        .SCSICommandData    =
@@ -571,8 +590,8 @@ uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex)
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, NULL)) != PIPE_RWSTREAM_NoError)
@@ -580,7 +599,7 @@ uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex)
                Pipe_Freeze();
                return ErrorCode;
        }
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -599,16 +618,17 @@ uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex)
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, SCSI_Capacity_t* const CapacityPtr)
+uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex,
+                               SCSI_Capacity_t* const CapacityPtr)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to issue READ CAPACITY command */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = sizeof(SCSI_Capacity_t),
-                       .Flags              = COMMAND_DIRECTION_DATA_IN,
+                       .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 10,
                        .SCSICommandData    =
@@ -625,8 +645,8 @@ uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, SCSI_Capacity_t* const Ca
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, CapacityPtr)) != PIPE_RWSTREAM_NoError)
@@ -634,11 +654,11 @@ uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, SCSI_Capacity_t* const Ca
                Pipe_Freeze();
                return ErrorCode;
        }
-         
+
        /* Endian-correct the read data */
        CapacityPtr->Blocks    = SwapEndian_32(CapacityPtr->Blocks);
        CapacityPtr->BlockSize = SwapEndian_32(CapacityPtr->BlockSize);
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -658,16 +678,17 @@ uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, SCSI_Capacity_t* const Ca
  *
  *  \return A value from the Pipe_Stream_RW_ErrorCodes_t enum, or MASS_STORE_SCSI_COMMAND_FAILED if the SCSI command fails
  */
-uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, const bool PreventRemoval)
+uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex,
+                                            const bool PreventRemoval)
 {
        uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
        /* Create a CBW with a SCSI command to issue PREVENT ALLOW MEDIUM REMOVAL command */
-       CommandBlockWrapper_t SCSICommandBlock = (CommandBlockWrapper_t)
+       MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .Signature          = CBW_SIGNATURE,
+                       .Signature          = MS_CBW_SIGNATURE,
                        .DataTransferLength = 0,
-                       .Flags              = COMMAND_DIRECTION_DATA_OUT,
+                       .Flags              = MS_COMMAND_DIR_DATA_OUT,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
                        .SCSICommandData    =
@@ -680,8 +701,8 @@ uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, const bool P
                                        0x00                    // Unused (control)
                                }
                };
-       
-       CommandStatusWrapper_t SCSICommandStatus;
+
+       MS_CommandStatusWrapper_t SCSICommandStatus;
 
        /* Send the command and any data to the attached device */
        if ((ErrorCode = MassStore_SendCommand(&SCSICommandBlock, NULL)) != PIPE_RWSTREAM_NoError)
@@ -689,7 +710,7 @@ uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, const bool P
                Pipe_Freeze();
                return ErrorCode;
        }
-       
+
        /* Retrieve status information from the attached device */
        if ((ErrorCode = MassStore_GetReturnedStatus(&SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
        {
@@ -699,3 +720,4 @@ uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, const bool P
 
        return ErrorCode;
 }
+