mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Enlarge sense buffer to 64 bytes.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Aaru" type="DotNetProject" factoryName=".NET Project">
|
<configuration default="false" name="Aaru" type="DotNetProject" factoryName=".NET Project">
|
||||||
<option name="EXE_PATH" value="$PROJECT_DIR$/Aaru/bin/Debug/netcoreapp3.1/aaru" />
|
<option name="EXE_PATH" value="$PROJECT_DIR$/Aaru/bin/Debug/netcoreapp3.1/aaru.dll" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="db stats" />
|
<option name="PROGRAM_PARAMETERS" value="dev report /dev/sdd" />
|
||||||
<option name="WORKING_DIRECTORY" value="/mnt/DiscImageChef/Media image formats/copytape" />
|
<option name="WORKING_DIRECTORY" value="/mnt/datos" />
|
||||||
<option name="PASS_PARENT_ENVS" value="1" />
|
<option name="PASS_PARENT_ENVS" value="1" />
|
||||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||||
<option name="USE_MONO" value="0" />
|
<option name="USE_MONO" value="0" />
|
||||||
|
|||||||
Submodule Aaru.Decryption updated: b1e2fd4953...019060781b
@@ -60,7 +60,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.AdaptecTranslate;
|
cdb[0] = (byte)ScsiCommands.AdaptecTranslate;
|
||||||
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
|
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
|
||||||
@@ -103,7 +103,7 @@ namespace Aaru.Devices
|
|||||||
byte[] buffer = new byte[1];
|
byte[] buffer = new byte[1];
|
||||||
buffer[0] = threshold;
|
buffer[0] = threshold;
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.AdaptecSetErrorThreshold;
|
cdb[0] = (byte)ScsiCommands.AdaptecSetErrorThreshold;
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[9];
|
buffer = new byte[9];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.AdaptecTranslate;
|
cdb[0] = (byte)ScsiCommands.AdaptecTranslate;
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ namespace Aaru.Devices
|
|||||||
Array.Copy(buffer, 0, oneKBuffer, 0, buffer.Length < 1024 ? buffer.Length : 1024);
|
Array.Copy(buffer, 0, oneKBuffer, 0, buffer.Length < 1024 ? buffer.Length : 1024);
|
||||||
|
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.AdaptecWriteBuffer;
|
cdb[0] = (byte)ScsiCommands.AdaptecWriteBuffer;
|
||||||
|
|
||||||
@@ -195,7 +195,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[1024];
|
buffer = new byte[1024];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.AdaptecReadBuffer;
|
cdb[0] = (byte)ScsiCommands.AdaptecReadBuffer;
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[3];
|
buffer = new byte[3];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ArchiveRequestBlockAddress;
|
cdb[0] = (byte)ScsiCommands.ArchiveRequestBlockAddress;
|
||||||
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
|
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
|
||||||
@@ -84,7 +84,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ArchiveSeekBlock;
|
cdb[0] = (byte)ScsiCommands.ArchiveSeekBlock;
|
||||||
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
|
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.CertanceParkUnpark;
|
cdb[0] = (byte)ScsiCommands.CertanceParkUnpark;
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Aaru.Devices
|
|||||||
public bool HlDtStReadRawDvd(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
|
public bool HlDtStReadRawDvd(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
buffer = new byte[2064 * transferLength];
|
buffer = new byte[2064 * transferLength];
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ namespace Aaru.Devices
|
|||||||
ushort transferLen, ushort blockBytes, bool pba, bool sectorCount, uint timeout,
|
ushort transferLen, ushort blockBytes, bool pba, bool sectorCount, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadLong;
|
cdb[0] = (byte)ScsiCommands.ReadLong;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration.</param>
|
/// <param name="duration">Duration.</param>
|
||||||
public bool KreonDeprecatedUnlock(out byte[] senseBuffer, uint timeout, out double duration)
|
public bool KreonDeprecatedUnlock(out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="state">Lock state</param>
|
/// <param name="state">Lock state</param>
|
||||||
public bool KreonSetLockState(out byte[] senseBuffer, KreonLockStates state, uint timeout, out double duration)
|
public bool KreonSetLockState(out byte[] senseBuffer, KreonLockStates state, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ namespace Aaru.Devices
|
|||||||
public bool KreonGetFeatureList(out byte[] senseBuffer, out KreonFeatures features, uint timeout,
|
public bool KreonGetFeatureList(out byte[] senseBuffer, out KreonFeatures features, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[26];
|
byte[] buffer = new byte[26];
|
||||||
features = 0;
|
features = 0;
|
||||||
@@ -217,7 +217,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[2048];
|
buffer = new byte[2048];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.KreonSsCommand;
|
cdb[0] = (byte)ScsiCommands.KreonSsCommand;
|
||||||
cdb[1] = 0x00;
|
cdb[1] = 0x00;
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ namespace Aaru.Devices
|
|||||||
public bool GetConfiguration(out byte[] buffer, out byte[] senseBuffer, ushort startingFeatureNumber,
|
public bool GetConfiguration(out byte[] buffer, out byte[] senseBuffer, ushort startingFeatureNumber,
|
||||||
MmcGetConfigurationRt rt, uint timeout, out double duration)
|
MmcGetConfigurationRt rt, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ namespace Aaru.Devices
|
|||||||
buffer = new byte[confLength];
|
buffer = new byte[confLength];
|
||||||
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
|
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
|
||||||
cdb[8] = (byte)(buffer.Length & 0xFF);
|
cdb[8] = (byte)(buffer.Length & 0xFF);
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -123,7 +123,7 @@ namespace Aaru.Devices
|
|||||||
uint address, byte layerNumber, MmcDiscStructureFormat format, byte agid,
|
uint address, byte layerNumber, MmcDiscStructureFormat format, byte agid,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
|
|
||||||
@@ -183,7 +183,7 @@ namespace Aaru.Devices
|
|||||||
|
|
||||||
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
|
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
|
||||||
cdb[9] = (byte)(buffer.Length & 0xFF);
|
cdb[9] = (byte)(buffer.Length & 0xFF);
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -289,7 +289,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadTocPmaAtip(out byte[] buffer, out byte[] senseBuffer, bool msf, byte format,
|
public bool ReadTocPmaAtip(out byte[] buffer, out byte[] senseBuffer, bool msf, byte format,
|
||||||
byte trackSessionNumber, uint timeout, out double duration)
|
byte trackSessionNumber, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
byte[] tmpBuffer = (format & 0x0F) == 5 ? new byte[32768] : new byte[1024];
|
byte[] tmpBuffer = (format & 0x0F) == 5 ? new byte[32768] : new byte[1024];
|
||||||
@@ -359,7 +359,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadDiscInformation(out byte[] buffer, out byte[] senseBuffer, MmcDiscInformationDataTypes dataType,
|
public bool ReadDiscInformation(out byte[] buffer, out byte[] senseBuffer, MmcDiscInformationDataTypes dataType,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
byte[] tmpBuffer = new byte[804];
|
byte[] tmpBuffer = new byte[804];
|
||||||
|
|
||||||
@@ -411,7 +411,7 @@ namespace Aaru.Devices
|
|||||||
MmcHeaderCodes headerCodes, bool userData, bool edcEcc, MmcErrorField c2Error,
|
MmcHeaderCodes headerCodes, bool userData, bool edcEcc, MmcErrorField c2Error,
|
||||||
MmcSubchannel subchannel, uint timeout, out double duration)
|
MmcSubchannel subchannel, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadCd;
|
cdb[0] = (byte)ScsiCommands.ReadCd;
|
||||||
@@ -481,7 +481,7 @@ namespace Aaru.Devices
|
|||||||
bool userData, bool edcEcc, MmcErrorField c2Error, MmcSubchannel subchannel, uint timeout,
|
bool userData, bool edcEcc, MmcErrorField c2Error, MmcSubchannel subchannel, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadCdMsf;
|
cdb[0] = (byte)ScsiCommands.ReadCdMsf;
|
||||||
@@ -536,7 +536,7 @@ namespace Aaru.Devices
|
|||||||
public bool PreventAllowMediumRemoval(out byte[] senseBuffer, bool persistent, bool prevent, uint timeout,
|
public bool PreventAllowMediumRemoval(out byte[] senseBuffer, bool persistent, bool prevent, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -575,7 +575,7 @@ namespace Aaru.Devices
|
|||||||
public bool StartStopUnit(out byte[] senseBuffer, bool immediate, byte formatLayer, byte powerConditions,
|
public bool StartStopUnit(out byte[] senseBuffer, bool immediate, byte formatLayer, byte powerConditions,
|
||||||
bool changeFormatLayer, bool loadEject, bool start, uint timeout, out double duration)
|
bool changeFormatLayer, bool loadEject, bool start, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -616,7 +616,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadMcn(out string mcn, out byte[] buffer, out byte[] senseBuffer, uint timeout,
|
public bool ReadMcn(out string mcn, out byte[] buffer, out byte[] senseBuffer, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
mcn = null;
|
mcn = null;
|
||||||
|
|
||||||
@@ -648,7 +648,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadIsrc(byte trackNumber, out string isrc, out byte[] buffer, out byte[] senseBuffer, uint timeout,
|
public bool ReadIsrc(byte trackNumber, out string isrc, out byte[] buffer, out byte[] senseBuffer, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
isrc = null;
|
isrc = null;
|
||||||
|
|
||||||
@@ -681,7 +681,7 @@ namespace Aaru.Devices
|
|||||||
public bool SetCdSpeed(out byte[] senseBuffer, RotationalControl rotationalControl, ushort readSpeed,
|
public bool SetCdSpeed(out byte[] senseBuffer, RotationalControl rotationalControl, ushort readSpeed,
|
||||||
ushort writeSpeed, uint timeout, out double duration)
|
ushort writeSpeed, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -716,7 +716,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadTrackInformation(out byte[] buffer, out byte[] senseBuffer, bool open,
|
public bool ReadTrackInformation(out byte[] buffer, out byte[] senseBuffer, bool open,
|
||||||
TrackInformationType type, uint address, uint timeout, out double duration)
|
TrackInformationType type, uint address, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
buffer = new byte[48];
|
buffer = new byte[48];
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Aaru.Devices
|
|||||||
public bool MediaTekReadDram(out byte[] buffer, out byte[] senseBuffer, uint offset, uint length, uint timeout,
|
public bool MediaTekReadDram(out byte[] buffer, out byte[] senseBuffer, uint offset, uint length, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
buffer = new byte[length];
|
buffer = new byte[length];
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace Aaru.Devices
|
|||||||
public bool MiniDiscReadDataTOC(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool MiniDiscReadDataTOC(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
ushort transferLength = 2336;
|
ushort transferLength = 2336;
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.MiniDiscReadDTOC;
|
cdb[0] = (byte)ScsiCommands.MiniDiscReadDTOC;
|
||||||
@@ -63,7 +63,7 @@ namespace Aaru.Devices
|
|||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
ushort transferLength = 2336;
|
ushort transferLength = 2336;
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.MiniDiscReadUTOC;
|
cdb[0] = (byte)ScsiCommands.MiniDiscReadUTOC;
|
||||||
@@ -90,7 +90,7 @@ namespace Aaru.Devices
|
|||||||
public bool MiniDiscD5(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool MiniDiscD5(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
ushort transferLength = 4;
|
ushort transferLength = 4;
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.MiniDiscD5;
|
cdb[0] = (byte)ScsiCommands.MiniDiscD5;
|
||||||
@@ -113,7 +113,7 @@ namespace Aaru.Devices
|
|||||||
public bool MiniDiscStopPlaying(out byte[] buffer, out byte[] senseBuffer, uint sector, uint timeout,
|
public bool MiniDiscStopPlaying(out byte[] buffer, out byte[] senseBuffer, uint sector, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.MiniDiscStopPlay;
|
cdb[0] = (byte)ScsiCommands.MiniDiscStopPlay;
|
||||||
@@ -133,7 +133,7 @@ namespace Aaru.Devices
|
|||||||
public bool MiniDiscReadPosition(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool MiniDiscReadPosition(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
ushort transferLength = 4;
|
ushort transferLength = 4;
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.MiniDiscReadPosition;
|
cdb[0] = (byte)ScsiCommands.MiniDiscReadPosition;
|
||||||
@@ -156,7 +156,7 @@ namespace Aaru.Devices
|
|||||||
public bool MiniDiscGetType(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool MiniDiscGetType(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
ushort transferLength = 8;
|
ushort transferLength = 8;
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.MiniDiscGetType;
|
cdb[0] = (byte)ScsiCommands.MiniDiscGetType;
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Aaru.Devices
|
|||||||
public bool NecReadCdDa(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength, uint timeout,
|
public bool NecReadCdDa(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.NecReadCdDa;
|
cdb[0] = (byte)ScsiCommands.NecReadCdDa;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace Aaru.Devices
|
|||||||
bool relAddr, uint lba, uint requested, uint scanLength, out uint foundLba,
|
bool relAddr, uint lba, uint requested, uint scanLength, out uint foundLba,
|
||||||
out uint foundBlocks, uint timeout, out double duration)
|
out uint foundBlocks, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
foundLba = 0;
|
foundLba = 0;
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ namespace Aaru.Devices
|
|||||||
uint transferLength, PioneerSubchannel subchannel, uint timeout,
|
uint transferLength, PioneerSubchannel subchannel, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadCdDa;
|
cdb[0] = (byte)ScsiCommands.ReadCdDa;
|
||||||
@@ -88,7 +88,7 @@ namespace Aaru.Devices
|
|||||||
public bool PioneerReadCdDaMsf(out byte[] buffer, out byte[] senseBuffer, uint startMsf, uint endMsf,
|
public bool PioneerReadCdDaMsf(out byte[] buffer, out byte[] senseBuffer, uint startMsf, uint endMsf,
|
||||||
uint blockSize, PioneerSubchannel subchannel, uint timeout, out double duration)
|
uint blockSize, PioneerSubchannel subchannel, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadCdDaMsf;
|
cdb[0] = (byte)ScsiCommands.ReadCdDaMsf;
|
||||||
@@ -129,7 +129,7 @@ namespace Aaru.Devices
|
|||||||
public bool PioneerReadCdXa(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
|
public bool PioneerReadCdXa(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
|
||||||
bool errorFlags, bool wholeSector, uint timeout, out double duration)
|
bool errorFlags, bool wholeSector, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadCdXa;
|
cdb[0] = (byte)ScsiCommands.ReadCdXa;
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlasmonReadSectorLocation(out byte[] buffer, out byte[] senseBuffer, uint address, bool pba,
|
public bool PlasmonReadSectorLocation(out byte[] buffer, out byte[] senseBuffer, uint address, bool pba,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlasmonReadSectorLocation;
|
cdb[0] = (byte)ScsiCommands.PlasmonReadSectorLocation;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace Aaru.Devices
|
|||||||
uint transferLength, PlextorSubchannel subchannel, uint timeout,
|
uint transferLength, PlextorSubchannel subchannel, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadCdDa;
|
cdb[0] = (byte)ScsiCommands.ReadCdDa;
|
||||||
@@ -90,7 +90,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorReadRawDvd(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
|
public bool PlextorReadRawDvd(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
buffer = new byte[2064 * transferLength];
|
buffer = new byte[2064 * transferLength];
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorReadEepromCdr(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorReadEepromCdr(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[256];
|
buffer = new byte[256];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
|
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
|
||||||
@@ -147,7 +147,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorReadEeprom(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorReadEeprom(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[512];
|
buffer = new byte[512];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
|
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
|
||||||
@@ -175,7 +175,7 @@ namespace Aaru.Devices
|
|||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[blockSize];
|
buffer = new byte[blockSize];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
|
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
|
||||||
@@ -206,7 +206,7 @@ namespace Aaru.Devices
|
|||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
byte[] buf = new byte[10];
|
byte[] buf = new byte[10];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
selected = 0;
|
selected = 0;
|
||||||
@@ -244,7 +244,7 @@ namespace Aaru.Devices
|
|||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
byte[] buf = new byte[8];
|
byte[] buf = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
enabled = false;
|
enabled = false;
|
||||||
@@ -279,7 +279,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorGetSilentMode(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorGetSilentMode(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -307,7 +307,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorGetGigaRec(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorGetGigaRec(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -336,7 +336,7 @@ namespace Aaru.Devices
|
|||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -368,7 +368,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorGetSecuRec(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorGetSecuRec(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -394,7 +394,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorGetSpeedRead(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorGetSpeedRead(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -421,7 +421,7 @@ namespace Aaru.Devices
|
|||||||
public bool PlextorGetHiding(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool PlextorGetHiding(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -450,7 +450,7 @@ namespace Aaru.Devices
|
|||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
@@ -483,7 +483,7 @@ namespace Aaru.Devices
|
|||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
cdb[0] = (byte)ScsiCommands.PlextorExtend;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace Aaru.Devices
|
|||||||
public bool Read6(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize, byte transferLength,
|
public bool Read6(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize, byte transferLength,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.Read6;
|
cdb[0] = (byte)ScsiCommands.Read6;
|
||||||
@@ -110,7 +110,7 @@ namespace Aaru.Devices
|
|||||||
bool relAddr, uint lba, uint blockSize, byte groupNumber, ushort transferLength,
|
bool relAddr, uint lba, uint blockSize, byte groupNumber, ushort transferLength,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.Read10;
|
cdb[0] = (byte)ScsiCommands.Read10;
|
||||||
@@ -174,7 +174,7 @@ namespace Aaru.Devices
|
|||||||
bool relAddr, uint lba, uint blockSize, byte groupNumber, uint transferLength,
|
bool relAddr, uint lba, uint blockSize, byte groupNumber, uint transferLength,
|
||||||
bool streaming, uint timeout, out double duration)
|
bool streaming, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.Read12;
|
cdb[0] = (byte)ScsiCommands.Read12;
|
||||||
@@ -242,7 +242,7 @@ namespace Aaru.Devices
|
|||||||
ulong lba, uint blockSize, byte groupNumber, uint transferLength, bool streaming,
|
ulong lba, uint blockSize, byte groupNumber, uint transferLength, bool streaming,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[16];
|
byte[] cdb = new byte[16];
|
||||||
byte[] lbaBytes = BitConverter.GetBytes(lba);
|
byte[] lbaBytes = BitConverter.GetBytes(lba);
|
||||||
|
|
||||||
@@ -303,7 +303,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadLong10(out byte[] buffer, out byte[] senseBuffer, bool correct, bool relAddr, uint lba,
|
public bool ReadLong10(out byte[] buffer, out byte[] senseBuffer, bool correct, bool relAddr, uint lba,
|
||||||
ushort transferBytes, uint timeout, out double duration)
|
ushort transferBytes, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadLong;
|
cdb[0] = (byte)ScsiCommands.ReadLong;
|
||||||
@@ -348,7 +348,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadLong16(out byte[] buffer, out byte[] senseBuffer, bool correct, ulong lba, uint transferBytes,
|
public bool ReadLong16(out byte[] buffer, out byte[] senseBuffer, bool correct, ulong lba, uint transferBytes,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[16];
|
byte[] cdb = new byte[16];
|
||||||
byte[] lbaBytes = BitConverter.GetBytes(lba);
|
byte[] lbaBytes = BitConverter.GetBytes(lba);
|
||||||
|
|
||||||
@@ -387,7 +387,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration.</param>
|
/// <param name="duration">Duration.</param>
|
||||||
public bool Seek6(out byte[] senseBuffer, uint lba, uint timeout, out double duration)
|
public bool Seek6(out byte[] senseBuffer, uint lba, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -413,7 +413,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration.</param>
|
/// <param name="duration">Duration.</param>
|
||||||
public bool Seek10(out byte[] senseBuffer, uint lba, uint timeout, out double duration)
|
public bool Seek10(out byte[] senseBuffer, uint lba, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[256];
|
buffer = new byte[256];
|
||||||
byte[] cdb = new byte[16];
|
byte[] cdb = new byte[16];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadAttribute;
|
cdb[0] = (byte)ScsiCommands.ReadAttribute;
|
||||||
cdb[1] = (byte)((byte)action & 0x1F);
|
cdb[1] = (byte)((byte)action & 0x1F);
|
||||||
@@ -87,7 +87,7 @@ namespace Aaru.Devices
|
|||||||
cdb[11] = (byte)((buffer.Length & 0xFF0000) >> 16);
|
cdb[11] = (byte)((buffer.Length & 0xFF0000) >> 16);
|
||||||
cdb[12] = (byte)((buffer.Length & 0xFF00) >> 8);
|
cdb[12] = (byte)((buffer.Length & 0xFF00) >> 8);
|
||||||
cdb[13] = (byte)(buffer.Length & 0xFF);
|
cdb[13] = (byte)(buffer.Length & 0xFF);
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace Aaru.Devices
|
|||||||
public bool ScsiInquiry(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool ScsiInquiry(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[36];
|
buffer = new byte[36];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
byte[] cdb =
|
byte[] cdb =
|
||||||
{
|
{
|
||||||
@@ -95,7 +95,7 @@ namespace Aaru.Devices
|
|||||||
};
|
};
|
||||||
|
|
||||||
buffer = new byte[pagesLength];
|
buffer = new byte[pagesLength];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -149,7 +149,7 @@ namespace Aaru.Devices
|
|||||||
public bool ScsiInquiry(out byte[] buffer, out byte[] senseBuffer, byte page, uint timeout, out double duration)
|
public bool ScsiInquiry(out byte[] buffer, out byte[] senseBuffer, byte page, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
buffer = new byte[36];
|
buffer = new byte[36];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
byte[] cdb =
|
byte[] cdb =
|
||||||
{
|
{
|
||||||
@@ -176,7 +176,7 @@ namespace Aaru.Devices
|
|||||||
};
|
};
|
||||||
|
|
||||||
buffer = new byte[pagesLength];
|
buffer = new byte[pagesLength];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -195,7 +195,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration in milliseconds it took for the device to execute the command.</param>
|
/// <param name="duration">Duration in milliseconds it took for the device to execute the command.</param>
|
||||||
public bool ScsiTestUnitReady(out byte[] senseBuffer, uint timeout, out double duration)
|
public bool ScsiTestUnitReady(out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
byte[] cdb =
|
byte[] cdb =
|
||||||
{
|
{
|
||||||
@@ -252,7 +252,7 @@ namespace Aaru.Devices
|
|||||||
ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout,
|
ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
buffer = new byte[255];
|
buffer = new byte[255];
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@ namespace Aaru.Devices
|
|||||||
byte modeLength = (byte)(buffer[0] + 1);
|
byte modeLength = (byte)(buffer[0] + 1);
|
||||||
buffer = new byte[modeLength];
|
buffer = new byte[modeLength];
|
||||||
cdb[4] = (byte)buffer.Length;
|
cdb[4] = (byte)buffer.Length;
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -334,7 +334,7 @@ namespace Aaru.Devices
|
|||||||
ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout,
|
ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
buffer = new byte[4096];
|
buffer = new byte[4096];
|
||||||
|
|
||||||
@@ -365,7 +365,7 @@ namespace Aaru.Devices
|
|||||||
buffer = new byte[modeLength];
|
buffer = new byte[modeLength];
|
||||||
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
|
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
|
||||||
cdb[8] = (byte)(buffer.Length & 0xFF);
|
cdb[8] = (byte)(buffer.Length & 0xFF);
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -418,7 +418,7 @@ namespace Aaru.Devices
|
|||||||
public bool SpcPreventAllowMediumRemoval(out byte[] senseBuffer, ScsiPreventAllowMode preventMode, uint timeout,
|
public bool SpcPreventAllowMediumRemoval(out byte[] senseBuffer, ScsiPreventAllowMode preventMode, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -456,7 +456,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadCapacity(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, bool pmi,
|
public bool ReadCapacity(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, bool pmi,
|
||||||
uint timeout, out double duration)
|
uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
buffer = new byte[8];
|
buffer = new byte[8];
|
||||||
|
|
||||||
@@ -505,7 +505,7 @@ namespace Aaru.Devices
|
|||||||
public bool ReadCapacity16(out byte[] buffer, out byte[] senseBuffer, ulong address, bool pmi, uint timeout,
|
public bool ReadCapacity16(out byte[] buffer, out byte[] senseBuffer, ulong address, bool pmi, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[16];
|
byte[] cdb = new byte[16];
|
||||||
buffer = new byte[32];
|
buffer = new byte[32];
|
||||||
|
|
||||||
@@ -549,7 +549,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration in milliseconds it took for the device to execute the command.</param>
|
/// <param name="duration">Duration in milliseconds it took for the device to execute the command.</param>
|
||||||
public bool ReadMediaSerialNumber(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
public bool ReadMediaSerialNumber(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[12];
|
byte[] cdb = new byte[12];
|
||||||
buffer = new byte[4];
|
buffer = new byte[4];
|
||||||
|
|
||||||
@@ -574,7 +574,7 @@ namespace Aaru.Devices
|
|||||||
cdb[7] = (byte)((buffer.Length & 0xFF0000) >> 16);
|
cdb[7] = (byte)((buffer.Length & 0xFF0000) >> 16);
|
||||||
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
|
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
|
||||||
cdb[9] = (byte)(buffer.Length & 0xFF);
|
cdb[9] = (byte)(buffer.Length & 0xFF);
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -679,7 +679,7 @@ namespace Aaru.Devices
|
|||||||
public bool ModeSelect(byte[] buffer, out byte[] senseBuffer, bool pageFormat, bool savePages, uint timeout,
|
public bool ModeSelect(byte[] buffer, out byte[] senseBuffer, bool pageFormat, bool savePages, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
// Prevent overflows
|
// Prevent overflows
|
||||||
if(buffer.Length > 255)
|
if(buffer.Length > 255)
|
||||||
@@ -733,7 +733,7 @@ namespace Aaru.Devices
|
|||||||
public bool ModeSelect10(byte[] buffer, out byte[] senseBuffer, bool pageFormat, bool savePages, uint timeout,
|
public bool ModeSelect10(byte[] buffer, out byte[] senseBuffer, bool pageFormat, bool savePages, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
// Prevent overflows
|
// Prevent overflows
|
||||||
if(buffer.Length > 65535)
|
if(buffer.Length > 65535)
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ namespace Aaru.Devices
|
|||||||
public bool LoadUnload(out byte[] senseBuffer, bool immediate, bool load, bool retense, bool endOfTape,
|
public bool LoadUnload(out byte[] senseBuffer, bool immediate, bool load, bool retense, bool endOfTape,
|
||||||
bool hold, uint timeout, out double duration)
|
bool hold, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ namespace Aaru.Devices
|
|||||||
public bool Locate(out byte[] senseBuffer, bool immediate, bool blockType, bool changePartition, byte partition,
|
public bool Locate(out byte[] senseBuffer, bool immediate, bool blockType, bool changePartition, byte partition,
|
||||||
uint objectId, uint timeout, out double duration)
|
uint objectId, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ namespace Aaru.Devices
|
|||||||
public bool Locate16(out byte[] senseBuffer, bool immediate, bool changePartition, SscLogicalIdTypes destType,
|
public bool Locate16(out byte[] senseBuffer, bool immediate, bool changePartition, SscLogicalIdTypes destType,
|
||||||
bool bam, byte partition, ulong identifier, uint timeout, out double duration)
|
bool bam, byte partition, ulong identifier, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[16];
|
byte[] cdb = new byte[16];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
byte[] idBytes = BitConverter.GetBytes(identifier);
|
byte[] idBytes = BitConverter.GetBytes(identifier);
|
||||||
@@ -317,7 +317,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
|
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.Read6;
|
cdb[0] = (byte)ScsiCommands.Read6;
|
||||||
|
|
||||||
@@ -417,7 +417,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = fixedLen ? new byte[objectSize * transferLen] : new byte[transferLen];
|
buffer = fixedLen ? new byte[objectSize * transferLen] : new byte[transferLen];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] idBytes = BitConverter.GetBytes(objectId);
|
byte[] idBytes = BitConverter.GetBytes(objectId);
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.Read16;
|
cdb[0] = (byte)ScsiCommands.Read16;
|
||||||
@@ -460,7 +460,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[6];
|
buffer = new byte[6];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadBlockLimits;
|
cdb[0] = (byte)ScsiCommands.ReadBlockLimits;
|
||||||
|
|
||||||
@@ -548,7 +548,7 @@ namespace Aaru.Devices
|
|||||||
}
|
}
|
||||||
|
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadPosition;
|
cdb[0] = (byte)ScsiCommands.ReadPosition;
|
||||||
cdb[1] = (byte)((byte)responseForm & 0x1F);
|
cdb[1] = (byte)((byte)responseForm & 0x1F);
|
||||||
@@ -614,7 +614,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
|
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReadReverse;
|
cdb[0] = (byte)ScsiCommands.ReadReverse;
|
||||||
|
|
||||||
@@ -721,7 +721,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = fixedLen ? new byte[objectSize * transferLen] : new byte[transferLen];
|
buffer = fixedLen ? new byte[objectSize * transferLen] : new byte[transferLen];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] idBytes = BitConverter.GetBytes(objectId);
|
byte[] idBytes = BitConverter.GetBytes(objectId);
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.Read16;
|
cdb[0] = (byte)ScsiCommands.Read16;
|
||||||
@@ -802,7 +802,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
|
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.RecoverBufferedData;
|
cdb[0] = (byte)ScsiCommands.RecoverBufferedData;
|
||||||
|
|
||||||
@@ -857,7 +857,7 @@ namespace Aaru.Devices
|
|||||||
{
|
{
|
||||||
buffer = new byte[256];
|
buffer = new byte[256];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
cdb[0] = (byte)ScsiCommands.ReportDensitySupport;
|
cdb[0] = (byte)ScsiCommands.ReportDensitySupport;
|
||||||
|
|
||||||
@@ -882,7 +882,7 @@ namespace Aaru.Devices
|
|||||||
buffer = new byte[availableLength];
|
buffer = new byte[availableLength];
|
||||||
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
|
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
|
||||||
cdb[8] = (byte)(buffer.Length & 0xFF);
|
cdb[8] = (byte)(buffer.Length & 0xFF);
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
|
||||||
out sense);
|
out sense);
|
||||||
@@ -908,7 +908,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration.</param>
|
/// <param name="duration">Duration.</param>
|
||||||
public bool Rewind(out byte[] senseBuffer, bool immediate, uint timeout, out double duration)
|
public bool Rewind(out byte[] senseBuffer, bool immediate, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -935,7 +935,7 @@ namespace Aaru.Devices
|
|||||||
/// <param name="duration">Duration.</param>
|
/// <param name="duration">Duration.</param>
|
||||||
public bool TrackSelect(out byte[] senseBuffer, byte track, uint timeout, out double duration)
|
public bool TrackSelect(out byte[] senseBuffer, byte track, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
|
|
||||||
@@ -954,7 +954,7 @@ namespace Aaru.Devices
|
|||||||
|
|
||||||
public bool Space(out byte[] senseBuffer, SscSpaceCodes code, int count, uint timeout, out double duration)
|
public bool Space(out byte[] senseBuffer, SscSpaceCodes code, int count, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
byte[] buffer = new byte[0];
|
byte[] buffer = new byte[0];
|
||||||
byte[] countB = BitConverter.GetBytes(count);
|
byte[] countB = BitConverter.GetBytes(count);
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ namespace Aaru.Devices
|
|||||||
public bool SyQuestRead6(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize,
|
public bool SyQuestRead6(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize,
|
||||||
byte transferLength, bool inhibitDma, bool readLong, uint timeout, out double duration)
|
byte transferLength, bool inhibitDma, bool readLong, uint timeout, out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[6];
|
byte[] cdb = new byte[6];
|
||||||
bool sense;
|
bool sense;
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ namespace Aaru.Devices
|
|||||||
ushort transferLength, bool inhibitDma, bool readLong, uint timeout,
|
ushort transferLength, bool inhibitDma, bool readLong, uint timeout,
|
||||||
out double duration)
|
out double duration)
|
||||||
{
|
{
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
byte[] cdb = new byte[10];
|
byte[] cdb = new byte[10];
|
||||||
bool sense;
|
bool sense;
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ namespace Aaru.Devices.Linux
|
|||||||
|
|
||||||
var ioHdr = new SgIoHdrT();
|
var ioHdr = new SgIoHdrT();
|
||||||
|
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
|
|
||||||
ioHdr.interface_id = 'S';
|
ioHdr.interface_id = 'S';
|
||||||
ioHdr.cmd_len = (byte)cdb.Length;
|
ioHdr.cmd_len = (byte)cdb.Length;
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ namespace Aaru.Devices.Windows
|
|||||||
|
|
||||||
sense |= sptdSb.sptd.ScsiStatus != 0;
|
sense |= sptdSb.sptd.ScsiStatus != 0;
|
||||||
|
|
||||||
senseBuffer = new byte[32];
|
senseBuffer = new byte[64];
|
||||||
Array.Copy(sptdSb.SenseBuf, senseBuffer, 32);
|
Array.Copy(sptdSb.SenseBuf, senseBuffer, 32);
|
||||||
|
|
||||||
duration = (end - start).TotalMilliseconds;
|
duration = (end - start).TotalMilliseconds;
|
||||||
|
|||||||
Reference in New Issue
Block a user