libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
Loading...
Searching...
No Matches
enums.h File Reference

Go to the source code of this file.

Enumerations

enum  CompressionType { None = 0 , Lzma = 1 , Flac = 2 , LzmaClauniaSubchannelTransform = 3 }
 List of known compression types. More...
enum  DataType {
  NoData = 0 , UserData = 1 , CompactDiscPartialToc = 2 , CompactDiscSessionInfo = 3 ,
  CompactDiscToc = 4 , CompactDiscPma = 5 , CompactDiscAtip = 6 , CompactDiscLeadInCdText = 7 ,
  DvdPfi = 8 , DvdLeadInCmi = 9 , DvdDiscKey = 10 , DvdBca = 11 ,
  DvdDmi = 12 , DvdMediaIdentifier = 13 , DvdMediaKeyBlock = 14 , DvdRamDds = 15 ,
  DvdRamMediumStatus = 16 , DvdRamSpareArea = 17 , DvdRRmd = 18 , DvdRPrerecordedInfo = 19 ,
  DvdRMediaIdentifier = 20 , DvdRPfi = 21 , DvdAdip = 22 , HdDvdCpi = 23 ,
  HdDvdMediumStatus = 24 , DvdDlLayerCapacity = 25 , DvdDlMiddleZoneAddress = 26 , DvdDlJumpIntervalSize = 27 ,
  DvdDlManualLayerJumpLba = 28 , BlurayDi = 29 , BlurayBca = 30 , BlurayDds = 31 ,
  BlurayCartridgeStatus = 32 , BluraySpareArea = 33 , AacsVolumeIdentifier = 34 , AacsSerialNumber = 35 ,
  AacsMediaIdentifier = 36 , AacsMediaKeyBlock = 37 , AacsDataKeys = 38 , AacsLbaExtents = 39 ,
  CprmMediaKeyBlock = 40 , HybridRecognizedLayers = 41 , ScsiMmcWriteProtection = 42 , ScsiMmcDiscInformation = 43 ,
  ScsiMmcTrackResourcesInformation = 44 , ScsiMmcPowResourcesInformation = 45 , ScsiInquiry = 46 , ScsiModePage2A = 47 ,
  AtaIdentify = 48 , AtapiIdentify = 49 , PcmciaCis = 50 , SecureDigitalCid = 51 ,
  SecureDigitalCsd = 52 , SecureDigitalScr = 53 , SecureDigitalOcr = 54 , MultiMediaCardCid = 55 ,
  MultiMediaCardCsd = 56 , MultiMediaCardOcr = 57 , MultiMediaCardExtendedCsd = 58 , XboxSecuritySector = 59 ,
  FloppyLeadOut = 60 , DvdDiscControlBlock = 61 , CompactDiscFirstTrackPregap = 62 , CompactDiscLeadOut = 63 ,
  ScsiModeSense6 = 64 , ScsiModeSense10 = 65 , UsbDescriptors = 66 , XboxDmi = 67 ,
  XboxPfi = 68 , CdSectorPrefix = 69 , CdSectorSuffix = 70 , CdSectorSubchannel = 71 ,
  AppleProfileTag = 72 , AppleSonyTag = 73 , PriamDataTowerTag = 74 , CompactDiscMediaCatalogueNumber = 75 ,
  CdSectorPrefixCorrected = 76 , CdSectorSuffixCorrected = 77 , CompactDiscMode2Subheader = 78 , CompactDiscLeadIn = 79 ,
  DvdDiscKeyDecrypted = 80 , DvdSectorCprMai = 81 , DvdSectorTitleKeyDecrypted = 82 , DvdSectorId = 83 ,
  DvdSectorIed = 84 , DvdSectorEdc = 85 , DvdSectorEccPi = 86 , DvdEccBlockPo = 87 ,
  DvdPfi2ndLayer = 88
}
 List of known data types stored within an Aaru image. More...
enum  BlockType {
  DataBlock = 0x4B4C4244 , DeDuplicationTable = 0x2A544444 , DeDuplicationTable2 = 0x32544444 , DeDuplicationTableSecondary = 0x53545444 ,
  IndexBlock = 0x58444E49 , IndexBlock2 = 0x32584449 , IndexBlock3 = 0x33584449 , GeometryBlock = 0x4D4F4547 ,
  MetadataBlock = 0x4154454D , TracksBlock = 0x534B5254 , CicmBlock = 0x4D434943 , ChecksumBlock = 0x4D534B43 ,
  DataPositionMeasurementBlock = 0x2A4D5044 , SnapshotBlock = 0x50414E53 , ParentBlock = 0x50524E54 , DumpHardwareBlock = 0x2A504D44 ,
  TapeFileBlock = 0x454C4654 , TapePartitionBlock = 0x54425054 , AaruMetadataJsonBlock = 0x444D534A
}
 List of known block types contained in an Aaru image. More...
