// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : Enums.cs // Author(s) : Natalia Portillo // // Component : Disk image plugins. // // --[ Description ] ---------------------------------------------------------- // // Contains enumerations for Aaru Format disk images. // // --[ 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-2023 Natalia Portillo // ****************************************************************************/ // ReSharper disable UnusedMember.Local namespace Aaru.Images; public sealed partial class AaruFormat { #region Nested type: BlockType /// List of known blocks types enum BlockType : uint { /// Block containing data DataBlock = 0x4B4C4244, /// Block containing a deduplication table DeDuplicationTable = 0x2A544444, /// Block containing the index Index = 0x58444E49, /// Block containing the index Index2 = 0x32584449, /// Block containing logical geometry GeometryBlock = 0x4D4F4547, /// Block containing metadata MetadataBlock = 0x4154454D, /// Block containing optical disc tracks TracksBlock = 0x534B5254, /// Block containing CICM XML metadata CicmBlock = 0x4D434943, /// Block containing contents checksums ChecksumBlock = 0x4D534B43, /// TODO: Block containing data position measurements DataPositionMeasurementBlock = 0x2A4D5044, /// TODO: Block containing a snapshot index SnapshotBlock = 0x50414E53, /// TODO: Block containing how to locate the parent image ParentBlock = 0x544E5250, /// Block containing an array of hardware used to create the image DumpHardwareBlock = 0x2A504D44, /// Block containing list of files for a tape image TapeFileBlock = 0x454C4654, /// Block containing list of partitions for a tape image TapePartitionBlock = 0x54425054, /// Block containing list of indexes for Compact Disc tracks CompactDiscIndexesBlock = 0x58494443, /// Block containing JSON version of Aaru Metadata AaruMetadataJsonBlock = 0x444D534A } #endregion #region Nested type: CdFixFlags enum CdFixFlags : uint { NotDumped = 0x10000000, Correct = 0x20000000, Mode2Form1Ok = 0x30000000, Mode2Form2Ok = 0x40000000, Mode2Form2NoCrc = 0x50000000 } #endregion #region Nested type: ChecksumAlgorithm enum ChecksumAlgorithm : byte { Invalid = 0, Md5 = 1, Sha1 = 2, Sha256 = 3, SpamSum = 4 } #endregion #region Nested type: CompressionType /// List of known compression types enum CompressionType : ushort { /// Not compressed None = 0, /// LZMA Lzma = 1, /// FLAC Flac = 2, /// LZMA in Claunia Subchannel Transform processed data LzmaClauniaSubchannelTransform = 3 } #endregion #region Nested type: DataType /// List of known data types enum DataType : ushort { /// No data NoData = 0, /// User data UserData = 1, /// CompactDisc partial Table of Contents CompactDiscPartialToc = 2, /// CompactDisc session information CompactDiscSessionInfo = 3, /// CompactDisc Table of Contents CompactDiscToc = 4, /// CompactDisc Power Management Area CompactDiscPma = 5, /// CompactDisc Absolute Time In Pregroove CompactDiscAtip = 6, /// CompactDisc Lead-in's CD-Text CompactDiscLeadInCdText = 7, /// DVD Physical Format Information DvdPfi = 8, /// DVD Lead-in's Copyright Management Information DvdLeadInCmi = 9, /// DVD Disc Key DvdDiscKey = 10, /// DVD Burst Cutting Area DvdBca = 11, /// DVD DMI DvdDmi = 12, /// DVD Media Identifier DvdMediaIdentifier = 13, /// DVD Media Key Block DvdMediaKeyBlock = 14, /// DVD-RAM Disc Definition Structure DvdRamDds = 15, /// DVD-RAM Medium Status DvdRamMediumStatus = 16, /// DVD-RAM Spare Area Information DvdRamSpareArea = 17, /// DVD-R RMD DvdRRmd = 18, /// DVD-R Pre-recorded Information DvdRPrerecordedInfo = 19, /// DVD-R Media Identifier DvdRMediaIdentifier = 20, /// DVD-R Physical Format Information DvdRPfi = 21, /// DVD ADress In Pregroove DvdAdip = 22, /// HD DVD Copy Protection Information HdDvdCpi = 23, /// HD DVD Medium Status HdDvdMediumStatus = 24, /// DVD DL Layer Capacity DvdDlLayerCapacity = 25, /// DVD DL Middle Zone Address DvdDlMiddleZoneAddress = 26, /// DVD DL Jump Interval Size DvdDlJumpIntervalSize = 27, /// DVD DL Manual Layer Jump LBA DvdDlManualLayerJumpLba = 28, /// Bluray Disc Information BlurayDi = 29, /// Bluray Burst Cutting Area BlurayBca = 30, /// Bluray Disc Definition Structure BlurayDds = 31, /// Bluray Cartridge Status BlurayCartridgeStatus = 32, /// Bluray Spare Area Information BluraySpareArea = 33, /// AACS Volume Identifier AacsVolumeIdentifier = 34, /// AACS Serial Number AacsSerialNumber = 35, /// AACS Media Identifier AacsMediaIdentifier = 36, /// AACS Media Key Block AacsMediaKeyBlock = 37, /// AACS Data Keys AacsDataKeys = 38, /// AACS LBA Extents AacsLbaExtents = 39, /// CPRM Media Key Block CprmMediaKeyBlock = 40, /// Recognized Layers HybridRecognizedLayers = 41, /// MMC Write Protection ScsiMmcWriteProtection = 42, /// MMC Disc Information ScsiMmcDiscInformation = 43, /// MMC Track Resources Information ScsiMmcTrackResourcesInformation = 44, /// MMC POW Resources Information ScsiMmcPowResourcesInformation = 45, /// SCSI INQUIRY RESPONSE ScsiInquiry = 46, /// SCSI MODE PAGE 2Ah ScsiModePage2A = 47, /// ATA IDENTIFY response AtaIdentify = 48, /// ATAPI IDENTIFY response AtapiIdentify = 49, /// PCMCIA CIS PcmciaCis = 50, /// SecureDigital CID SecureDigitalCid = 51, /// SecureDigital CSD SecureDigitalCsd = 52, /// SecureDigital SCR SecureDigitalScr = 53, /// SecureDigital OCR SecureDigitalOcr = 54, /// MultiMediaCard CID MultiMediaCardCid = 55, /// MultiMediaCard CSD MultiMediaCardCsd = 56, /// MultiMediaCard OCR MultiMediaCardOcr = 57, /// MultiMediaCard Extended CSD MultiMediaCardExtendedCsd = 58, /// Xbox Security Sector XboxSecuritySector = 59, /// Floppy Lead-out FloppyLeadOut = 60, /// Dvd Disc Control Block DvdDiscControlBlock = 61, /// CompactDisc First track pregap CompactDiscFirstTrackPregap = 62, /// CompactDisc Lead-out CompactDiscLeadOut = 63, /// SCSI MODE SENSE (6) response ScsiModeSense6 = 64, /// SCSI MODE SENSE (10) response ScsiModeSense10 = 65, /// USB descriptors UsbDescriptors = 66, /// Xbox DMI XboxDmi = 67, /// Xbox Physical Format Information XboxPfi = 68, /// CompactDisc sector prefix (sync, header CdSectorPrefix = 69, /// CompactDisc sector suffix (edc, ecc p, ecc q) CdSectorSuffix = 70, /// CompactDisc subchannel CdSectorSubchannel = 71, /// Apple Profile (20 byte) tag AppleProfileTag = 72, /// Apple Sony (12 byte) tag AppleSonyTag = 73, /// Priam Data Tower (24 byte) tag PriamDataTowerTag = 74, /// CompactDisc Media Catalogue Number (as in Lead-in), 13 bytes, ASCII CompactDiscMediaCatalogueNumber = 75, /// CompactDisc sector prefix (sync, header), only incorrect stored CdSectorPrefixCorrected = 76, /// CompactDisc sector suffix (edc, ecc p, ecc q), only incorrect stored CdSectorSuffixCorrected = 77, /// CompactDisc MODE 2 subheader CompactDiscMode2Subheader = 78, /// CompactDisc Lead-in CompactDiscLeadIn = 79, /// Decrypted DVD Disc Key DvdDiscKeyDecrypted = 80, /// DVD Copyright Management Information (CPR_MAI) DvdSectorCprMai = 81, /// Decrypted DVD Title Key DvdSectorTitleKeyDecrypted = 82, /// DVD Identification Data (ID) DvdSectorId = 83, /// DVD ID Error Detection Code (IED) DvdSectorIed = 84, /// DVD Error Detection Code (EDC) DvdSectorEdc = 85 } #endregion }