mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Added SASI commands.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2015-10-05 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* Enums.cs:
|
||||||
|
Added SASI commands.
|
||||||
|
|
||||||
2015-10-05 Natalia Portillo <claunia@claunia.com>
|
2015-10-05 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* Enums.cs:
|
* Enums.cs:
|
||||||
|
|||||||
@@ -2,12 +2,351 @@
|
|||||||
|
|
||||||
namespace DiscImageChef.Devices
|
namespace DiscImageChef.Devices
|
||||||
{
|
{
|
||||||
public class Enums
|
public static class Enums
|
||||||
{
|
{
|
||||||
public enum ScsiCommands : byte
|
/// <summary>
|
||||||
|
/// SASI commands
|
||||||
|
/// Commands 0x00 to 0x1F are 6-byte
|
||||||
|
/// Commands 0x20 to 0x3F are 10-byte
|
||||||
|
/// Commands 0x40 to 0x5F are 8-byte
|
||||||
|
/// </summary>
|
||||||
|
#region SASI Commands
|
||||||
|
public enum SasiCommands : byte
|
||||||
{
|
{
|
||||||
Inquiry = 0x12
|
#region SASI Class 0 commands
|
||||||
|
/// <summary>
|
||||||
|
/// Returns zero status if requested unit is on and ready.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
TestUnitReady = 0x00,
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the unit to a specific known state.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
RezeroUnit = 0x01,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
RequestSyndrome = 0x02,
|
||||||
|
/// <summary>
|
||||||
|
/// Returns unit sense.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
RequestSense = 0x03,
|
||||||
|
/// <summary>
|
||||||
|
/// Formats the entire media.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
FormatUnit = 0x04,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
CheckTrackFormat = 0x05,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
FormatTrack = 0x06,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
FormatBadTrack = 0x06,
|
||||||
|
/// <summary>
|
||||||
|
/// Reads a block from the device.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Read = 0x08,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
WriteProtectSector = 0x09,
|
||||||
|
/// <summary>
|
||||||
|
/// Writes a block to the device.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Write = 0x0A,
|
||||||
|
/// <summary>
|
||||||
|
/// Moves the device reading mechanism to the specified block.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Seek = 0x0B,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
VerifyRestore = 0x0D,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
AssignAlternateDiskTrack = 0x0E,
|
||||||
|
/// <summary>
|
||||||
|
/// Writes a File Mark on the device.
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
WriteFileMark = 0x0F,
|
||||||
|
/// <summary>
|
||||||
|
/// Reserves the device for use by the iniator.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReserveUnit = 0x12,
|
||||||
|
/// <summary>
|
||||||
|
/// Release the device from the reservation.
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReleaseUnit= 0x13,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteProtectDrive = 0x14,
|
||||||
|
/// <summary>
|
||||||
|
/// Writes and verifies blocks to the device.
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
WriteVerify = 0x14,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReleaseWriteProtect = 0x15,
|
||||||
|
/// <summary>
|
||||||
|
/// Verifies blocks.
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
Verify = 0x15,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadNoSeek = 0x16,
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the number of blocks in device.
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
ReadCapacity = 0x16,
|
||||||
|
/// <summary>
|
||||||
|
/// Searches data on blocks
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SearchDataEqual = 0x17,
|
||||||
|
/// <summary>
|
||||||
|
/// Searches data on blocks using major than or equal comparison
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SearchDataHigh = 0x18,
|
||||||
|
/// <summary>
|
||||||
|
/// Searches data on blocks using minor than or equal comparison
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SearchDataLow = 0x19,
|
||||||
|
/// <summary>
|
||||||
|
/// Reads analysis data from a device
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadDiagnostic = 0x1A,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
VerifyData = 0x1B,
|
||||||
|
/// <summary>
|
||||||
|
/// Requests a device to run a diagnostic
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
WriteDiagnostic = 0x1B,
|
||||||
|
/// <summary>
|
||||||
|
/// Gets information about a device
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
Inquiry = 0x1F,
|
||||||
|
#endregion SASI Class 0 commands
|
||||||
|
|
||||||
|
#region SASI Class 1 commands
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
Copy = 0x20,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
Restore = 0x21,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
Backup = 0x22,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
SetBlockLimitsOld = 0x26,
|
||||||
|
/// <summary>
|
||||||
|
/// Sets write or read limits from a specified block
|
||||||
|
/// SASI 0c
|
||||||
|
/// </summary>
|
||||||
|
SetBlockLimits = 0x28,
|
||||||
|
#endregion SASI Class 1 commands
|
||||||
|
|
||||||
|
#region SASI Class 2 commands
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Load = 0x40,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Unload = 0x41,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Rewind = 0x42,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SpaceForward = 0x43,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SpaceForwardFileMark = 0x44,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SpaceReserve = 0x45,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
SpaceReserveFileMark = 0x46,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
TrackSelect = 0x47,
|
||||||
|
/// <summary>
|
||||||
|
/// Reads blocks from device
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Read10 = 0x48,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadVerify = 0x49,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadDiagnosticClass2 = 0x4A,
|
||||||
|
/// <summary>
|
||||||
|
/// Writes blocks to device
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Write10 = 0x4B,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteFileMarkClass2 = 0x4C,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteExtended = 0x4D,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteExtendedFileMark = 0x4E,
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteErase = 0x4F,
|
||||||
|
#endregion SASI Class 2 commands
|
||||||
|
|
||||||
|
#region SASI Class 3 commands
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Skip = 0x60,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Space = 0x61,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Return = 0x62,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Tab = 0x63,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadControl = 0x64,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
Write3 = 0x65,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteControl = 0x66,
|
||||||
|
#endregion SASI Class 3 commands
|
||||||
|
|
||||||
|
#region SASI Class 6 commands
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
DefineFloppyDiskTracFormat = 0xC0,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
FormatDriveErrorMap = 0xC4,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadErrorMap = 0xC5,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadDriveType = 0xC6,
|
||||||
|
#endregion SASI Class 6 commands
|
||||||
|
|
||||||
|
#region SASI Class 7 commands
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
RamDiagnostic = 0xE0,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
WriteECC = 0xE1,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
ReadID = 0xE2,
|
||||||
|
/// <summary>
|
||||||
|
/// SASI 0a
|
||||||
|
/// </summary>
|
||||||
|
DriveDiagnostic = 0xE3
|
||||||
|
#endregion SASI Class 7 commands
|
||||||
}
|
}
|
||||||
|
#endregion SASI Commands
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user