enum  ChecksumAlgorithm {
  Invalid = 0 , Md5 = 1 , Sha1 = 2 , Sha256 = 3 ,
  SpamSum = 4 , Blake3 = 5
}
 Supported checksum / hash algorithms. More...
enum  CdFixFlags {
  NotDumped = 0x10000000 , Correct = 0x20000000 , Mode2Form1Ok = 0x30000000 , Mode2Form2Ok = 0x40000000 ,
  Mode2Form2NoCrc = 0x50000000
}
 Flags describing Compact Disc sector fix-up status. More...
enum  TrackType {
  Audio = 0 , Data = 1 , CdMode1 = 2 , CdMode2Formless = 3 ,
  CdMode2Form1 = 4 , CdMode2Form2 = 5
}
 Track (partitioning element) types for optical media. More...
enum  AaruformatStatus { AARUF_STATUS_INVALID_CONTEXT = -1 }
 Status / error codes specific to libaaruformat. More...
enum  XmlMediaType { OpticalDisc = 0 , BlockMedia = 1 , LinearMedia = 2 , AudioMedia = 3 }
 Enumeration of media types defined in CICM metadata. More...
enum  SectorStatus {
  SectorStatusNotDumped = 0x0 , SectorStatusDumped = 0x1 , SectorStatusErrored = 0x2 , SectorStatusMode1Correct = 0x3 ,
  SectorStatusMode2Form1Ok = 0x4 , SectorStatusMode2Form2Ok = 0x5 , SectorStatusMode2Form2NoCrc = 0x6 , SectorStatusTwin = 0x7 ,
  SectorStatusUnrecorded = 0x8 , SectorStatusEncrypted = 0x9 , SectorStatusUnencrypted = 0xA
}
 Acquisition / content status for one or more sectors. More...
enum  FeaturesCompatible { AARU_FEATURE_RW_BLAKE3 = 0x1 }
 Bit-mask of optional, backward-compatible features stored in an image. More...

Enumeration Type Documentation

◆ AaruformatStatus

Status / error codes specific to libaaruformat.

Enumerator
AARUF_STATUS_INVALID_CONTEXT 

Provided context/handle is invalid.

Definition at line 208 of file enums.h.

◆ BlockType

enum BlockType

List of known block types contained in an Aaru image.

Enumerator
DataBlock 

Block containing data.

DeDuplicationTable 

Block containing a deduplication table (v1).

DeDuplicationTable2 

Block containing a deduplication table v2.

DeDuplicationTableSecondary 

Block containing a secondary deduplication table (v2).

IndexBlock 

Block containing the index (v1).

IndexBlock2 

Block containing the index v2.

IndexBlock3 

Block containing the index v3.

GeometryBlock 

Block containing logical geometry.

MetadataBlock 

Block containing metadata.

TracksBlock 

Block containing optical disc tracks.

CicmBlock 

Block containing CICM XML metadata.

ChecksumBlock 

Block containing contents checksums.

DataPositionMeasurementBlock 

Block containing data position measurements (reserved / TODO).

SnapshotBlock 

Block containing a snapshot index (reserved / TODO).

ParentBlock 

Block describing how to locate the parent image (reserved / TODO).

DumpHardwareBlock 

Block containing an array of hardware used to create the image.

TapeFileBlock 

Block containing list of files for a tape image.

TapePartitionBlock 

Block containing list of partitions for a tape image.

AaruMetadataJsonBlock 

Block containing JSON version of Aaru Metadata.

Definition at line 140 of file enums.h.

◆ CdFixFlags

enum CdFixFlags

Flags describing Compact Disc sector fix-up status.

Enumerator
NotDumped 

Sector(s) have not yet been dumped.

Correct 

Sector(s) contain valid MODE 1 data with regenerable suffix/prefix.

Mode2Form1Ok 

Sector suffix valid for MODE 2 Form 1; regenerable.

Mode2Form2Ok 

Sector suffix valid for MODE 2 Form 2 with correct CRC.

Mode2Form2NoCrc 

Sector suffix valid for MODE 2 Form 2 but CRC absent/empty.

Definition at line 181 of file enums.h.

◆ ChecksumAlgorithm

Supported checksum / hash algorithms.

Enumerator
Invalid 

Invalid / unspecified algorithm.

Md5 

MD5 hash.

Sha1 

SHA-1 hash.

Sha256 

SHA-256 hash.

SpamSum 

SpamSum (context-triggered piecewise hash).

Blake3 

BLAKE3 hash.

Definition at line 167 of file enums.h.

◆ CompressionType

List of known compression types.

Enumerator
None 

