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