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">
|
||||
<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" />
|
||||
|
||||
Submodule Aaru.Decryption updated: b1e2fd4953...019060781b
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user