// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // // Filename : Enums.cs // Author(s) : Natalia Portillo // // Component : Device structures decoders. // // --[ Description ] ---------------------------------------------------------- // // Contains various SCSI enumerations. // // --[ License ] -------------------------------------------------------------- // // This library is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 2.1 of the // License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, see . // // ---------------------------------------------------------------------------- // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ using System.Diagnostics.CodeAnalysis; namespace DiscImageChef.Decoders.SCSI { public enum PeripheralQualifiers : byte { /// /// Peripheral qualifier: Device is connected and supported /// Supported = 0x00, /// /// Peripheral qualifier: Device is supported but not connected /// Unconnected = 0x01, /// /// Peripheral qualifier: Reserved value /// Reserved = 0x02, /// /// Peripheral qualifier: Device is connected but unsupported /// Unsupported = 0x03, /// /// Peripheral qualifier: Vendor values: 0x04, 0x05, 0x06 and 0x07 /// VendorMask = 0x04 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum PeripheralDeviceTypes : byte { /// /// Direct-access device /// DirectAccess = 0x00, /// /// Sequential-access device /// SequentialAccess = 0x01, /// /// Printer device /// PrinterDevice = 0x02, /// /// Processor device /// ProcessorDevice = 0x03, /// /// Write-once device /// WriteOnceDevice = 0x04, /// /// CD-ROM/DVD/etc device /// MultiMediaDevice = 0x05, /// /// Scanner device /// ScannerDevice = 0x06, /// /// Optical memory device /// OpticalDevice = 0x07, /// /// Medium change device /// MediumChangerDevice = 0x08, /// /// Communications device /// CommsDevice = 0x09, /// /// Graphics arts pre-press device (defined in ASC IT8) /// PrePressDevice1 = 0x0A, /// /// Graphics arts pre-press device (defined in ASC IT8) /// PrePressDevice2 = 0x0B, /// /// Array controller device /// ArrayControllerDevice = 0x0C, /// /// Enclosure services device /// EnclosureServiceDevice = 0x0D, /// /// Simplified direct-access device /// SimplifiedDevice = 0x0E, /// /// Optical card reader/writer device /// OCRWDevice = 0x0F, /// /// Bridging Expanders /// BridgingExpander = 0x10, /// /// Object-based Storage Device /// ObjectDevice = 0x11, /// /// Automation/Drive Interface /// ADCDevice = 0x12, /// /// Security Manager Device /// SCSISecurityManagerDevice = 0x13, /// /// Host managed zoned block device /// SCSIZonedBlockDevice = 0x14, /// /// Well known logical unit /// WellKnownDevice = 0x1E, /// /// Unknown or no device type /// UnknownDevice = 0x1F } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum ANSIVersions : byte { /// /// Device does not claim conformance to any ANSI version /// ANSINoVersion = 0x00, /// /// Device complies with ANSI X3.131:1986 /// ANSI1986Version = 0x01, /// /// Device complies with ANSI X3.131:1994 /// ANSI1994Version = 0x02, /// /// Device complies with ANSI X3.301:1997 /// ANSI1997Version = 0x03, /// /// Device complies with ANSI X3.351:2001 /// ANSI2001Version = 0x04, /// /// Device complies with ANSI X3.408:2005. /// ANSI2005Version = 0x05, /// /// Device complies with SPC-4 /// ANSI2008Version = 0x06 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum ECMAVersions : byte { /// /// Device does not claim conformance to any ECMA version /// ECMANoVersion = 0x00, /// /// Device complies with a ECMA-111 standard /// ECMA111 = 0x01 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum ISOVersions : byte { /// /// Device does not claim conformance to any ISO/IEC version /// ISONoVersion = 0x00, /// /// Device complies with ISO/IEC 9316:1995 /// ISO1995Version = 0x02 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum SPIClocking : byte { /// /// Supports only ST /// ST = 0x00, /// /// Supports only DT /// DT = 0x01, /// /// Reserved value /// Reserved = 0x02, /// /// Supports ST and DT /// STandDT = 0x03 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum TGPSValues : byte { /// /// Assymetrical access not supported /// NotSupported = 0x00, /// /// Only implicit assymetrical access is supported /// OnlyImplicit = 0x01, /// /// Only explicit assymetrical access is supported /// OnlyExplicit = 0x02, /// /// Both implicit and explicit assymetrical access are supported /// Both = 0x03 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum ProtocolIdentifiers : byte { /// /// Fibre Channel /// FibreChannel = 0, /// /// Parallel SCSI /// SCSI = 1, /// /// SSA /// SSA = 2, /// /// IEEE-1394 /// Firewire = 3, /// /// SCSI Remote Direct Memory Access Protocol /// RDMAP = 4, /// /// Internet SCSI /// iSCSI = 5, /// /// Serial SCSI /// SAS = 6, /// /// Automation/Drive Interface Transport Protocol /// ADT = 7, /// /// AT Attachment Interface (ATA/ATAPI) /// ATA = 8, /// /// USB Attached SCSI /// UAS = 9, /// /// SCSI over PCI Express /// SCSIe = 10, /// /// PCI Express /// PCIe = 11, /// /// No specific protocol /// NoProtocol = 15 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum ScsiDefinitions : byte { Current = 0, SCSI1 = 1, CCS = 2, SCSI2 = 3, SCSI3 = 4 } }