Not compressed.

Lzma 

LZMA compression.

Flac 

FLAC compression.

LzmaClauniaSubchannelTransform 

LZMA applied to Claunia Subchannel Transform processed data.

Definition at line 31 of file enums.h.

◆ DataType

enum DataType

List of known data types stored within an Aaru image.

Enumerator
NoData 

No data.

UserData 

User (main) data.

CompactDiscPartialToc 

Compact Disc partial Table of Contents.

CompactDiscSessionInfo 

Compact Disc session information.

CompactDiscToc 

Compact Disc full Table of Contents.

CompactDiscPma 

Compact Disc Power Management Area (PMA).

CompactDiscAtip 

Compact Disc Absolute Time In Pregroove (ATIP).

CompactDiscLeadInCdText 

Compact Disc lead-in CD-Text.

DvdPfi 

DVD Physical Format Information.

DvdLeadInCmi 

DVD lead-in Copyright Management Information (CMI).

DvdDiscKey 

DVD disc key.

DvdBca 

DVD Burst Cutting Area (BCA).

DvdDmi 

DVD Disc Manufacturing Information (DMI).

DvdMediaIdentifier 

DVD media identifier.

DvdMediaKeyBlock 

DVD Media Key Block (MKB).

DvdRamDds 

DVD-RAM Disc Definition Structure (DDS).

DvdRamMediumStatus 

DVD-RAM medium status.

DvdRamSpareArea 

DVD-RAM spare area information.

DvdRRmd 

DVD-R RMD (Recording Management Data).

DvdRPrerecordedInfo 

DVD-R pre‑recorded information.

DvdRMediaIdentifier 

DVD-R media identifier.

DvdRPfi 

DVD-R Physical Format Information.

DvdAdip 

DVD Address In Pregroove (ADIP).

HdDvdCpi 

HD DVD Copy Protection Information (CPI).

HdDvdMediumStatus 

HD DVD medium status.

DvdDlLayerCapacity 

DVD dual-layer capacity.

DvdDlMiddleZoneAddress 

DVD dual-layer middle zone address.

DvdDlJumpIntervalSize 

DVD dual-layer jump interval size.

DvdDlManualLayerJumpLba 

DVD dual-layer manual layer jump LBA.

BlurayDi 

Blu-ray Disc Information (DI).

BlurayBca 

Blu-ray Burst Cutting Area (BCA).

BlurayDds 

Blu-ray Disc Definition Structure (DDS).

BlurayCartridgeStatus 

Blu-ray cartridge status.

BluraySpareArea 

Blu-ray spare area information.

AacsVolumeIdentifier 

AACS volume identifier.

AacsSerialNumber 

AACS serial number.

AacsMediaIdentifier 

AACS media identifier.

AacsMediaKeyBlock 

AACS Media Key Block (MKB).

AacsDataKeys 

AACS data keys.

AacsLbaExtents 

AACS LBA extents.

CprmMediaKeyBlock 

CPRM Media Key Block (MKB).

HybridRecognizedLayers 

Recognized layers (hybrid media).

ScsiMmcWriteProtection 

MMC write-protection data.

ScsiMmcDiscInformation 

MMC disc information.

ScsiMmcTrackResourcesInformation 

MMC track resources information.

ScsiMmcPowResourcesInformation 

MMC POW (Persistent Optical Write?) resources information.

ScsiInquiry 

SCSI INQUIRY response.

ScsiModePage2A 

SCSI MODE PAGE 2Ah.

AtaIdentify 

ATA IDENTIFY DEVICE data.

AtapiIdentify 

ATAPI IDENTIFY PACKET DEVICE data.

PcmciaCis 

PCMCIA Card Information Structure (CIS).

SecureDigitalCid 

Secure Digital CID register.

SecureDigitalCsd 

Secure Digital CSD register.

SecureDigitalScr 

Secure Digital SCR register.

SecureDigitalOcr 

Secure Digital OCR register.

MultiMediaCardCid 

MultiMediaCard CID register.

MultiMediaCardCsd 

MultiMediaCard CSD register.

MultiMediaCardOcr 

MultiMediaCard OCR register.

MultiMediaCardExtendedCsd 

MultiMediaCard Extended CSD register.

XboxSecuritySector 

Xbox Security Sector.

FloppyLeadOut 

Floppy lead‑out data.

DvdDiscControlBlock 

DVD Disc Control Block.

CompactDiscFirstTrackPregap 

Compact Disc first track pre-gap.

CompactDiscLeadOut 

Compact Disc lead‑out.

ScsiModeSense6 

SCSI MODE SENSE (6) response.

ScsiModeSense10 

SCSI MODE SENSE (10) response.

UsbDescriptors 

USB descriptors set.

