// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // // Filename : Enums.cs // Author(s) : Natalia Portillo // // Component : Disc image plugins. // // --[ Description ] ---------------------------------------------------------- // // Defines enumerations to be used by disc image plugins. // // --[ 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-2018 Natalia Portillo // ****************************************************************************/ using System; namespace DiscImageChef.CommonTypes.Enums { /// /// Track (as partitioning element) types. /// public enum TrackType : byte { /// Audio track Audio = 0, /// Data track (not any of the below defined ones) Data = 1, /// Data track, compact disc mode 1 CdMode1 = 2, /// Data track, compact disc mode 2, formless CdMode2Formless = 3, /// Data track, compact disc mode 2, form 1 CdMode2Form1 = 4, /// Data track, compact disc mode 2, form 2 CdMode2Form2 = 5 } /// /// Type of subchannel in track /// public enum TrackSubchannelType { /// /// Track does not has subchannel dumped, or it's not a CD /// None, /// /// Subchannel is packed and error corrected /// Packed, /// /// Subchannel is interleaved /// Raw, /// /// Subchannel is packed and comes interleaved with main channel in same file /// PackedInterleaved, /// /// Subchannel is interleaved and comes interleaved with main channel in same file /// RawInterleaved, /// /// Only Q subchannel is stored as 16 bytes /// Q16, /// /// Only Q subchannel is stored as 16 bytes and comes interleaved with main channel in same file /// Q16Interleaved } /// /// Metadata present for each sector (aka, "tag"). /// public enum SectorTagType { /// Apple's GCR sector tags, 12 bytes AppleSectorTag, /// Sync frame from CD sector, 12 bytes CdSectorSync, /// CD sector header, 4 bytes CdSectorHeader, /// CD mode 2 sector subheader CdSectorSubHeader, /// CD sector EDC, 4 bytes CdSectorEdc, /// CD sector ECC P, 172 bytes CdSectorEccP, /// CD sector ECC Q, 104 bytes CdSectorEccQ, /// CD sector ECC (P and Q), 276 bytes CdSectorEcc, /// CD sector subchannel, 96 bytes CdSectorSubchannel, /// CD track ISRC, string, 12 bytes CdTrackIsrc, /// CD track text, string, 13 bytes CdTrackText, /// CD track flags, 1 byte CdTrackFlags, /// DVD sector copyright information DvdCmi, /// Floppy address mark (contents depend on underlying floppy format) FloppyAddressMark } /// /// Metadata present for each media. /// public enum MediaTagType { /// CD table of contents CD_TOC, /// CD session information CD_SessionInfo, /// CD full table of contents CD_FullTOC, /// CD PMA CD_PMA, /// CD Adress-Time-In-Pregroove CD_ATIP, /// CD-Text CD_TEXT, /// CD Media Catalogue Number CD_MCN, /// DVD/HD DVD Physical Format Information DVD_PFI, /// DVD Lead-in Copyright Management Information DVD_CMI, /// DVD disc key DVD_DiscKey, /// DVD/HD DVD Burst Cutting Area DVD_BCA, /// DVD/HD DVD Lead-in Disc Manufacturer Information DVD_DMI, /// Media identifier DVD_MediaIdentifier, /// Media key block DVD_MKB, /// DVD-RAM/HD DVD-RAM DDS information DVDRAM_DDS, /// DVD-RAM/HD DVD-RAM Medium status DVDRAM_MediumStatus, /// DVD-RAM/HD DVD-RAM Spare area information DVDRAM_SpareArea, /// DVD-R/-RW/HD DVD-R RMD in last border-out DVDR_RMD, /// Pre-recorded information from DVD-R/-RW lead-in DVDR_PreRecordedInfo, /// DVD-R/-RW/HD DVD-R media identifier DVDR_MediaIdentifier, /// DVD-R/-RW/HD DVD-R physical format information DVDR_PFI, /// ADIP information DVD_ADIP, /// HD DVD Lead-in copyright protection information HDDVD_CPI, /// HD DVD-R Medium Status HDDVD_MediumStatus, /// DVD+/-R DL Layer capacity DVDDL_LayerCapacity, /// DVD-R DL Middle Zone start address DVDDL_MiddleZoneAddress, /// DVD-R DL Jump Interval Size DVDDL_JumpIntervalSize, /// DVD-R DL Start LBA of the manual layer jump DVDDL_ManualLayerJumpLBA, /// Blu-ray Disc Information BD_DI, /// Blu-ray Burst Cutting Area BD_BCA, /// Blu-ray Disc Definition Structure BD_DDS, /// Blu-ray Cartridge Status BD_CartridgeStatus, /// Blu-ray Status of Spare Area BD_SpareArea, /// AACS volume identifier AACS_VolumeIdentifier, /// AACS pre-recorded media serial number AACS_SerialNumber, /// AACS media identifier AACS_MediaIdentifier, /// Lead-in AACS media key block AACS_MKB, /// AACS data keys AACS_DataKeys, /// LBA extents flagged for bus encryption by AACS AACS_LBAExtents, /// CPRM media key block in Lead-in AACS_CPRM_MKB, /// Recognized layer formats in hybrid discs Hybrid_RecognizedLayers, /// Disc write protection status MMC_WriteProtection, /// Disc standard information MMC_DiscInformation, /// Disc track resources information MMC_TrackResourcesInformation, /// BD-R Pseudo-overwrite information MMC_POWResourcesInformation, /// SCSI INQUIRY response SCSI_INQUIRY, /// SCSI MODE PAGE 2Ah SCSI_MODEPAGE_2A, /// ATA IDENTIFY DEVICE response ATA_IDENTIFY, /// ATA IDENTIFY PACKET DEVICE response ATAPI_IDENTIFY, /// PCMCIA/CardBus Card Information Structure PCMCIA_CIS, /// SecureDigital CID SD_CID, /// SecureDigital CSD SD_CSD, /// SecureDigital SCR SD_SCR, /// SecureDigital OCR SD_OCR, /// MultiMediaCard CID MMC_CID, /// MultiMediaCard CSD MMC_CSD, /// MultiMediaCard OCR MMC_OCR, /// MultiMediaCard Extended CSD MMC_ExtendedCSD, /// Xbox Security Sector Xbox_SecuritySector, /// /// On floppy disks, data in last cylinder usually in a different format that contains duplication or /// manufacturing information /// Floppy_LeadOut, /// DVD Disc Control Blocks DCB, /// Compact Disc Lead-in CD_LeadIn, /// Compact Disc Lead-out CD_LeadOut, /// SCSI MODE SENSE (6) SCSI_MODESENSE_6, /// SCSI MODE SENSE (10) SCSI_MODESENSE_10, /// USB descriptors USB_Descriptors, /// XGD unlocked DMI Xbox_DMI, /// XDG unlocked PFI Xbox_PFI } /// /// Enumeration of media types defined in CICM metadata /// public enum XmlMediaType { /// /// Purely optical discs /// OpticalDisc, /// /// Media that is physically block-based or abstracted like that /// BlockMedia, /// /// Media that can be accessed by-byte or by-bit, like chips /// LinearMedia, /// /// Media that can only store data when it is modulated to audio /// AudioMedia } /// CD flags bitmask [Flags] public enum CdFlags : byte { /// Track is quadraphonic. FourChannel = 0x08, /// Track is non-audio (data). DataTrack = 0x04, /// Track is copy protected. CopyPermitted = 0x02, /// Track has pre-emphasis. PreEmphasis = 0x01 } /// Status of a requested floppy sector [Flags] public enum FloppySectorStatus : byte { /// Both address mark and data checksums are correct. Correct = 0x01, /// Data checksum is incorrect. DataError = 0x02, /// Addres mark checksum is incorrect. AddressMarkError = 0x04, /// There is another sector in the same track/head with same sector id. Duplicated = 0x08, /// Sector data section is not magnetized. Demagnetized = 0x10, /// Sector data section has a physically visible hole. Hole = 0x20, /// There is no address mark containing the requested sector id in the track/head. NotFound = 0x40 } public enum FloppyTypes : byte { /// 8" floppy Floppy, /// 5.25" floppy MiniFloppy, /// 3.5" floppy MicroFloppy, /// 3" floppy CompactFloppy, /// 5.25" twiggy FileWare, /// 2.5" quickdisk QuickDisk } public enum FloppyDensities : byte { /// Standard coercitivity (about 300Oe as found in 8" and 5.25"-double-density disks). Standard, /// Double density coercitivity (about 600Oe as found in 5.25" HD and 3.5" DD disks). Double, /// High density coercitivity (about 700Oe as found in 3.5" HD disks). High, /// Extended density coercitivity (about 750Oe as found in 3.5" ED disks). Extended } }