* DiscImageChef.Decoders/ATA/Errors.cs:
* DiscImageChef/Commands/DeviceInfo.cs:
* DiscImageChef.Devices/Linux/Command.cs:
* DiscImageChef.Devices/Device/Commands.cs:
* DiscImageChef.Devices/Device/AtaCommands.cs:
* DiscImageChef.Devices/Device/Constructor.cs:
* DiscImageChef.Devices/Device/AtapiCommands.cs:
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
Moved ATA register definition to a more common place.
* DiscImageChef.Decoders/SCSI/Sense.cs:
Added information from SAT-4.
Check for vendor pages not following page format (even if
they must).
* DiscImageChef.Devices/Device/Constructor.cs:
Some devices (at least smsc usb-floppy) crash and reset when
receiving ata over the ATA PASS-THROUGH scsi command. This
will check for SCSI compliance first giving devices time to
reset.
* DiscImageChef.Devices/Device/ScsiCommands.cs:
Some devices (smsc usb floppies) return the real command
result size disregarding allocation length and generating a
buffer overflow.
* DiscImageChef.Devices/Enums.cs:
Added some vendor commands for Plextor and HL-DT-ST devices.
* DiscImageChef/Commands/DeviceInfo.cs:
Mode sense should be written even if it can't be decoded.
Polished some bugs and typos and format
* DiscImageChef.Devices/Device/ScsiCommands.cs:
Corrected math typo.
* DiscImageChef/Commands/DeviceInfo.cs:
Added MODE SENSE to device information.
* DiscImageChef.Decoders/ATA/Identify.cs:
* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
Rename fields, methods and structs to more adequate names.
* DiscImageChef/Commands/Decode.cs:
* DiscImageChef/Commands/DeviceInfo.cs:
Rename ATA/ATAPI decoders fields, methods and structs to
more adequate names.
Added methods without formatting.
* DiscImageChef.Decoders/ATA.cs:
Typo.
* DiscImageChef.Decoders/SCSI.cs:
Don't try to decode Version Descriptors if there are none.
Also there are devices on the wild with less than 8 VDs.
* DiscImageChef/Commands/DeviceInfo.cs:
Use a format-less output.
* DiscImageChef/Options.cs:
* DiscImageChef/DiscImageChef.csproj:
* DiscImageChef/Commands/DeviceInfo.cs:
Added "device-info" command.
* DiscImageChef.Decoders/SCSI.cs:
Correct size miscalculation.
Do not print "Device claims no standard", generates too much
noise.
* DiscImageChef.Devices/Device/Constructor.cs:
Add OS error detection and handling.
On Linux move to opening O_RDONLY and O_NONBLOCK to allow
opening read-only media and removable drives without media.
* DiscImageChef.Devices/Device/Variables.cs:
* DiscImageChef.Devices/Device/ScsiCommands.cs:
Add OS error detection and handling.
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
Downgraded .NET version.