mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
* DiscImageChef/Main.cs:
* 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.
This commit is contained in:
@@ -92,7 +92,8 @@ namespace DiscImageChef.Devices
|
||||
byte[] cdb = { (byte)Enums.ScsiCommands.Inquiry, 0, 0, 0, 5, 0 };
|
||||
bool sense;
|
||||
|
||||
SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
error = lastError != 0;
|
||||
|
||||
if (sense)
|
||||
return true;
|
||||
@@ -103,7 +104,8 @@ namespace DiscImageChef.Devices
|
||||
buffer = new byte[pagesLength];
|
||||
senseBuffer = new byte[32];
|
||||
|
||||
SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
error = lastError != 0;
|
||||
|
||||
return sense;
|
||||
}
|
||||
@@ -163,7 +165,8 @@ namespace DiscImageChef.Devices
|
||||
byte[] cdb = { (byte)Enums.ScsiCommands.Inquiry, 1, page, 0, 5, 0 };
|
||||
bool sense;
|
||||
|
||||
SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
error = lastError != 0;
|
||||
|
||||
if (sense)
|
||||
return true;
|
||||
@@ -174,7 +177,8 @@ namespace DiscImageChef.Devices
|
||||
buffer = new byte[pagesLength];
|
||||
senseBuffer = new byte[32];
|
||||
|
||||
SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, Enums.ScsiDirection.In, out duration, out sense);
|
||||
error = lastError != 0;
|
||||
|
||||
return sense;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user