Enlarge sense buffer to 64 bytes.

This commit is contained in:
2021-03-25 23:23:18 +00:00
parent 7ee8988534
commit e4dbcdebc3
23 changed files with 105 additions and 105 deletions

View File

@@ -1,8 +1,8 @@
<component name="ProjectRunConfigurationManager">
<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="PROGRAM_PARAMETERS" value="db stats" />
<option name="WORKING_DIRECTORY" value="/mnt/DiscImageChef/Media image formats/copytape" />
<option name="EXE_PATH" value="$PROJECT_DIR$/Aaru/bin/Debug/netcoreapp3.1/aaru.dll" />
<option name="PROGRAM_PARAMETERS" value="dev report /dev/sdd" />
<option name="WORKING_DIRECTORY" value="/mnt/datos" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<option name="USE_MONO" value="0" />

View File

@@ -60,7 +60,7 @@ namespace Aaru.Devices
{
buffer = new byte[8];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.AdaptecTranslate;
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
@@ -103,7 +103,7 @@ namespace Aaru.Devices
byte[] buffer = new byte[1];
buffer[0] = threshold;
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.AdaptecSetErrorThreshold;
@@ -142,7 +142,7 @@ namespace Aaru.Devices
{
buffer = new byte[9];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.AdaptecTranslate;
@@ -172,7 +172,7 @@ namespace Aaru.Devices
Array.Copy(buffer, 0, oneKBuffer, 0, buffer.Length < 1024 ? buffer.Length : 1024);
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.AdaptecWriteBuffer;
@@ -195,7 +195,7 @@ namespace Aaru.Devices
{
buffer = new byte[1024];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.AdaptecReadBuffer;

View File

@@ -47,7 +47,7 @@ namespace Aaru.Devices
{
buffer = new byte[3];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ArchiveRequestBlockAddress;
cdb[1] = (byte)((lba & 0x1F0000) >> 16);
@@ -84,7 +84,7 @@ namespace Aaru.Devices
{
byte[] buffer = new byte[0];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ArchiveSeekBlock;
cdb[1] = (byte)((lba & 0x1F0000) >> 16);

View File

@@ -61,7 +61,7 @@ namespace Aaru.Devices
{
byte[] buffer = new byte[0];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.CertanceParkUnpark;

View File

@@ -47,7 +47,7 @@ namespace Aaru.Devices
public bool HlDtStReadRawDvd(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
buffer = new byte[2064 * transferLength];

View File

@@ -69,7 +69,7 @@ namespace Aaru.Devices
ushort transferLen, ushort blockBytes, bool pba, bool sectorCount, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
cdb[0] = (byte)ScsiCommands.ReadLong;

View File

@@ -44,7 +44,7 @@ namespace Aaru.Devices
/// <param name="duration">Duration.</param>
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[] buffer = new byte[0];
@@ -95,7 +95,7 @@ namespace Aaru.Devices
/// <param name="state">Lock state</param>
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[] buffer = new byte[0];
@@ -124,7 +124,7 @@ namespace Aaru.Devices
public bool KreonGetFeatureList(out byte[] senseBuffer, out KreonFeatures features, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
byte[] buffer = new byte[26];
features = 0;
@@ -217,7 +217,7 @@ namespace Aaru.Devices
{
buffer = new byte[2048];
byte[] cdb = new byte[12];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.KreonSsCommand;
cdb[1] = 0x00;

View File

@@ -70,7 +70,7 @@ namespace Aaru.Devices
public bool GetConfiguration(out byte[] buffer, out byte[] senseBuffer, ushort startingFeatureNumber,
MmcGetConfigurationRt rt, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
buffer = new byte[8];
@@ -94,7 +94,7 @@ namespace Aaru.Devices
buffer = new byte[confLength];
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
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,
out sense);
@@ -123,7 +123,7 @@ namespace Aaru.Devices
uint address, byte layerNumber, MmcDiscStructureFormat format, byte agid,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
buffer = new byte[8];
@@ -183,7 +183,7 @@ namespace Aaru.Devices
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
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,
out sense);
@@ -289,7 +289,7 @@ namespace Aaru.Devices
public bool ReadTocPmaAtip(out byte[] buffer, out byte[] senseBuffer, bool msf, byte format,
byte trackSessionNumber, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
byte[] tmpBuffer = new byte[804];
@@ -411,7 +411,7 @@ namespace Aaru.Devices
MmcHeaderCodes headerCodes, bool userData, bool edcEcc, MmcErrorField c2Error,
MmcSubchannel subchannel, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.ReadCd;
@@ -481,7 +481,7 @@ namespace Aaru.Devices
bool userData, bool edcEcc, MmcErrorField c2Error, MmcSubchannel subchannel, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.ReadCdMsf;
@@ -536,7 +536,7 @@ namespace Aaru.Devices
public bool PreventAllowMediumRemoval(out byte[] senseBuffer, bool persistent, bool prevent, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
byte[] buffer = new byte[0];
@@ -575,7 +575,7 @@ namespace Aaru.Devices
public bool StartStopUnit(out byte[] senseBuffer, bool immediate, byte formatLayer, byte powerConditions,
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[] 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,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
isrc = null;
@@ -681,7 +681,7 @@ namespace Aaru.Devices
public bool SetCdSpeed(out byte[] senseBuffer, RotationalControl rotationalControl, ushort readSpeed,
ushort writeSpeed, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
byte[] buffer = new byte[0];
@@ -716,7 +716,7 @@ namespace Aaru.Devices
public bool ReadTrackInformation(out byte[] buffer, out byte[] senseBuffer, bool open,
TrackInformationType type, uint address, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
buffer = new byte[48];

View File

@@ -47,7 +47,7 @@ namespace Aaru.Devices
public bool MediaTekReadDram(out byte[] buffer, out byte[] senseBuffer, uint offset, uint length, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
buffer = new byte[length];

View File

@@ -39,7 +39,7 @@ namespace Aaru.Devices
public bool MiniDiscReadDataTOC(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
{
ushort transferLength = 2336;
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
cdb[0] = (byte)ScsiCommands.MiniDiscReadDTOC;
@@ -63,7 +63,7 @@ namespace Aaru.Devices
out double duration)
{
ushort transferLength = 2336;
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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)
{
ushort transferLength = 4;
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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)
{
ushort transferLength = 4;
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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)
{
ushort transferLength = 8;
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
cdb[0] = (byte)ScsiCommands.MiniDiscGetType;

View File

@@ -47,7 +47,7 @@ namespace Aaru.Devices
public bool NecReadCdDa(out byte[] buffer, out byte[] senseBuffer, uint lba, uint transferLength, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
cdb[0] = (byte)ScsiCommands.NecReadCdDa;

View File

@@ -61,7 +61,7 @@ namespace Aaru.Devices
bool relAddr, uint lba, uint requested, uint scanLength, out uint foundLba,
out uint foundBlocks, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
byte[] buffer = new byte[0];
foundLba = 0;

View File

@@ -50,7 +50,7 @@ namespace Aaru.Devices
uint transferLength, PioneerSubchannel subchannel, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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,
uint blockSize, PioneerSubchannel subchannel, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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,
bool errorFlags, bool wholeSector, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.ReadCdXa;

View File

@@ -82,7 +82,7 @@ namespace Aaru.Devices
public bool PlasmonReadSectorLocation(out byte[] buffer, out byte[] senseBuffer, uint address, bool pba,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
cdb[0] = (byte)ScsiCommands.PlasmonReadSectorLocation;

View File

@@ -51,7 +51,7 @@ namespace Aaru.Devices
uint transferLength, PlextorSubchannel subchannel, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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)
{
buffer = new byte[256];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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)
{
buffer = new byte[512];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
@@ -175,7 +175,7 @@ namespace Aaru.Devices
uint timeout, out double duration)
{
buffer = new byte[blockSize];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.PlextorReadEeprom;
@@ -206,7 +206,7 @@ namespace Aaru.Devices
uint timeout, out double duration)
{
byte[] buf = new byte[10];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
selected = 0;
@@ -244,7 +244,7 @@ namespace Aaru.Devices
out double duration)
{
byte[] buf = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
enabled = false;
@@ -279,7 +279,7 @@ namespace Aaru.Devices
public bool PlextorGetSilentMode(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.PlextorExtend;
@@ -336,7 +336,7 @@ namespace Aaru.Devices
out double duration)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
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)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.PlextorExtend;
@@ -450,7 +450,7 @@ namespace Aaru.Devices
out double duration)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.PlextorExtend;
@@ -483,7 +483,7 @@ namespace Aaru.Devices
out double duration)
{
buffer = new byte[8];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.PlextorExtend;

View File

@@ -61,7 +61,7 @@ namespace Aaru.Devices
public bool Read6(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize, byte transferLength,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
cdb[0] = (byte)ScsiCommands.Read6;
@@ -110,7 +110,7 @@ namespace Aaru.Devices
bool relAddr, uint lba, uint blockSize, byte groupNumber, ushort transferLength,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
cdb[0] = (byte)ScsiCommands.Read10;
@@ -174,7 +174,7 @@ namespace Aaru.Devices
bool relAddr, uint lba, uint blockSize, byte groupNumber, uint transferLength,
bool streaming, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[12];
cdb[0] = (byte)ScsiCommands.Read12;
@@ -242,7 +242,7 @@ namespace Aaru.Devices
ulong lba, uint blockSize, byte groupNumber, uint transferLength, bool streaming,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[16];
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,
ushort transferBytes, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[16];
byte[] lbaBytes = BitConverter.GetBytes(lba);
@@ -387,7 +387,7 @@ namespace Aaru.Devices
/// <param name="duration">Duration.</param>
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[] buffer = new byte[0];
@@ -413,7 +413,7 @@ namespace Aaru.Devices
/// <param name="duration">Duration.</param>
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[] buffer = new byte[0];

View File

@@ -54,7 +54,7 @@ namespace Aaru.Devices
{
buffer = new byte[256];
byte[] cdb = new byte[16];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ReadAttribute;
cdb[1] = (byte)((byte)action & 0x1F);
@@ -87,7 +87,7 @@ namespace Aaru.Devices
cdb[11] = (byte)((buffer.Length & 0xFF0000) >> 16);
cdb[12] = (byte)((buffer.Length & 0xFF00) >> 8);
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,
out sense);

View File

@@ -72,7 +72,7 @@ namespace Aaru.Devices
public bool ScsiInquiry(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
{
buffer = new byte[36];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb =
{
@@ -95,7 +95,7 @@ namespace Aaru.Devices
};
buffer = new byte[pagesLength];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
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)
{
buffer = new byte[36];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb =
{
@@ -176,7 +176,7 @@ namespace Aaru.Devices
};
buffer = new byte[pagesLength];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
LastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration,
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>
public bool ScsiTestUnitReady(out byte[] senseBuffer, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb =
{
@@ -252,7 +252,7 @@ namespace Aaru.Devices
ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
buffer = new byte[255];
@@ -278,7 +278,7 @@ namespace Aaru.Devices
byte modeLength = (byte)(buffer[0] + 1);
buffer = new byte[modeLength];
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,
out sense);
@@ -334,7 +334,7 @@ namespace Aaru.Devices
ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
buffer = new byte[4096];
@@ -365,7 +365,7 @@ namespace Aaru.Devices
buffer = new byte[modeLength];
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
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,
out sense);
@@ -418,7 +418,7 @@ namespace Aaru.Devices
public bool SpcPreventAllowMediumRemoval(out byte[] senseBuffer, ScsiPreventAllowMode preventMode, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
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,
uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
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,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[16];
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>
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];
buffer = new byte[4];
@@ -574,7 +574,7 @@ namespace Aaru.Devices
cdb[7] = (byte)((buffer.Length & 0xFF0000) >> 16);
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
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,
out sense);
@@ -679,7 +679,7 @@ namespace Aaru.Devices
public bool ModeSelect(byte[] buffer, out byte[] senseBuffer, bool pageFormat, bool savePages, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
// Prevent overflows
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,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
// Prevent overflows
if(buffer.Length > 65535)

View File

@@ -69,7 +69,7 @@ namespace Aaru.Devices
public bool LoadUnload(out byte[] senseBuffer, bool immediate, bool load, bool retense, bool endOfTape,
bool hold, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
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,
uint objectId, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
byte[] buffer = new byte[0];
@@ -233,7 +233,7 @@ namespace Aaru.Devices
public bool Locate16(out byte[] senseBuffer, bool immediate, bool changePartition, SscLogicalIdTypes destType,
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[] buffer = new byte[0];
byte[] idBytes = BitConverter.GetBytes(identifier);
@@ -317,7 +317,7 @@ namespace Aaru.Devices
{
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.Read6;
@@ -417,7 +417,7 @@ namespace Aaru.Devices
{
buffer = fixedLen ? new byte[objectSize * transferLen] : new byte[transferLen];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] idBytes = BitConverter.GetBytes(objectId);
cdb[0] = (byte)ScsiCommands.Read16;
@@ -460,7 +460,7 @@ namespace Aaru.Devices
{
buffer = new byte[6];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ReadBlockLimits;
@@ -548,7 +548,7 @@ namespace Aaru.Devices
}
byte[] cdb = new byte[10];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ReadPosition;
cdb[1] = (byte)((byte)responseForm & 0x1F);
@@ -614,7 +614,7 @@ namespace Aaru.Devices
{
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ReadReverse;
@@ -721,7 +721,7 @@ namespace Aaru.Devices
{
buffer = fixedLen ? new byte[objectSize * transferLen] : new byte[transferLen];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] idBytes = BitConverter.GetBytes(objectId);
cdb[0] = (byte)ScsiCommands.Read16;
@@ -802,7 +802,7 @@ namespace Aaru.Devices
{
buffer = fixedLen ? new byte[blockSize * transferLen] : new byte[transferLen];
byte[] cdb = new byte[6];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.RecoverBufferedData;
@@ -857,7 +857,7 @@ namespace Aaru.Devices
{
buffer = new byte[256];
byte[] cdb = new byte[10];
senseBuffer = new byte[32];
senseBuffer = new byte[64];
cdb[0] = (byte)ScsiCommands.ReportDensitySupport;
@@ -882,7 +882,7 @@ namespace Aaru.Devices
buffer = new byte[availableLength];
cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8);
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,
out sense);
@@ -908,7 +908,7 @@ namespace Aaru.Devices
/// <param name="duration">Duration.</param>
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[] buffer = new byte[0];
@@ -935,7 +935,7 @@ namespace Aaru.Devices
/// <param name="duration">Duration.</param>
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[] 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)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
byte[] buffer = new byte[0];
byte[] countB = BitConverter.GetBytes(count);

View File

@@ -74,7 +74,7 @@ namespace Aaru.Devices
public bool SyQuestRead6(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize,
byte transferLength, bool inhibitDma, bool readLong, uint timeout, out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[6];
bool sense;
@@ -151,7 +151,7 @@ namespace Aaru.Devices
ushort transferLength, bool inhibitDma, bool readLong, uint timeout,
out double duration)
{
senseBuffer = new byte[32];
senseBuffer = new byte[64];
byte[] cdb = new byte[10];
bool sense;

View File

@@ -66,7 +66,7 @@ namespace Aaru.Devices.Linux
var ioHdr = new SgIoHdrT();
senseBuffer = new byte[32];
senseBuffer = new byte[64];
ioHdr.interface_id = 'S';
ioHdr.cmd_len = (byte)cdb.Length;

View File

@@ -105,7 +105,7 @@ namespace Aaru.Devices.Windows
sense |= sptdSb.sptd.ScsiStatus != 0;
senseBuffer = new byte[32];
senseBuffer = new byte[64];
Array.Copy(sptdSb.SenseBuf, senseBuffer, 32);
duration = (end - start).TotalMilliseconds;