using System; namespace SabreTools.Library.Data { #region DatFile related /// /// DAT output formats /// [Flags] public enum DatFormat { #region XML Formats /// /// Logiqx XML (using machine) /// Logiqx = 1 << 0, /// /// Logiqx XML (using game) /// LogiqxDeprecated = 1 << 1, /// /// MAME Softare List XML /// SoftwareList = 1 << 2, /// /// MAME Listxml output /// Listxml = 1 << 3, /// /// OfflineList XML /// OfflineList = 1 << 4, /// /// SabreDat XML /// SabreDat = 1 << 5, /// /// openMSX Software List XML /// OpenMSX = 1 << 6, #endregion #region Propietary Formats /// /// ClrMamePro custom /// ClrMamePro = 1 << 7, /// /// RomCetner INI-based /// RomCenter = 1 << 8, /// /// DOSCenter custom /// DOSCenter = 1 << 9, /// /// AttractMode custom /// AttractMode = 1 << 10, #endregion #region Standardized Text Formats /// /// ClrMamePro missfile /// MissFile = 1 << 11, /// /// Comma-Separated Values (standardized) /// CSV = 1 << 12, /// /// Semicolon-Separated Values (standardized) /// SSV = 1 << 13, /// /// Tab-Separated Values (standardized) /// TSV = 1 << 14, /// /// MAME Listrom output /// Listrom = 1 << 15, /// /// Everdrive Packs SMDB /// EverdriveSMDB = 1 << 16, /// /// JSON /// Json = 1 << 17, #endregion #region SFV-similar Formats /// /// CRC32 hash list /// RedumpSFV = 1 << 18, /// /// MD5 hash list /// RedumpMD5 = 1 << 19, #if NET_FRAMEWORK /// /// RIPEMD160 hash list /// RedumpRIPEMD160 = 1 << 20, #endif /// /// SHA-1 hash list /// RedumpSHA1 = 1 << 21, /// /// SHA-256 hash list /// RedumpSHA256 = 1 << 22, /// /// SHA-384 hash list /// RedumpSHA384 = 1 << 23, /// /// SHA-512 hash list /// RedumpSHA512 = 1 << 24, #endregion // Specialty combinations ALL = Int32.MaxValue, } /// /// Available hashing types /// [Flags] public enum Hash { CRC = 1 << 0, MD5 = 1 << 1, #if NET_FRAMEWORK RIPEMD160 = 1 << 2, #endif SHA1 = 1 << 3, SHA256 = 1 << 4, SHA384 = 1 << 5, SHA512 = 1 << 6, // Special combinations Standard = CRC | MD5 | SHA1, #if NET_FRAMEWORK DeepHashes = RIPEMD160 | SHA256 | SHA384 | SHA512, SecureHashes = MD5 | RIPEMD160 | SHA1 | SHA256 | SHA384 | SHA512, #else DeepHashes = SHA256 | SHA384 | SHA512, SecureHashes = MD5 | SHA1 | SHA256 | SHA384 | SHA512, #endif } /// /// Determine which format to output Stats to /// [Flags] public enum StatReportFormat { /// /// Only output to the console /// None = 0x00, /// /// Console-formatted /// Textfile = 1 << 0, /// /// ClrMamePro HTML /// HTML = 1 << 1, /// /// Comma-Separated Values (Standardized) /// CSV = 1 << 2, /// /// Semicolon-Separated Values (Standardized) /// SSV = 1 << 3, /// /// Tab-Separated Values (Standardized) /// TSV = 1 << 4, All = Int32.MaxValue, } #endregion #region DatItem related /// /// Determines which type of duplicate a file is /// [Flags] public enum DupeType { // Type of match Hash = 1 << 0, All = 1 << 1, // Location of match Internal = 1 << 2, External = 1 << 3, } /// /// Determine the status of the item /// [Flags] public enum ItemStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0x00, None = 1 << 0, Good = 1 << 1, BadDump = 1 << 2, Nodump = 1 << 3, Verified = 1 << 4, } /// /// Determine what type of machine it is /// [Flags] public enum MachineType { /// /// This is a fake flag that is used for filter only /// NULL = 0x00, None = 1 << 0, Bios = 1 << 1, Device = 1 << 2, Mechanical = 1 << 3, } #endregion }