mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
* DiscImageChef.Decoders/SCSI/MMC/Features.cs:
Correct math priority * DiscImageChef.Devices/Device/ScsiCommands.cs: Correct command size typo * DiscImageChef/Commands/DeviceInfo.cs: Add MMC GET CONFIGURATION
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* Commands/DeviceInfo.cs:
|
||||
Add MMC GET CONFIGURATION
|
||||
|
||||
2015-10-31 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* Commands/DeviceInfo.cs:
|
||||
|
||||
@@ -446,6 +446,213 @@ namespace DiscImageChef.Commands
|
||||
}
|
||||
}
|
||||
|
||||
if (devType == DiscImageChef.Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
byte[] confBuf;
|
||||
sense = dev.GetConfiguration(out confBuf, out senseBuf, dev.Timeout, out duration);
|
||||
|
||||
if (!sense)
|
||||
{
|
||||
Decoders.SCSI.MMC.Features.SeparatedFeatures ftr = Decoders.SCSI.MMC.Features.Separate(confBuf);
|
||||
|
||||
DicConsole.DebugWriteLine("Device-Info command", "GET CONFIGURATION length is {0} bytes", ftr.DataLength);
|
||||
DicConsole.DebugWriteLine("Device-Info command", "GET CONFIGURATION current profile is 0x{0:X4} bytes", ftr.CurrentProfile);
|
||||
if (ftr.Descriptors != null)
|
||||
{
|
||||
DicConsole.WriteLine("SCSI MMC GET CONFIGURATION Features:");
|
||||
foreach (Decoders.SCSI.MMC.Features.FeatureDescriptor desc in ftr.Descriptors)
|
||||
{
|
||||
DicConsole.DebugWriteLine("Device-Info command", "Feature 0x{0:X4}", desc.Code);
|
||||
|
||||
switch (desc.Code)
|
||||
{
|
||||
case 0x0000:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0000(desc.Data));
|
||||
break;
|
||||
case 0x0001:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0001(desc.Data));
|
||||
break;
|
||||
case 0x0002:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0002(desc.Data));
|
||||
break;
|
||||
case 0x0003:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0003(desc.Data));
|
||||
break;
|
||||
case 0x0004:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0004(desc.Data));
|
||||
break;
|
||||
case 0x0010:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0010(desc.Data));
|
||||
break;
|
||||
case 0x001D:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_001D(desc.Data));
|
||||
break;
|
||||
case 0x001E:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_001E(desc.Data));
|
||||
break;
|
||||
case 0x001F:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_001F(desc.Data));
|
||||
break;
|
||||
case 0x0020:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0020(desc.Data));
|
||||
break;
|
||||
case 0x0021:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0021(desc.Data));
|
||||
break;
|
||||
case 0x0022:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0022(desc.Data));
|
||||
break;
|
||||
case 0x0023:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0023(desc.Data));
|
||||
break;
|
||||
case 0x0024:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0024(desc.Data));
|
||||
break;
|
||||
case 0x0025:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0025(desc.Data));
|
||||
break;
|
||||
case 0x0026:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0026(desc.Data));
|
||||
break;
|
||||
case 0x0027:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0027(desc.Data));
|
||||
break;
|
||||
case 0x0028:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0028(desc.Data));
|
||||
break;
|
||||
case 0x0029:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0029(desc.Data));
|
||||
break;
|
||||
case 0x002A:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_002A(desc.Data));
|
||||
break;
|
||||
case 0x002B:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_002B(desc.Data));
|
||||
break;
|
||||
case 0x002C:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_002C(desc.Data));
|
||||
break;
|
||||
case 0x002D:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_002D(desc.Data));
|
||||
break;
|
||||
case 0x002E:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_002E(desc.Data));
|
||||
break;
|
||||
case 0x002F:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_002F(desc.Data));
|
||||
break;
|
||||
case 0x0030:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0030(desc.Data));
|
||||
break;
|
||||
case 0x0031:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0031(desc.Data));
|
||||
break;
|
||||
case 0x0032:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0032(desc.Data));
|
||||
break;
|
||||
case 0x0033:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0033(desc.Data));
|
||||
break;
|
||||
case 0x0035:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0035(desc.Data));
|
||||
break;
|
||||
case 0x0037:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0037(desc.Data));
|
||||
break;
|
||||
case 0x0038:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0038(desc.Data));
|
||||
break;
|
||||
case 0x003A:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_003A(desc.Data));
|
||||
break;
|
||||
case 0x003B:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_003B(desc.Data));
|
||||
break;
|
||||
case 0x0040:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0040(desc.Data));
|
||||
break;
|
||||
case 0x0041:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0041(desc.Data));
|
||||
break;
|
||||
case 0x0042:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0042(desc.Data));
|
||||
break;
|
||||
case 0x0050:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0050(desc.Data));
|
||||
break;
|
||||
case 0x0051:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0051(desc.Data));
|
||||
break;
|
||||
case 0x0080:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0080(desc.Data));
|
||||
break;
|
||||
case 0x0100:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0100(desc.Data));
|
||||
break;
|
||||
case 0x0101:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0101(desc.Data));
|
||||
break;
|
||||
case 0x0102:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0102(desc.Data));
|
||||
break;
|
||||
case 0x0103:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0103(desc.Data));
|
||||
break;
|
||||
case 0x0104:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0104(desc.Data));
|
||||
break;
|
||||
case 0x0105:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0105(desc.Data));
|
||||
break;
|
||||
case 0x0106:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0106(desc.Data));
|
||||
break;
|
||||
case 0x0107:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0107(desc.Data));
|
||||
break;
|
||||
case 0x0108:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0108(desc.Data));
|
||||
break;
|
||||
case 0x0109:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0109(desc.Data));
|
||||
break;
|
||||
case 0x010A:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_010A(desc.Data));
|
||||
break;
|
||||
case 0x010B:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_010B(desc.Data));
|
||||
break;
|
||||
case 0x010C:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_010C(desc.Data));
|
||||
break;
|
||||
case 0x010D:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_010D(desc.Data));
|
||||
break;
|
||||
case 0x010E:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_010E(desc.Data));
|
||||
break;
|
||||
case 0x0110:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0110(desc.Data));
|
||||
break;
|
||||
case 0x0113:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0113(desc.Data));
|
||||
break;
|
||||
case 0x0142:
|
||||
DicConsole.WriteLine(Decoders.SCSI.MMC.Features.Prettify_0142(desc.Data));
|
||||
break;
|
||||
default:
|
||||
DicConsole.WriteLine("Found unknown feature code {0:X4}h", desc.Code);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
DicConsole.DebugWriteLine("Device-Info command", "GET CONFIGURATION returned no feature descriptors");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user