+ const char *const sense_keys[16] = {
+ "No Sense", "Recovered Error", "Not Ready", "Medium Error",
+ "Hardware Error", "Illegal Request", "Unit Attention", "Data Protect",
+ "Blank Check", "Vendor Specific", "Copy Aborted", "Aborted Command",
+ "-obs-", "Volume Overflow", "Miscompare", "-rsvd-"
+ };
+ Log_Debug("MSC SCSI", "Dumping Sense Data:");
+ Log_Debug("MSC SCSI", ".ResponseCode = %02x", ret.ResponseCode);
+ Log_Debug("MSC SCSI", ".Flags = %02x (%s%s%s%s)", ret.Flags,
+ (ret.Flags & (1<<7) ? "FILEMARK,":""),
+ (ret.Flags & (1<<6) ? "EOM,":""),
+ (ret.Flags & (1<<6) ? "ILI,":""),
+ sense_keys[ret.Flags & 15]
+ );
+ Log_Debug("MSC SCSI", ".Information = %08x", BigEndian32(ret.Information));
+ Log_Debug("MSC SCSI", ".AdditionalLen = %02x", ret.AdditionalSenseLength);
+ Log_Debug("MSC SCSI", ".CommandSpecInfomation = %08x", BigEndian32(ret.CommandSpecInfomation));
+ Log_Debug("MSC SCSI", ".ASC = %02x", ret.AdditionalSenseCode);
+ Log_Debug("MSC SCSI", ".ASCQ = %02x", ret.AdditionalSenseCodeQual);