mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
Enhance documentation for enums with detailed descriptions and formatting improvements
This commit is contained in:
@@ -24,304 +24,218 @@
|
|||||||
#pragma ide diagnostic ignored "OCUnusedGlobalDeclarationInspection"
|
#pragma ide diagnostic ignored "OCUnusedGlobalDeclarationInspection"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** List of known compression types */
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
/** Not compressed */
|
|
||||||
None = 0, /** LZMA */
|
|
||||||
Lzma = 1, /** FLAC */
|
|
||||||
Flac = 2, /** LZMA in Claunia Subchannel Transform processed data */
|
|
||||||
LzmaClauniaSubchannelTransform = 3
|
|
||||||
} CompressionType;
|
|
||||||
|
|
||||||
/** List of known data types */
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
/** 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
|
|
||||||
} DataType;
|
|
||||||
|
|
||||||
/** List of known blocks types */
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
/** Block containing data */
|
|
||||||
DataBlock = 0x4B4C4244,
|
|
||||||
/** Block containing a deduplication table */
|
|
||||||
DeDuplicationTable = 0x2A544444,
|
|
||||||
/** Block containing a deduplication table v2 */
|
|
||||||
DeDuplicationTable2 = 0x32544444,
|
|
||||||
/** Block containing the index */
|
|
||||||
IndexBlock = 0x58444E49,
|
|
||||||
/** Block containing the index v2 */
|
|
||||||
IndexBlock2 = 0x32584449,
|
|
||||||
/** Block containing the index v3 */
|
|
||||||
IndexBlock3 = 0x33584449,
|
|
||||||
/** 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 = 0x50524E54,
|
|
||||||
/** Block containing an array of hardware used to create the image */
|
|
||||||
DumpHardwareBlock = 0x2A504D44,
|
|
||||||
/** TODO: Block containing list of files for a tape image */
|
|
||||||
TapeFileBlock = 0x454C4654
|
|
||||||
} BlockType;
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
Invalid = 0,
|
|
||||||
Md5 = 1,
|
|
||||||
Sha1 = 2,
|
|
||||||
Sha256 = 3,
|
|
||||||
SpamSum = 4
|
|
||||||
} ChecksumAlgorithm;
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
NotDumped = 0x10000000,
|
|
||||||
Correct = 0x20000000,
|
|
||||||
Mode2Form1Ok = 0x30000000,
|
|
||||||
Mode2Form2Ok = 0x40000000,
|
|
||||||
Mode2Form2NoCrc = 0x50000000
|
|
||||||
} CdFixFlags;
|
|
||||||
|
|
||||||
/** Track (as partitioning element) types. */
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
/** 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
|
|
||||||
} TrackType;
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
AARUF_STATUS_INVALID_CONTEXT = -1,
|
|
||||||
} AaruformatStatus;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enumeration of media types defined in CICM metadata
|
* \enum CompressionType
|
||||||
|
* \brief List of known compression types.
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
/**
|
None = 0, ///< Not compressed.
|
||||||
* Purely optical discs
|
Lzma = 1, ///< LZMA compression.
|
||||||
*/
|
Flac = 2, ///< FLAC compression.
|
||||||
OpticalDisc = 0, /**
|
LzmaClauniaSubchannelTransform = 3 ///< LZMA applied to Claunia Subchannel Transform processed data.
|
||||||
* Media that is physically block-based or abstracted like that
|
} CompressionType;
|
||||||
|
|
||||||
*/
|
/**
|
||||||
BlockMedia = 1, /**
|
* \enum DataType
|
||||||
* Media that can be accessed by-byte or by-bit, like chips
|
* \brief List of known data types stored within an Aaru image.
|
||||||
*/
|
*/
|
||||||
LinearMedia = 2, /**
|
typedef enum
|
||||||
* Media that can only store data when it is modulated to audio
|
{
|
||||||
*/
|
NoData = 0, ///< No data.
|
||||||
AudioMedia = 3
|
UserData = 1, ///< User (main) data.
|
||||||
|
CompactDiscPartialToc = 2, ///< Compact Disc partial Table of Contents.
|
||||||
|
CompactDiscSessionInfo = 3, ///< Compact Disc session information.
|
||||||
|
CompactDiscToc = 4, ///< Compact Disc full Table of Contents.
|
||||||
|
CompactDiscPma = 5, ///< Compact Disc Power Management Area (PMA).
|
||||||
|
CompactDiscAtip = 6, ///< Compact Disc Absolute Time In Pregroove (ATIP).
|
||||||
|
CompactDiscLeadInCdText = 7, ///< Compact Disc lead-in CD-Text.
|
||||||
|
DvdPfi = 8, ///< DVD Physical Format Information.
|
||||||
|
DvdLeadInCmi = 9, ///< DVD lead-in Copyright Management Information (CMI).
|
||||||
|
DvdDiscKey = 10, ///< DVD disc key.
|
||||||
|
DvdBca = 11, ///< DVD Burst Cutting Area (BCA).
|
||||||
|
DvdDmi = 12, ///< DVD Disc Manufacturing Information (DMI).
|
||||||
|
DvdMediaIdentifier = 13, ///< DVD media identifier.
|
||||||
|
DvdMediaKeyBlock = 14, ///< DVD Media Key Block (MKB).
|
||||||
|
DvdRamDds = 15, ///< DVD-RAM Disc Definition Structure (DDS).
|
||||||
|
DvdRamMediumStatus = 16, ///< DVD-RAM medium status.
|
||||||
|
DvdRamSpareArea = 17, ///< DVD-RAM spare area information.
|
||||||
|
DvdRRmd = 18, ///< DVD-R RMD (Recording Management Data).
|
||||||
|
DvdRPrerecordedInfo = 19, ///< DVD-R pre‑recorded information.
|
||||||
|
DvdRMediaIdentifier = 20, ///< DVD-R media identifier.
|
||||||
|
DvdRPfi = 21, ///< DVD-R Physical Format Information.
|
||||||
|
DvdAdip = 22, ///< DVD Address In Pregroove (ADIP).
|
||||||
|
HdDvdCpi = 23, ///< HD DVD Copy Protection Information (CPI).
|
||||||
|
HdDvdMediumStatus = 24, ///< HD DVD medium status.
|
||||||
|
DvdDlLayerCapacity = 25, ///< DVD dual-layer capacity.
|
||||||
|
DvdDlMiddleZoneAddress = 26, ///< DVD dual-layer middle zone address.
|
||||||
|
DvdDlJumpIntervalSize = 27, ///< DVD dual-layer jump interval size.
|
||||||
|
DvdDlManualLayerJumpLba = 28, ///< DVD dual-layer manual layer jump LBA.
|
||||||
|
BlurayDi = 29, ///< Blu-ray Disc Information (DI).
|
||||||
|
BlurayBca = 30, ///< Blu-ray Burst Cutting Area (BCA).
|
||||||
|
BlurayDds = 31, ///< Blu-ray Disc Definition Structure (DDS).
|
||||||
|
BlurayCartridgeStatus = 32, ///< Blu-ray cartridge status.
|
||||||
|
BluraySpareArea = 33, ///< Blu-ray spare area information.
|
||||||
|
AacsVolumeIdentifier = 34, ///< AACS volume identifier.
|
||||||
|
AacsSerialNumber = 35, ///< AACS serial number.
|
||||||
|
AacsMediaIdentifier = 36, ///< AACS media identifier.
|
||||||
|
AacsMediaKeyBlock = 37, ///< AACS Media Key Block (MKB).
|
||||||
|
AacsDataKeys = 38, ///< AACS data keys.
|
||||||
|
AacsLbaExtents = 39, ///< AACS LBA extents.
|
||||||
|
CprmMediaKeyBlock = 40, ///< CPRM Media Key Block (MKB).
|
||||||
|
HybridRecognizedLayers = 41, ///< Recognized layers (hybrid media).
|
||||||
|
ScsiMmcWriteProtection = 42, ///< MMC write-protection data.
|
||||||
|
ScsiMmcDiscInformation = 43, ///< MMC disc information.
|
||||||
|
ScsiMmcTrackResourcesInformation= 44, ///< MMC track resources information.
|
||||||
|
ScsiMmcPowResourcesInformation = 45, ///< MMC POW (Persistent Optical Write?) resources information.
|
||||||
|
ScsiInquiry = 46, ///< SCSI INQUIRY response.
|
||||||
|
ScsiModePage2A = 47, ///< SCSI MODE PAGE 2Ah.
|
||||||
|
AtaIdentify = 48, ///< ATA IDENTIFY DEVICE data.
|
||||||
|
AtapiIdentify = 49, ///< ATAPI IDENTIFY PACKET DEVICE data.
|
||||||
|
PcmciaCis = 50, ///< PCMCIA Card Information Structure (CIS).
|
||||||
|
SecureDigitalCid = 51, ///< Secure Digital CID register.
|
||||||
|
SecureDigitalCsd = 52, ///< Secure Digital CSD register.
|
||||||
|
SecureDigitalScr = 53, ///< Secure Digital SCR register.
|
||||||
|
SecureDigitalOcr = 54, ///< Secure Digital OCR register.
|
||||||
|
MultiMediaCardCid = 55, ///< MultiMediaCard CID register.
|
||||||
|
MultiMediaCardCsd = 56, ///< MultiMediaCard CSD register.
|
||||||
|
MultiMediaCardOcr = 57, ///< MultiMediaCard OCR register.
|
||||||
|
MultiMediaCardExtendedCsd = 58, ///< MultiMediaCard Extended CSD register.
|
||||||
|
XboxSecuritySector = 59, ///< Xbox Security Sector.
|
||||||
|
FloppyLeadOut = 60, ///< Floppy lead‑out data.
|
||||||
|
DvdDiscControlBlock = 61, ///< DVD Disc Control Block.
|
||||||
|
CompactDiscFirstTrackPregap = 62, ///< Compact Disc first track pre-gap.
|
||||||
|
CompactDiscLeadOut = 63, ///< Compact Disc lead‑out.
|
||||||
|
ScsiModeSense6 = 64, ///< SCSI MODE SENSE (6) response.
|
||||||
|
ScsiModeSense10 = 65, ///< SCSI MODE SENSE (10) response.
|
||||||
|
UsbDescriptors = 66, ///< USB descriptors set.
|
||||||
|
XboxDmi = 67, ///< Xbox DMI.
|
||||||
|
XboxPfi = 68, ///< Xbox Physical Format Information (PFI).
|
||||||
|
CdSectorPrefix = 69, ///< Compact Disc sector prefix (sync, header).
|
||||||
|
CdSectorSuffix = 70, ///< Compact Disc sector suffix (EDC, ECC P, ECC Q).
|
||||||
|
CdSectorSubchannel = 71, ///< Compact Disc subchannel data.
|
||||||
|
AppleProfileTag = 72, ///< Apple Profile (20‑byte) tag.
|
||||||
|
AppleSonyTag = 73, ///< Apple Sony (12‑byte) tag.
|
||||||
|
PriamDataTowerTag = 74, ///< Priam Data Tower (24‑byte) tag.
|
||||||
|
CompactDiscMediaCatalogueNumber = 75, ///< Compact Disc Media Catalogue Number (lead‑in, 13 ASCII bytes).
|
||||||
|
CdSectorPrefixCorrected = 76, ///< Compact Disc sector prefix (sync, header) corrected-only stored.
|
||||||
|
CdSectorSuffixCorrected = 77, ///< Compact Disc sector suffix (EDC, ECC P, ECC Q) corrected-only stored.
|
||||||
|
CompactDiscMode2Subheader = 78, ///< Compact Disc MODE 2 subheader.
|
||||||
|
CompactDiscLeadIn = 79 ///< Compact Disc lead‑in.
|
||||||
|
} DataType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum BlockType
|
||||||
|
* \brief List of known block types contained in an Aaru image.
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
DataBlock = 0x4B4C4244, ///< Block containing data.
|
||||||
|
DeDuplicationTable = 0x2A544444, ///< Block containing a deduplication table (v1).
|
||||||
|
DeDuplicationTable2 = 0x32544444, ///< Block containing a deduplication table v2.
|
||||||
|
IndexBlock = 0x58444E49, ///< Block containing the index (v1).
|
||||||
|
IndexBlock2 = 0x32584449, ///< Block containing the index v2.
|
||||||
|
IndexBlock3 = 0x33584449, ///< Block containing the index v3.
|
||||||
|
GeometryBlock = 0x4D4F4547, ///< Block containing logical geometry.
|
||||||
|
MetadataBlock = 0x4154454D, ///< Block containing metadata.
|
||||||
|
TracksBlock = 0x534B5254, ///< Block containing optical disc tracks.
|
||||||
|
CicmBlock = 0x4D434943, ///< Block containing CICM XML metadata.
|
||||||
|
ChecksumBlock = 0x4D534B43, ///< Block containing contents checksums.
|
||||||
|
DataPositionMeasurementBlock = 0x2A4D5044, ///< Block containing data position measurements (reserved / TODO).
|
||||||
|
SnapshotBlock = 0x50414E53, ///< Block containing a snapshot index (reserved / TODO).
|
||||||
|
ParentBlock = 0x50524E54, ///< Block describing how to locate the parent image (reserved / TODO).
|
||||||
|
DumpHardwareBlock = 0x2A504D44, ///< Block containing an array of hardware used to create the image.
|
||||||
|
TapeFileBlock = 0x454C4654 ///< Block containing list of files for a tape image (reserved / TODO).
|
||||||
|
} BlockType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum ChecksumAlgorithm
|
||||||
|
* \brief Supported checksum / hash algorithms.
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
Invalid = 0, ///< Invalid / unspecified algorithm.
|
||||||
|
Md5 = 1, ///< MD5 hash.
|
||||||
|
Sha1 = 2, ///< SHA-1 hash.
|
||||||
|
Sha256 = 3, ///< SHA-256 hash.
|
||||||
|
SpamSum = 4 ///< SpamSum (context-triggered piecewise hash).
|
||||||
|
} ChecksumAlgorithm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum CdFixFlags
|
||||||
|
* \brief Flags describing Compact Disc sector fix-up status.
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
NotDumped = 0x10000000, ///< Sector(s) have not yet been dumped.
|
||||||
|
Correct = 0x20000000, ///< Sector(s) contain valid MODE 1 data with regenerable suffix/prefix.
|
||||||
|
Mode2Form1Ok = 0x30000000, ///< Sector suffix valid for MODE 2 Form 1; regenerable.
|
||||||
|
Mode2Form2Ok = 0x40000000, ///< Sector suffix valid for MODE 2 Form 2 with correct CRC.
|
||||||
|
Mode2Form2NoCrc = 0x50000000 ///< Sector suffix valid for MODE 2 Form 2 but CRC absent/empty.
|
||||||
|
} CdFixFlags;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum TrackType
|
||||||
|
* \brief Track (partitioning element) types for optical media.
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
Audio = 0, ///< Audio track.
|
||||||
|
Data = 1, ///< Generic data track (not further specified).
|
||||||
|
CdMode1 = 2, ///< Compact Disc Mode 1 data track.
|
||||||
|
CdMode2Formless = 3, ///< Compact Disc Mode 2 (formless) data track.
|
||||||
|
CdMode2Form1 = 4, ///< Compact Disc Mode 2 Form 1 data track.
|
||||||
|
CdMode2Form2 = 5 ///< Compact Disc Mode 2 Form 2 data track.
|
||||||
|
} TrackType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum AaruformatStatus
|
||||||
|
* \brief Status / error codes specific to libaaruformat.
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
AARUF_STATUS_INVALID_CONTEXT = -1 ///< Provided context/handle is invalid.
|
||||||
|
} AaruformatStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum XmlMediaType
|
||||||
|
* \brief Enumeration of media types defined in CICM metadata.
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
OpticalDisc = 0, ///< Purely optical discs.
|
||||||
|
BlockMedia = 1, ///< Media that is physically block-based or abstracted like that.
|
||||||
|
LinearMedia = 2, ///< Media that can be accessed by-byte or by-bit, like chips.
|
||||||
|
AudioMedia = 3 ///< Media that can only store data when modulated to audio.
|
||||||
} XmlMediaType;
|
} XmlMediaType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum DdtSizeType
|
||||||
|
* \brief Size type for Deduplication Data Table (DDT) entries.
|
||||||
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
SmallDdtSizeType = 0,
|
SmallDdtSizeType = 0, ///< Small sized DDT entries.
|
||||||
BigDdtSizeType = 1
|
BigDdtSizeType = 1 ///< Large sized DDT entries.
|
||||||
} DdtSizeType;
|
} DdtSizeType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \enum SectorStatus
|
||||||
|
* \brief Acquisition / content status for one or more sectors.
|
||||||
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
/**Sector(s) have not yet been acquired during image dumping.*/
|
SectorStatusNotDumped = 0x0, ///< Sector(s) not yet acquired during image dumping.
|
||||||
SectorStatusNotDumped = 0x0,
|
SectorStatusDumped = 0x1, ///< Sector(s) successfully dumped without error.
|
||||||
/**Sector(s) have been successfully dumped without error.*/
|
SectorStatusErrored = 0x2, ///< Error during dumping; data may be incomplete or corrupt.
|
||||||
SectorStatusDumped = 0x1,
|
SectorStatusMode1Correct = 0x3, ///< Valid MODE 1 data with regenerable suffix/prefix.
|
||||||
/**Sector(s) encountered an error during dumping and may be incomplete or corrupt.*/
|
SectorStatusMode2Form1Ok = 0x4, ///< Suffix verified/regenerable for MODE 2 Form 1.
|
||||||
SectorStatusErrored = 0x2,
|
SectorStatusMode2Form2Ok = 0x5, ///< Suffix matches MODE 2 Form 2 with valid CRC.
|
||||||
/**Sector contains valid MODE 1 data with regenerable suffix or prefix.*/
|
SectorStatusMode2Form2NoCrc = 0x6, ///< Suffix matches MODE 2 Form 2 but CRC empty/missing.
|
||||||
SectorStatusMode1Correct = 0x3,
|
SectorStatusTwin = 0x7, ///< Pointer references a twin sector table.
|
||||||
/**Sector suffix is verified and regenerable, corresponding to MODE 2 Form 1.*/
|
SectorStatusUnrecorded = 0x8, ///< Sector physically unrecorded; repeated reads non-deterministic.
|
||||||
SectorStatusMode2Form1Ok = 0x4,
|
SectorStatusEncrypted = 0x9, ///< Content encrypted and stored encrypted in image.
|
||||||
/**Sector suffix matches MODE 2 Form 2 format with a valid CRC.*/
|
SectorStatusUnencrypted = 0xA ///< Content originally encrypted but stored decrypted in image.
|
||||||
SectorStatusMode2Form2Ok = 0x5,
|
|
||||||
/**Sector suffix matches MODE 2 Form 2 format but contains an empty or missing CRC.*/
|
|
||||||
SectorStatusMode2Form2NoCrc = 0x6,
|
|
||||||
/**Pointer references a twin sector table.*/
|
|
||||||
SectorStatusTwin = 0x7,
|
|
||||||
/**Sector is physically unrecorded; repeated reads return non-deterministic or random data.*/
|
|
||||||
SectorStatusUnrecorded = 0x8,
|
|
||||||
/**Sector content is encrypted and stored in its original encrypted form within the image.*/
|
|
||||||
SectorStatusEncrypted = 0x9,
|
|
||||||
/**Sector content was originally encrypted on media but is stored decrypted in the image.*/
|
|
||||||
SectorStatusUnencrypted = 0xA
|
|
||||||
} SectorStatus;
|
} SectorStatus;
|
||||||
|
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
|
|||||||
Reference in New Issue
Block a user