Update UC3 platform driver support to use the bitmasks defined in the header files...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Common / MassStorage.h
index d641c33..49246ba 100644 (file)
                /** SCSI Sense Code to indicate an error whilst accessing the medium. */
                #define SCSI_SENSE_KEY_MEDIUM_ERROR                    0x03
 
-               /** SCSI Sense Code to indicate a hardware has occurred. */
+               /** SCSI Sense Code to indicate a hardware error has occurred. */
                #define SCSI_SENSE_KEY_HARDWARE_ERROR                  0x04
 
                /** SCSI Sense Code to indicate that an illegal request has been issued. */
        /* Type Defines: */
                /** \brief Mass Storage Class Command Block Wrapper.
                 *
-                *  Type define for a Command Block Wrapper, used in the Mass Storage Bulk-Only Transport protocol. */
+                *  Type define for a Command Block Wrapper, used in the Mass Storage Bulk-Only Transport protocol.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
+                */
                typedef struct
                {
                        uint32_t Signature; /**< Command block signature, must be \ref MS_CBW_SIGNATURE to indicate a valid Command Block. */
                /** \brief Mass Storage Class Command Status Wrapper.
                 *
                 *  Type define for a Command Status Wrapper, used in the Mass Storage Bulk-Only Transport protocol.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                 */
                typedef struct
                {
-                       uint8_t       ResponseCode;
-
-                       uint8_t       SegmentNumber;
-
-                       unsigned char SenseKey            : 4;
-                       unsigned char Reserved            : 1;
-                       unsigned char ILI                 : 1;
-                       unsigned char EOM                 : 1;
-                       unsigned char FileMark            : 1;
-
-                       uint8_t       Information[4];
-                       uint8_t       AdditionalLength;
-                       uint8_t       CmdSpecificInformation[4];
-                       uint8_t       AdditionalSenseCode;
-                       uint8_t       AdditionalSenseQualifier;
-                       uint8_t       FieldReplaceableUnitCode;
-                       uint8_t       SenseKeySpecific[3];
+                       uint8_t  ResponseCode;
+
+                       uint8_t  SegmentNumber;
+
+                       unsigned SenseKey            : 4;
+                       unsigned Reserved            : 1;
+                       unsigned ILI                 : 1;
+                       unsigned EOM                 : 1;
+                       unsigned FileMark            : 1;
+
+                       uint8_t  Information[4];
+                       uint8_t  AdditionalLength;
+                       uint8_t  CmdSpecificInformation[4];
+                       uint8_t  AdditionalSenseCode;
+                       uint8_t  AdditionalSenseQualifier;
+                       uint8_t  FieldReplaceableUnitCode;
+                       uint8_t  SenseKeySpecific[3];
                } ATTR_PACKED SCSI_Request_Sense_Response_t;
 
                /** \brief Mass Storage Class SCSI Inquiry Structure.
                 */
                typedef struct
                {
-                       unsigned char DeviceType          : 5;
-                       unsigned char PeripheralQualifier : 3;
-
-                       unsigned char Reserved            : 7;
-                       unsigned char Removable           : 1;
-
-                       uint8_t       Version;
-
-                       unsigned char ResponseDataFormat  : 4;
-                       unsigned char Reserved2           : 1;
-                       unsigned char NormACA             : 1;
-                       unsigned char TrmTsk              : 1;
-                       unsigned char AERC                : 1;
-
-                       uint8_t       AdditionalLength;
-                       uint8_t       Reserved3[2];
-
-                       unsigned char SoftReset           : 1;
-                       unsigned char CmdQue              : 1;
-                       unsigned char Reserved4           : 1;
-                       unsigned char Linked              : 1;
-                       unsigned char Sync                : 1;
-                       unsigned char WideBus16Bit        : 1;
-                       unsigned char WideBus32Bit        : 1;
-                       unsigned char RelAddr             : 1;
-
-                       uint8_t       VendorID[8];
-                       uint8_t       ProductID[16];
-                       uint8_t       RevisionID[4];
+                       unsigned DeviceType          : 5;
+                       unsigned PeripheralQualifier : 3;
+
+                       unsigned Reserved            : 7;
+                       unsigned Removable           : 1;
+
+                       uint8_t  Version;
+
+                       unsigned ResponseDataFormat  : 4;
+                       unsigned Reserved2           : 1;
+                       unsigned NormACA             : 1;
+                       unsigned TrmTsk              : 1;
+                       unsigned AERC                : 1;
+
+                       uint8_t  AdditionalLength;
+                       uint8_t  Reserved3[2];
+
+                       unsigned SoftReset           : 1;
+                       unsigned CmdQue              : 1;
+                       unsigned Reserved4           : 1;
+                       unsigned Linked              : 1;
+                       unsigned Sync                : 1;
+                       unsigned WideBus16Bit        : 1;
+                       unsigned WideBus32Bit        : 1;
+                       unsigned RelAddr             : 1;
+
+                       uint8_t  VendorID[8];
+                       uint8_t  ProductID[16];
+                       uint8_t  RevisionID[4];
                } ATTR_PACKED SCSI_Inquiry_Response_t;
 
        /* Disable C linkage for C++ Compilers: */