XboxDmi 

Xbox DMI.

XboxPfi 

Xbox Physical Format Information (PFI).

CdSectorPrefix 

Compact Disc sector prefix (sync, header).

CdSectorSuffix 

Compact Disc sector suffix (EDC, ECC P, ECC Q).

CdSectorSubchannel 

Compact Disc subchannel data.

AppleProfileTag 

Apple Profile (20‑byte) tag.

AppleSonyTag 

Apple Sony (12‑byte) tag.

PriamDataTowerTag 

Priam Data Tower (24‑byte) tag.

CompactDiscMediaCatalogueNumber 

Compact Disc Media Catalogue Number (lead‑in, 13 ASCII bytes).

CdSectorPrefixCorrected 

Compact Disc sector prefix (sync, header) corrected-only stored.

CdSectorSuffixCorrected 

Compact Disc sector suffix (EDC, ECC P, ECC Q) corrected-only stored.

CompactDiscMode2Subheader 

Compact Disc MODE 2 subheader.

CompactDiscLeadIn 

Compact Disc lead‑in.

DvdDiscKeyDecrypted 

Decrypted DVD Disc Key.

DvdSectorCprMai 

DVD Copyright Management Information (CPR_MAI)

DvdSectorTitleKeyDecrypted 

Decrypted DVD Title Key.

DvdSectorId 

DVD Identification Data (ID)

DvdSectorIed 

DVD ID Error Detection Code (IED)

DvdSectorEdc 

DVD Error Detection Code (EDC)

DvdSectorEccPi 

DVD Error Correction Code (ECC) Parity of Inner Code (PI)

DvdEccBlockPo 

DVD Error Correction Code (ECC) Parity of Outer Code (PO)

DvdPfi2ndLayer 

DVD Physical Format Information for the second layer.

Definition at line 43 of file enums.h.

◆ FeaturesCompatible

Bit-mask of optional, backward-compatible features stored in an image.

These flags advertise additional data structures or capabilities embedded in the image that older readers MAY safely ignore. An unknown bit MUST be treated as "feature unsupported" without failing to open the image. Writers set the bits for features they included; readers test them to enable extended behaviors.

Usage example:

uint64_t features = header->featuresCompatible; // value read from on-disk header
if(features & AARU_FEATURE_RW_BLAKE3)
{
// Image contains BLAKE3 checksums; enable BLAKE3 verification path.
}
@ AARU_FEATURE_RW_BLAKE3
BLAKE3 checksum is present (read/write support for BLAKE3 hashes).
Definition enums.h:266

Future compatible features SHALL use the next available bit (1ULL << n).

Enumerator
AARU_FEATURE_RW_BLAKE3 

BLAKE3 checksum is present (read/write support for BLAKE3 hashes).

Definition at line 264 of file enums.h.

◆ SectorStatus

Acquisition / content status for one or more sectors.

Enumerator
SectorStatusNotDumped 

Sector(s) not yet acquired during image dumping.

SectorStatusDumped 

Sector(s) successfully dumped without error.

SectorStatusErrored 

Error during dumping; data may be incomplete or corrupt.

SectorStatusMode1Correct 

Valid MODE 1 data with regenerable suffix/prefix.

SectorStatusMode2Form1Ok 

Suffix verified/regenerable for MODE 2 Form 1.

SectorStatusMode2Form2Ok 

Suffix matches MODE 2 Form 2 with valid CRC.

SectorStatusMode2Form2NoCrc 

Suffix matches MODE 2 Form 2 but CRC empty/missing.

SectorStatusTwin 

Pointer references a twin sector table.

SectorStatusUnrecorded 

Sector physically unrecorded; repeated reads non-deterministic.

SectorStatusEncrypted 

Content encrypted and stored encrypted in image.

SectorStatusUnencrypted 

Content originally encrypted but stored decrypted in image.

Definition at line 229 of file enums.h.

◆ TrackType

enum TrackType

Track (partitioning element) types for optical media.

Enumerator
Audio 

Audio track.

Data 

Generic data track (not further specified).

CdMode1 

Compact Disc Mode 1 data track.

CdMode2Formless 

Compact Disc Mode 2 (formless) data track.

CdMode2Form1 

Compact Disc Mode 2 Form 1 data track.

CdMode2Form2 

Compact Disc Mode 2 Form 2 data track.

Definition at line 194 of file enums.h.

◆ XmlMediaType

Enumeration of media types defined in CICM metadata.

Enumerator
OpticalDisc 

Purely optical discs.

BlockMedia 

Media that is physically block-based or abstracted like that.

LinearMedia 

Media that can be accessed by-byte or by-bit, like chips.

AudioMedia 

Media that can only store data when modulated to audio.

Definition at line 217 of file enums.h.