mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Added information from ANSI X3T9.3 No. 185 (SASI)
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2015-10-24 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* Enums.cs:
|
||||||
|
Added information from ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
|
||||||
2015-10-23 Natalia Portillo <claunia@claunia.com>
|
2015-10-23 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* Enums.cs:
|
* Enums.cs:
|
||||||
|
|||||||
@@ -914,6 +914,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Commands 0x00 to 0x1F are 6-byte
|
/// Commands 0x00 to 0x1F are 6-byte
|
||||||
/// Commands 0x20 to 0x3F are 10-byte
|
/// Commands 0x20 to 0x3F are 10-byte
|
||||||
/// Commands 0x40 to 0x5F are 8-byte
|
/// Commands 0x40 to 0x5F are 8-byte
|
||||||
|
/// Commands 0xA0 to 0xBF are 12-byte
|
||||||
/// </summary>
|
/// </summary>
|
||||||
#region SASI Commands
|
#region SASI Commands
|
||||||
public enum SasiCommands : byte
|
public enum SasiCommands : byte
|
||||||
@@ -981,6 +982,10 @@ namespace DiscImageChef.Devices
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Seek = 0x0B,
|
Seek = 0x0B,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Found on a vendor source code
|
||||||
|
/// </summary>
|
||||||
|
InitDriveCharacteristics = 0x0C,
|
||||||
|
/// <summary>
|
||||||
/// Unknown
|
/// Unknown
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -999,12 +1004,17 @@ namespace DiscImageChef.Devices
|
|||||||
/// Reserves the device for use by the iniator.
|
/// Reserves the device for use by the iniator.
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ReserveUnit = 0x12,
|
ReserveUnitOld = 0x12,
|
||||||
|
/// <summary>
|
||||||
|
/// Gets information about a device
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
Inquiry = 0x12,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Release the device from the reservation.
|
/// Release the device from the reservation.
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ReleaseUnit = 0x13,
|
ReleaseUnitOld = 0x13,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unknown
|
/// Unknown
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
@@ -1014,7 +1024,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Writes and verifies blocks to the device.
|
/// Writes and verifies blocks to the device.
|
||||||
/// SASI rev. 0c
|
/// SASI rev. 0c
|
||||||
/// </summary>
|
/// </summary>
|
||||||
WriteVerify = 0x14,
|
WriteAndVerifyOld = 0x14,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unknown
|
/// Unknown
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
@@ -1024,7 +1034,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Verifies blocks.
|
/// Verifies blocks.
|
||||||
/// SASI rev. 0c
|
/// SASI rev. 0c
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Verify = 0x15,
|
VerifyOld = 0x15,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unknown
|
/// Unknown
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
@@ -1034,27 +1044,37 @@ namespace DiscImageChef.Devices
|
|||||||
/// Gets the number of blocks in device.
|
/// Gets the number of blocks in device.
|
||||||
/// SASI rev. 0c
|
/// SASI rev. 0c
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ReadCapacity = 0x16,
|
ReadCapacityOld = 0x16,
|
||||||
|
/// <summary>
|
||||||
|
/// Reserves the device for use by the iniator.
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
ReserveUnit = 0x16,
|
||||||
|
/// <summary>
|
||||||
|
/// Release the device from the reservation.
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
ReleaseUnit = 0x17,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches data on blocks
|
/// Searches data on blocks
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SearchDataEqual = 0x17,
|
SearchDataEqualOld = 0x17,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches data on blocks using major than or equal comparison
|
/// Searches data on blocks using major than or equal comparison
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SearchDataHigh = 0x18,
|
SearchDataHighOld = 0x18,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches data on blocks using minor than or equal comparison
|
/// Searches data on blocks using minor than or equal comparison
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SearchDataLow = 0x19,
|
SearchDataLowOld = 0x19,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Reads analysis data from a device
|
/// Reads analysis data from a device
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ReadDiagnostic = 0x1A,
|
ReadDiagnosticOld = 0x1A,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unknown
|
/// Unknown
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
@@ -1064,12 +1084,22 @@ namespace DiscImageChef.Devices
|
|||||||
/// Requests a device to run a diagnostic
|
/// Requests a device to run a diagnostic
|
||||||
/// SASI rev. 0c
|
/// SASI rev. 0c
|
||||||
/// </summary>
|
/// </summary>
|
||||||
WriteDiagnostic = 0x1B,
|
WriteDiagnosticOld = 0x1B,
|
||||||
|
/// <summary>
|
||||||
|
/// Requests the data after completion of a <see cref="WriteDiagnostic"/>
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
ReadDiagnostic = 0x1C,
|
||||||
|
/// <summary>
|
||||||
|
/// Requests the device to perform diagnostics
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
WriteDiagnostic = 0x1D,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets information about a device
|
/// Gets information about a device
|
||||||
/// SASI rev. 0c
|
/// SASI rev. 0c
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Inquiry = 0x1F,
|
InquiryOld = 0x1F,
|
||||||
#endregion SASI Class 0 commands
|
#endregion SASI Class 0 commands
|
||||||
|
|
||||||
#region SASI Class 1 commands
|
#region SASI Class 1 commands
|
||||||
@@ -1093,12 +1123,48 @@ namespace DiscImageChef.Devices
|
|||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// Unknown
|
/// Unknown
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SetBlockLimitsOld = 0x26,
|
SetBlockLimitsOlder = 0x26,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets write or read limits from a specified block
|
/// Sets write or read limits from a specified block
|
||||||
/// SASI rev. 0c
|
/// SASI rev. 0c
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SetBlockLimits = 0x28,
|
SetBlockLimitsOld = 0x28,
|
||||||
|
/// <summary>
|
||||||
|
/// Reads blocks from device
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
ExtendedAddressRead = 0x28,
|
||||||
|
/// <summary>
|
||||||
|
/// Writes blocks to the device
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
ExtendedAddressWrite = 0x2A,
|
||||||
|
/// <summary>
|
||||||
|
/// Writes blocks to the device and then verifies them
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
WriteAndVerify = 0x2E,
|
||||||
|
/// <summary>
|
||||||
|
/// Verifies blocks on the device
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
Verify = 0x2F,
|
||||||
|
/// <summary>
|
||||||
|
/// Searches data on blocks
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
SearchDataEqual = 0x31,
|
||||||
|
/// <summary>
|
||||||
|
/// Searches data on blocks using major than or equal comparison
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
SearchDataHigh = 0x30,
|
||||||
|
/// <summary>
|
||||||
|
/// Searches data on blocks using minor than or equal comparison
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
SearchDataLow = 0x32,
|
||||||
|
|
||||||
#endregion SASI Class 1 commands
|
#endregion SASI Class 1 commands
|
||||||
|
|
||||||
#region SASI Class 2 commands
|
#region SASI Class 2 commands
|
||||||
@@ -1242,6 +1308,21 @@ namespace DiscImageChef.Devices
|
|||||||
WriteControl = 0x66,
|
WriteControl = 0x66,
|
||||||
#endregion SASI Class 3 commands
|
#endregion SASI Class 3 commands
|
||||||
|
|
||||||
|
#region SASI Class 5 commands
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the number of blocks in device.
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
ReadCapacity = 0xA5,
|
||||||
|
/// <summary>
|
||||||
|
/// Sets write or read limits from a specified block
|
||||||
|
/// ANSI X3T9.3 No. 185 (SASI)
|
||||||
|
/// </summary>
|
||||||
|
SetBlockLimits = 0xA9,
|
||||||
|
|
||||||
|
#endregion SASI Class 5 commands
|
||||||
|
|
||||||
#region SASI Class 6 commands
|
#region SASI Class 6 commands
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -1279,7 +1360,11 @@ namespace DiscImageChef.Devices
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// SASI rev. 0a
|
/// SASI rev. 0a
|
||||||
/// </summary>
|
/// </summary>
|
||||||
DriveDiagnostic = 0xE3
|
DriveDiagnostic = 0xE3,
|
||||||
|
/// <summary>
|
||||||
|
/// Found on a vendor source code
|
||||||
|
/// </summary>
|
||||||
|
ControllerDiagnostic = 0xE4,
|
||||||
|
|
||||||
#endregion SASI Class 7 commands
|
#endregion SASI Class 7 commands
|
||||||
}
|
}
|
||||||
@@ -1332,7 +1417,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Requests information about the device
|
/// Requests information about the device
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Inquiry = 0x12,
|
Inquiry = SasiCommands.Inquiry,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Manages device statistics
|
/// Manages device statistics
|
||||||
/// SCSI-2 X3T9.2/375R rev. 10l
|
/// SCSI-2 X3T9.2/375R rev. 10l
|
||||||
@@ -1412,12 +1497,12 @@ namespace DiscImageChef.Devices
|
|||||||
/// Requests the data after completion of a <see cref="SendDiagnostic"/>
|
/// Requests the data after completion of a <see cref="SendDiagnostic"/>
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ReceiveDiagnostic = 0x1C,
|
ReceiveDiagnostic = SasiCommands.ReadDiagnostic,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Releases a previously reserved LUN or extents
|
/// Releases a previously reserved LUN or extents
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Release = 0x17,
|
Release = SasiCommands.ReleaseUnit,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Releases a previously reserved LUN or extents
|
/// Releases a previously reserved LUN or extents
|
||||||
/// SPC-1 rev. 10
|
/// SPC-1 rev. 10
|
||||||
@@ -1437,7 +1522,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Reserves a LUN or extent
|
/// Reserves a LUN or extent
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Reserve = 0x16,
|
Reserve = SasiCommands.ReserveUnit,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Reserves a LUN or extent
|
/// Reserves a LUN or extent
|
||||||
/// SPC-1 rev. 10
|
/// SPC-1 rev. 10
|
||||||
@@ -1457,7 +1542,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Requests the device to perform diagnostics
|
/// Requests the device to perform diagnostics
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SendDiagnostic = 0x1D,
|
SendDiagnostic = SasiCommands.WriteDiagnostic,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extended commands
|
/// Extended commands
|
||||||
/// SPC-4
|
/// SPC-4
|
||||||
@@ -1535,7 +1620,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Reads blocks from device
|
/// Reads blocks from device
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Read10 = 0x28,
|
Read10 = SasiCommands.ExtendedAddressRead,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Reads blocks from device
|
/// Reads blocks from device
|
||||||
/// SBC-2 rev. 4
|
/// SBC-2 rev. 4
|
||||||
@@ -1580,17 +1665,17 @@ namespace DiscImageChef.Devices
|
|||||||
/// Searches data on blocks
|
/// Searches data on blocks
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SearchDataEqual = 0x31,
|
SearchDataEqual = SasiCommands.SearchDataEqual,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches data on blocks using major than or equal comparison
|
/// Searches data on blocks using major than or equal comparison
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SearchDataHigh = 0x30,
|
SearchDataHigh = SasiCommands.SearchDataHigh,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Searches data on blocks using minor than or equal comparison
|
/// Searches data on blocks using minor than or equal comparison
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
SearchDataLow = 0x32,
|
SearchDataLow = SasiCommands.SearchDataLow,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Requests the device to seek to a specified blocks
|
/// Requests the device to seek to a specified blocks
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
@@ -1631,7 +1716,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Verifies blocks on the device
|
/// Verifies blocks on the device
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Verify10 = 0x2F,
|
Verify10 = SasiCommands.Verify,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Verifies blocks on the device
|
/// Verifies blocks on the device
|
||||||
/// SBC-2 rev. 4
|
/// SBC-2 rev. 4
|
||||||
@@ -1646,7 +1731,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Writes blocks to the device
|
/// Writes blocks to the device
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Write10 = 0x2A,
|
Write10 = SasiCommands.ExtendedAddressWrite,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Writes blocks to the device
|
/// Writes blocks to the device
|
||||||
/// SBC-2 rev. 4
|
/// SBC-2 rev. 4
|
||||||
@@ -1656,7 +1741,7 @@ namespace DiscImageChef.Devices
|
|||||||
/// Writes blocks to the device and then verifies them
|
/// Writes blocks to the device and then verifies them
|
||||||
/// ECMA-111 (SCSI-1)
|
/// ECMA-111 (SCSI-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
WriteAndVerify = 0x2E,
|
WriteAndVerify = SasiCommands.WriteAndVerify,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Writes blocks to the device and then verifies them
|
/// Writes blocks to the device and then verifies them
|
||||||
/// SBC-2 rev. 4
|
/// SBC-2 rev. 4
|
||||||
|
|||||||
Reference in New Issue
Block a user