Modules/USB MSC - Error handling and fix for Tegra2 Qemu
[tpg/acess2.git] / KernelLand / Modules / USB / MSC / scsi.h
old mode 100644 (file)
new mode 100755 (executable)
index 4795989..7bd50a5
@@ -9,6 +9,44 @@
 #define _MSC__SCSI_H_
 
 // NOTE: All commands are big-endian
+enum eSCSI_Ops
+{
+       READ_CAPACITY_10 = 0x25,
+       SERVICE_ACTION_IN_16 = 0x9E
+};
+
+struct sSCSI_Cmd_RequestSense
+{
+       Uint8   Op;     // 0x03
+       Uint8   Desc;
+       Uint16  _resvd;
+       Uint8   AllocationLength;
+       Uint8   Control;
+} PACKED;
+
+struct sSCSI_SenseData
+{
+       Uint8   ResponseCode;
+       Uint8   _obselete;
+       Uint8   Flags;
+       Uint32  Information;
+       Uint8   AdditionalSenseLength;
+       Uint32  CommandSpecInfomation;
+       Uint8   AdditionalSenseCode;
+       Uint8   AdditionalSenseCodeQual;
+       Uint8   FRUC;
+       //Uint
+} PACKED;
+
+struct sSCSI_Cmd_ReadCapacity10
+{
+       Uint8   Op;     // 0x25
+       Uint8   _resvd1;
+       Uint32  LBA;
+       Uint16  _resvd2;
+       Uint8   Flags;
+       Uint8   Control;
+} PACKED;
 
 struct sSCSI_Cmd_ReadCapacity16
 {
@@ -20,14 +58,39 @@ struct sSCSI_Cmd_ReadCapacity16
        Uint8   Control;
 } PACKED;
 
+struct sSCSI_Ret_ReadCapacity10
+{
+       Uint32  LastBlock;
+       Uint32  BlockSize;
+} PACKED;
+
 struct sSCSI_Ret_ReadCapacity16
 {
-       Uint64  BlockCount;
+       Uint64  LastBlock;
        Uint32  BlockSize;
        Uint8   Flags;
        Uint8   _resvd[32-13];
 } PACKED;
 
+struct sSCSI_Cmd_Read6
+{
+       Uint8   Op;     // 0x08
+       Uint8   LBATop;
+       Uint16  LBALower;
+       Uint8   Length;
+       Uint8   Control;
+} PACKED;
+
+struct sSCSI_Cmd_Read10
+{
+       Uint8   Op;     // 0x28
+       Uint8   Flags;
+       Uint32  LBA;
+       Uint8   GroupNumber;
+       Uint16  Length;
+       Uint8   Control;
+} PACKED;
+
 struct sSCSI_Cmd_Read16
 {
        Uint8   Op;     // 0x88

UCC git Repository :: git.ucc.asn.au