// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : Enums.cs // Author(s) : Natalia Portillo // // Component : Device structures decoders. // // --[ Description ] ---------------------------------------------------------- // // Contains PCMCIA 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-2021 Natalia Portillo // ****************************************************************************/ using System.Diagnostics.CodeAnalysis; namespace Aaru.Decoders.PCMCIA { /// Tuple codes. [SuppressMessage("ReSharper", "InconsistentNaming")] public enum TupleCodes : byte { /// Checksum control CISTPL_CHECKSUM = 0x10, /// End-of-chain CISTPL_END = 0xFF, /// Indirect access PC Card memory CISTPL_INDIRECT = 0x03, /// Link-target-control CISTPL_LINKTARGET = 0x13, /// Longlink to attribute memory CISTPL_LONGLINK_A = 0x11, /// Longlink to common memory CISTPL_LONGLINK_C = 0x12, /// Longlink to next chain on a Cardbus PC Card CISTPL_LONGLINK_CB = 0x02, /// Longlink to function specific chains CISTPL_LONGLINK_MFC = 0x06, /// No-link to common memory CISTPL_NO_LINK = 0x14, /// Null tuple CISTPL_NULL = 0x00, /// Alternate language string CISTPL_ALTSTR = 0x16, /// Common memory device information CISTPL_DEVICE = 0x01, /// Attribute memory device information CISTPL_DEVICE_A = 0x17, /// Other operating conditions information for attribute memory CISTPL_DEVICE_OA = 0x1D, /// Other operating conditions information for common memory CISTPL_DEVICE_OC = 0x1C, /// Device geometry information for common memory CISTPL_DEVICEGEO = 0x1E, /// Device geometry information for attribute memory CISTPL_DEVICEGEO_A = 0x1F, /// Extended common memory device information CISTPL_EXTDEVIC = 0x09, /// Function extensions CISTPL_FUNCE = 0x22, /// Function class identification CISTPL_FUNCID = 0x21, /// JEDEC programming information for attribute memory CISTPL_JEDEC_A = 0x19, /// JEDEC programming information for common memory CISTPL_JEDEC_C = 0x18, /// Manufacturer identification string CISTPL_MANFID = 0x20, /// Level 1 version/product information CISTPL_VERS_1 = 0x15, /// BAR for a CardBus PC Card CISTPL_BAR = 0x07, /// Configuration-table-entry CISTPL_CFTABLE_ENTRY = 0x1B, /// Configuration-table-entry for a CardBus PC Card CISTPL_CFTABLE_ENTRY_CB = 0x05, /// Configuration tuple for a 16-bit PC Card CISTPL_CONFIG = 0x1A, /// Configuration tuple for a CardBus PC Card CISTPL_CONFIG_CB = 0x04, /// Function state save/restore definition CISTPL_PWR_MGMNT = 0x08, /// Battery replacement date CISTPL_BATTERY = 0x45, /// Card initialization date CISTPL_DATE = 0x44, /// Level 2 version/product information CISTPL_VERS_2 = 0x40, /// Byte ordering for disk-like partitions CISTPL_BYTEORDER = 0x43, /// Data recording format for common memory CISTPL_FORMAT = 0x41, /// Data recording format for attribute memory CISTPL_FORMAT_A = 0x47, /// Partition geometry CISTPL_GEOMETRY = 0x42, /// Software interleaving CISTPL_SWIL = 0x23, /// Partition organization CISTPL_ORG = 0x46, /// Special purpose CISTPL_SPCL = 0x90 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum DeviceTypeCodes : byte { /// No device, used to designate a hole DTYPE_NULL = 0, /// Masked ROM DTYPE_ROM = 1, /// One-type-programmable ROM DTYPE_OTPROM = 2, /// UV-Erasable Programmable ROM DTYPE_EPROM = 3, /// Electronically-Erasable Programmable ROM DTYPE_EEPROM = 4, /// Flash memory DTYPE_FLASH = 5, /// Static RAM DTYPE_SRAM = 6, /// Dynamic RAM DTYPE_DRAM = 7, /// Function-specific memory address range DTYPE_FUNCSPEC = 13, /// Extended type follows DTYPE_EXTEND = 14 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum DeviceSpeedCodes : byte { /// No device DSPEED_NULL = 0, /// 250 ns DSPEED_250NS = 1, /// 200 ns DSPEED_200NS = 2, /// 150 ns DSPEED_150NS = 3, /// 100 ns DSPEED_100NS = 4, /// Extended speed follows DSPEED_EXT = 7 } [SuppressMessage("ReSharper", "InconsistentNaming")] public enum FunctionCodes : byte { MultiFunction = 0x00, Memory = 0x01, Serial = 0x02, Parallel = 0x03, FixedDisk = 0x04, Video = 0x05, Network = 0x06, AIMS = 0x07, SCSI = 0x08, Security = 0x09, Instrument = 0x0A, HighSpeedSerial = 0x0B, VendorSpecific = 0xFE } }