Fix to previous patch (make CDCHost demo deallocate pipes when an invalid CDC interfa...
[pub/USBasp.git] / Demos / Device / MassStorage / SCSI.h
index a0be390..d7693ca 100644 (file)
 \r
                /** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be written to the storage medium. */\r
                #define DATA_WRITE     false\r
 \r
                /** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be written to the storage medium. */\r
                #define DATA_WRITE     false\r
+\r
+               /** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a Block Media device. */\r
+               #define DEVICE_TYPE_BLOCK 0x00\r
                \r
                \r
+               /** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a CD-ROM device. */\r
+               #define DEVICE_TYPE_CDROM 0x05\r
+\r
        /* Type Defines: */\r
                /** Type define for a SCSI response structure to a SCSI INQUIRY command. For details of the\r
                 *  structure contents, refer to the SCSI specifications.\r
                 */\r
                typedef struct\r
                {\r
        /* Type Defines: */\r
                /** Type define for a SCSI response structure to a SCSI INQUIRY command. For details of the\r
                 *  structure contents, refer to the SCSI specifications.\r
                 */\r
                typedef struct\r
                {\r
-                       unsigned int DeviceType          : 5;\r
-                       unsigned int PeripheralQualifier : 3;\r
+                       unsigned char DeviceType          : 5;\r
+                       unsigned char PeripheralQualifier : 3;\r
                        \r
                        \r
-                       unsigned int _RESERVED1          : 7;\r
-                       unsigned int Removable           : 1;\r
+                       unsigned char _RESERVED1          : 7;\r
+                       unsigned char Removable           : 1;\r
                        \r
                        uint8_t      Version;\r
                        \r
                        \r
                        uint8_t      Version;\r
                        \r
-                       unsigned int ResponseDataFormat  : 4;\r
-                       unsigned int _RESERVED2          : 1;\r
-                       unsigned int NormACA             : 1;\r
-                       unsigned int TrmTsk              : 1;\r
-                       unsigned int AERC                : 1;\r
+                       unsigned char ResponseDataFormat  : 4;\r
+                       unsigned char _RESERVED2          : 1;\r
+                       unsigned char NormACA             : 1;\r
+                       unsigned char TrmTsk              : 1;\r
+                       unsigned char AERC                : 1;\r
 \r
                        uint8_t      AdditionalLength;\r
                        uint8_t      _RESERVED3[2];\r
 \r
 \r
                        uint8_t      AdditionalLength;\r
                        uint8_t      _RESERVED3[2];\r
 \r
-                       unsigned int SoftReset           : 1;\r
-                       unsigned int CmdQue              : 1;\r
-                       unsigned int _RESERVED4          : 1;\r
-                       unsigned int Linked              : 1;\r
-                       unsigned int Sync                : 1;\r
-                       unsigned int WideBus16Bit        : 1;\r
-                       unsigned int WideBus32Bit        : 1;\r
-                       unsigned int RelAddr             : 1;\r
+                       unsigned char SoftReset           : 1;\r
+                       unsigned char CmdQue              : 1;\r
+                       unsigned char _RESERVED4          : 1;\r
+                       unsigned char Linked              : 1;\r
+                       unsigned char Sync                : 1;\r
+                       unsigned char WideBus16Bit        : 1;\r
+                       unsigned char WideBus32Bit        : 1;\r
+                       unsigned char RelAddr             : 1;\r
                        \r
                        uint8_t      VendorID[8];\r
                        uint8_t      ProductID[16];\r
                        \r
                        uint8_t      VendorID[8];\r
                        uint8_t      ProductID[16];\r
                 */\r
                typedef struct\r
                {\r
                 */\r
                typedef struct\r
                {\r
-                       uint8_t      ResponseCode;\r
+                       uint8_t       ResponseCode;\r
                        \r
                        \r
-                       uint8_t      SegmentNumber;\r
+                       uint8_t       SegmentNumber;\r
                        \r
                        \r
-                       unsigned int SenseKey            : 4;\r
-                       unsigned int _RESERVED1          : 1;\r
-                       unsigned int ILI                 : 1;\r
-                       unsigned int EOM                 : 1;\r
-                       unsigned int FileMark            : 1;\r
+                       unsigned char SenseKey            : 4;\r
+                       unsigned char _RESERVED1          : 1;\r
+                       unsigned char ILI                 : 1;\r
+                       unsigned char EOM                 : 1;\r
+                       unsigned char FileMark            : 1;\r
                        \r
                        uint8_t      Information[4];\r
                        uint8_t      AdditionalLength;\r
                        \r
                        uint8_t      Information[4];\r
                        uint8_t      AdditionalLength;\r