* DiscImageChef.Decoders/SCSI/Modes.cs:

* DiscImageChef.Decoders/SCSI/ModesEncoders.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Added encoders for Mode 6 and 10, Mode pages 0x01 and 0x01
	  for MultiMedia Devices.

	* commandline:

	* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
	  Added MODE SELECT (6) and MODE SELECT (10) commands.

	* DiscImageChef.Filesystems/FFS.cs:
	  Corrected array initialization.

	* DiscImageChef/Commands/Decode.cs:
	* DiscImageChef/Commands/Verify.cs:
	* DiscImageChef/Commands/Analyze.cs:
	* DiscImageChef/Commands/Entropy.cs:
	* DiscImageChef/Commands/Checksum.cs:
	* DiscImageChef/Commands/PrintHex.cs:
	* DiscImageChef/Commands/CreateSidecar.cs:
	  Check if image file exists before proceeding.

	* DiscImageChef/Commands/MediaInfo.cs:
	* DiscImageChef/Commands/MediaScan.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	* DiscImageChef/Commands/DeviceReport.cs:
	  Check if device exists before proceeding.

	* DiscImageChef/Commands/DumpMedia.cs:
	  Check if device exists before proceeding.
	Removed unused code.
	Added error handling procedures for non CDs.

	* DiscImageChef/Options.cs:
	  Remove unused options.
	Added options to control dump-media error handling.
This commit is contained in:
2016-02-04 16:51:03 +00:00
parent d777061105
commit bd80a6246a
23 changed files with 744 additions and 17 deletions

View File

@@ -263,7 +263,6 @@ namespace DiscImageChef
public string InputFile { get; set; }
}
// TODO: Add more options
public class DumpMediaSubOptions : CommonSubOptions
{
[Option('i', "device", Required = true, HelpText = "Device path.")]
@@ -277,16 +276,21 @@ namespace DiscImageChef
public bool Raw { get; set; }
[Option('s', "stop-on-error", DefaultValue = false,
HelpText = "Print sectors with tags included.")]
HelpText = "Stop media dump on first error.")]
public bool StopOnError { get; set; }
[Option('f', "force", DefaultValue = false,
HelpText = "Continue dump whatever happens.")]
public bool Force { get; set; }
[Option("reset", DefaultValue = (ushort)0,
HelpText = "Reset the device after these many errors. 0 to disable.")]
public ushort Reset { get; set; }
[Option('p', "retry-passes", DefaultValue = (ushort)5,
HelpText = "How many retry passes to do.")]
public ushort RetryPasses { get; set; }
[Option("persistent", DefaultValue = false,
HelpText = "Try to recover partial or incorrect data.")]
public bool Persistent { get; set; }
}
public class DeviceReportSubOptions : CommonSubOptions