libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
Loading...
Searching...
No Matches
enums.h
Go to the documentation of this file.
1/*
2 * This file is part of the Aaru Data Preservation Suite.
3 * Copyright (c) 2019-2026 Natalia Portillo.
4 *
5 * This library is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as
7 * published by the Free Software Foundation; either version 2.1 of the
8 * License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef LIBAARUFORMAT_ENUMS_H
20#define LIBAARUFORMAT_ENUMS_H
21
22#ifndef _MSC_VER
23#pragma clang diagnostic push
24#pragma ide diagnostic ignored "OCUnusedGlobalDeclarationInspection"
25#endif
26
40
45typedef enum
46{
156} DataType;
157
162typedef enum
163{
164 DataBlock = 0x4B4C4244,
165 DeDuplicationTable = 0x2A544444,
166 DeDuplicationTable2 = 0x32544444,
169 IndexBlock = 0x58444E49,
170 IndexBlock2 = 0x32584449,
171 IndexBlock3 = 0x33584449,
172 GeometryBlock = 0x4D4F4547,
173 MetadataBlock = 0x4154454D,
174 TracksBlock = 0x534B5254,
175 CicmBlock = 0x4D434943,
176 ChecksumBlock = 0x4D534B43,
178 SnapshotBlock = 0x50414E53,
179 ParentBlock = 0x50524E54,
180 DumpHardwareBlock = 0x2A504D44,
181 TapeFileBlock = 0x454C4654,
182 TapePartitionBlock = 0x54425054,
184 FluxDataBlock = 0x58554C46,
186 0x4C505344,
188} BlockType;
189
194typedef enum
195{
197 Md5 = 1,
198 Sha1 = 2,
199 Sha256 = 3,
201 Blake3 = 5,
203
208typedef enum
209{
210 NotDumped = 0x10000000,
211 Correct = 0x20000000,
212 Mode2Form1Ok = 0x30000000,
213 Mode2Form2Ok = 0x40000000,
214 Mode2Form2NoCrc = 0x50000000
215} CdFixFlags;
216
230
239
251
271
292typedef enum
293{
296
309
321
331
344
345#ifndef _MSC_VER
346#pragma clang diagnostic pop
347#endif
348
349#endif // LIBAARUFORMAT_ENUMS_H
ErasureCodingGroupType
Identifies which protection group a stripe belongs to.
Definition enums.h:337
@ kECGroupMetadata
Metadata/media tag blocks.
Definition enums.h:341
@ kECGroupIndex
Index block (K=1, M replicas).
Definition enums.h:342
@ kECGroupDdtPrimary
Primary DDT (K=1, M replicas).
Definition enums.h:340
@ kECGroupData
User data blocks (DBLK).
Definition enums.h:338
@ kECGroupDdtSecondary
Secondary DDT subtables.
Definition enums.h:339
BlockType
List of known block types contained in an Aaru image.
Definition enums.h:163
@ IndexBlock3
Block containing the index v3.
Definition enums.h:171
@ ChecksumBlock
Block containing contents checksums.
Definition enums.h:176
@ DataBlock
Block containing data.
Definition enums.h:164
@ TapePartitionBlock
Block containing list of partitions for a tape image.
Definition enums.h:182
@ IndexBlock2
Block containing the index v2.
Definition enums.h:170
@ GeometryBlock
Block containing logical geometry.
Definition enums.h:172
@ DeDuplicationTableSecondary
Block containing a secondary deduplication table (v2).
Definition enums.h:168
@ SnapshotBlock
Block containing a snapshot index (reserved / TODO).
Definition enums.h:178
@ AaruMetadataJsonBlock
Block containing JSON version of Aaru Metadata.
Definition enums.h:183
@ CicmBlock
Block containing CICM XML metadata.
Definition enums.h:175
@ ParentBlock
Block describing how to locate the parent image (reserved / TODO).
Definition enums.h:179
@ IndexBlock
Block containing the index (v1).
Definition enums.h:169
@ DeDuplicationTable2
Block containing a deduplication table v2.
Definition enums.h:166
@ TapeFileBlock
Block containing list of files for a tape image.
Definition enums.h:181
@ DeDuplicationTable
Block containing a deduplication table (v1).
Definition enums.h:165
@ DeDuplicationTableSAlpha
Block containing a secondary deduplication table (v2) (mistake).
Definition enums.h:167
@ DumpHardwareBlock
Block containing an array of hardware used to create the image.
Definition enums.h:180
@ MetadataBlock
Block containing metadata.
Definition enums.h:173
@ DataPositionMeasurementBlock
Block containing data position measurements (reserved / TODO).
Definition enums.h:177
@ TracksBlock
Block containing optical disc tracks.
Definition enums.h:174
@ FluxDataBlock
Block containing flux data metadata.
Definition enums.h:184
@ ErasureCodingMapBlock
Block containing erasure coding stripe map and recovery metadata.
Definition enums.h:187
@ DataStreamPayloadBlock
Block containing compressed data stream payload (e.g., flux data, bitstreams).
Definition enums.h:185
SectorStatus
Acquisition / content status for one or more sectors.
Definition enums.h:257
@ SectorStatusDumped
Sector(s) successfully dumped without error.
Definition enums.h:259
@ SectorStatusNotDumped
Sector(s) not yet acquired during image dumping.
Definition enums.h:258
@ SectorStatusGenerable
Content can be generated using a known algorithm.
Definition enums.h:269
@ SectorStatusTwin
Pointer references a twin sector table.
Definition enums.h:265
@ SectorStatusUnrecorded
Sector physically unrecorded; repeated reads non-deterministic.
Definition enums.h:266
@ SectorStatusUnencrypted
Content originally encrypted but stored decrypted in image.
Definition enums.h:268
@ SectorStatusEncrypted
Content encrypted and stored encrypted in image.
Definition enums.h:267
@ SectorStatusMode2Form2NoCrc
Suffix matches MODE 2 Form 2 but CRC empty/missing.
Definition enums.h:264
@ SectorStatusMode1Correct
Valid MODE 1 data with regenerable suffix/prefix.
Definition enums.h:261
@ SectorStatusMode2Form2Ok
Suffix matches MODE 2 Form 2 with valid CRC.
Definition enums.h:263
@ SectorStatusErrored
Error during dumping; data may be incomplete or corrupt.
Definition enums.h:260
@ SectorStatusMode2Form1Ok
Suffix verified/regenerable for MODE 2 Form 1.
Definition enums.h:262
FeaturesCompatibleRo
Read-only compatible feature flags for AaruHeader V2.
Definition enums.h:318
@ AARU_FEATURE_ROCOMPAT_ERASURE
Image contains erasure coding parity blocks and recovery metadata.
Definition enums.h:319
ErasureCodingAlgorithm
Erasure coding algorithms supported by the ECMB.
Definition enums.h:327
@ kErasureCodingRsVandermonde
Reed-Solomon with Vandermonde generator matrix over GF(2^8).
Definition enums.h:329
@ kErasureCodingXor
Simple XOR parity (M must be 1).
Definition enums.h:328
FeaturesIncompatible
Incompatible feature flags for AaruHeader V2.
Definition enums.h:306
@ AARU_FEATURE_INCOMPAT_ZSTD
Image contains Zstandard-compressed blocks.
Definition enums.h:307
CdFixFlags
Flags describing Compact Disc sector fix-up status.
Definition enums.h:209
@ Correct
Sector(s) contain valid MODE 1 data with regenerable suffix/prefix.
Definition enums.h:211
@ Mode2Form2Ok
Sector suffix valid for MODE 2 Form 2 with correct CRC.
Definition enums.h:213
@ Mode2Form1Ok
Sector suffix valid for MODE 2 Form 1; regenerable.
Definition enums.h:212
@ NotDumped
Sector(s) have not yet been dumped.
Definition enums.h:210
@ Mode2Form2NoCrc
Sector suffix valid for MODE 2 Form 2 but CRC absent/empty.
Definition enums.h:214
XmlMediaType
Enumeration of media types defined in CICM metadata.
Definition enums.h:245
@ AudioMedia
Media that can only store data when modulated to audio.
Definition enums.h:249
@ OpticalDisc
Purely optical discs.
Definition enums.h:246
@ BlockMedia
Media that is physically block-based or abstracted like that.
Definition enums.h:247
@ LinearMedia
Media that can be accessed by-byte or by-bit, like chips.
Definition enums.h:248
ChecksumAlgorithm
Supported checksum / hash algorithms.
Definition enums.h:195
@ Blake3
BLAKE3 hash.
Definition enums.h:201
@ Sha1
SHA-1 hash.
Definition enums.h:198
@ Md5
MD5 hash.
Definition enums.h:197
@ Sha256
SHA-256 hash.
Definition enums.h:199
@ SpamSum
SpamSum (context-triggered piecewise hash).
Definition enums.h:200
@ Invalid
Invalid / unspecified algorithm.
Definition enums.h:196
TrackType
Track (partitioning element) types for optical media.
Definition enums.h:222
@ kTrackTypeCdMode2Form2
Compact Disc Mode 2 Form 2 data track.
Definition enums.h:228
@ kTrackTypeData
Generic data track (not further specified).
Definition enums.h:224
@ kTrackTypeCdMode2Form1
Compact Disc Mode 2 Form 1 data track.
Definition enums.h:227
@ kTrackTypeAudio
Audio track.
Definition enums.h:223
@ kTrackTypeCdMode2Formless
Compact Disc Mode 2 (formless) data track.
Definition enums.h:226
@ kTrackTypeCdMode1
Compact Disc Mode 1 data track.
Definition enums.h:225
DataType
List of known data types stored within an Aaru image.
Definition enums.h:46
@ kDataTypeAacsLbaExtents
AACS LBA extents.
Definition enums.h:86
@ kDataTypeExtendedCsd
MultiMediaCard Extended CSD register.
Definition enums.h:105
@ kDataTypeCdMcn
Compact Disc Media Catalogue Number (lead‑in, 13 ASCII bytes).
Definition enums.h:122
@ kDataTypeErasureParityDdt
Erasure coding parity shard for DDT secondary blocks.
Definition enums.h:152
@ kDataTypeMmcCsd
MultiMediaCard CSD register.
Definition enums.h:103
@ kDataTypeErasureParityDdtPrimary
Erasure coding parity replica for DDT primary block.
Definition enums.h:153
@ kDataTypeMmcCid
MultiMediaCard CID register.
Definition enums.h:102
@ kDataTypeBlurayDi
Blu-ray Disc Information (DI).
Definition enums.h:76
@ kDataTypeUsbDescriptors
USB descriptors set.
Definition enums.h:113
@ kDataTypeDiscControlBlock
DVD Disc Control Block.
Definition enums.h:108
@ kDataTypeBitstreamData
Bitstream data.
Definition enums.h:137
@ kDataTypeAacsVolumeUniqueKey
AACS Volume Unique Key.
Definition enums.h:149
@ kDataTypeCdFirstTrackPregap
Compact Disc first track pre-gap.
Definition enums.h:109
@ kDataTypeDvdTitleKeyDecrypted
Decrypted DVD Title Key.
Definition enums.h:129
@ kDataTypeBlurayDds
Blu-ray Disc Definition Structure (DDS).
Definition enums.h:78
@ kDataTypeDvdSectorId
DVD Identification Data (ID).
Definition enums.h:130
@ kDataTypeBluraySpareArea
Blu-ray spare area information.
Definition enums.h:80
@ kDataTypeXboxSecuritySector
Xbox Security Sector.
Definition enums.h:106
@ kDataTypeDvdDiscKey
DVD disc key.
Definition enums.h:57
@ kDataTypeHddvdMediumStatus
HD DVD medium status.
Definition enums.h:71
@ kDataTypeWiiUDiscKey
Nintendo Wii U disc key (16 bytes, from non-readable disc area).
Definition enums.h:139
@ kDataTypeWiiPartitionKeyMap
Nintendo Wii partition-to-key mapping with regions.
Definition enums.h:146
@ kDataTypeSdCsd
Secure Digital CSD register.
Definition enums.h:99
@ kDataTypeAppleSonyTag
Apple Sony (12‑byte) tag.
Definition enums.h:120
@ kDataTypeDvdSectorEccPi
DVD Error Correction Code (ECC) Parity of Inner Code (PI).
Definition enums.h:133
@ kDataTypeCdText
Compact Disc lead-in CD-Text.
Definition enums.h:54
@ kDataTypeCdSectorSuffix
Compact Disc sector suffix (EDC, ECC P, ECC Q).
Definition enums.h:117
@ kDataTypeAacsMediaIdentifier
AACS media identifier.
Definition enums.h:83
@ kDataTypeBlurayCartridgeStatus
Blu-ray cartridge status.
Definition enums.h:79
@ kDataTypeNgcwJunkMap
Nintendo GameCube/Wii junk region map with LFG seeds.
Definition enums.h:147
@ kDataTypePs3EncryptionMap
PS3 encryption region map (serialized from sector 0).
Definition enums.h:144
@ kDataTypeAacsMkb
AACS Media Key Block (MKB).
Definition enums.h:84
@ kDataTypeDvddlLayerCapacity
DVD dual-layer capacity.
Definition enums.h:72
@ kDataTypeDvdMkb
DVD Media Key Block (MKB).
Definition enums.h:61
@ kDataTypeDvdCmi
DVD lead-in Copyright Management Information (CMI).
Definition enums.h:56
@ kDataTypeMmcDiscInformation
MMC disc information.
Definition enums.h:90
@ kDataTypeErasureParityIndex
Erasure coding parity replica for index block.
Definition enums.h:155
@ kDataTypeDvdRamSpareArea
DVD-RAM spare area information.
Definition enums.h:64
@ kDataTypeDvddlMiddleZoneAddress
DVD dual-layer middle zone address.
Definition enums.h:73
@ kDataTypeFluxData
Flux data.
Definition enums.h:136
@ kDataTypePs3Data1
PS3 data1 key (16 bytes, from disc).
Definition enums.h:141
@ kDataTypeNone
No data.
Definition enums.h:47
@ kDataTypeXboxDmi
Xbox DMI.
Definition enums.h:114
@ kDataTypeWiiUPartitionKeyMap
Nintendo Wii U partition-to-key mapping with regions.
Definition enums.h:145
@ kDataTypeSdOcr
Secure Digital OCR register.
Definition enums.h:101
@ kDataTypeScsiModeSense6
SCSI MODE SENSE (6) response.
Definition enums.h:111
@ kDataTypeDvddlJumpIntervalSize
DVD dual-layer jump interval size.
Definition enums.h:74
@ kDataTypeCdPma
Compact Disc Power Management Area (PMA).
Definition enums.h:52
@ kDataTypePs3Pic
PS3 PIC data (115 bytes, from disc lead-in).
Definition enums.h:143
@ kDataTypeMmcOcr
MultiMediaCard OCR register.
Definition enums.h:104
@ kDataTypeSessionInfo
Compact Disc session information.
Definition enums.h:50
@ kDataTypeCdSubchannel
Compact Disc subchannel data.
Definition enums.h:118
@ kDataTypeDvdPfi2ndLayer
DVD Physical Format Information for the second layer.
Definition enums.h:135
@ kDataTypeCdSectorSuffixCorrected
Compact Disc sector suffix (EDC, ECC P, ECC Q) corrected-only stored.
Definition enums.h:124
@ kDataTypeBdSectorEdc
Blu-ray Sector EDC.
Definition enums.h:150
@ kDataTypePcmciaCis
PCMCIA Card Information Structure (CIS).
Definition enums.h:97
@ kDataTypeFullToc
Compact Disc full Table of Contents.
Definition enums.h:51
@ kDataTypeDvdSectorIed
DVD ID Error Detection Code (IED).
Definition enums.h:131
@ kDataTypeDvdMediaIdentifier
DVD media identifier.
Definition enums.h:60
@ kDataTypeAtaIdentify
ATA IDENTIFY DEVICE data.
Definition enums.h:95
@ kDataTypeCdLeadIn
Compact Disc lead‑in.
Definition enums.h:126
@ kDataTypeAacsDataKeys
AACS data keys.
Definition enums.h:85
@ kDataTypeDvdSectorCprMai
DVD Copyright Management Information (CPR_MAI).
Definition enums.h:128
@ kDataTypeSdScr
Secure Digital SCR register.
Definition enums.h:100
@ kDataTypeDvdrRmd
DVD-R RMD (Recording Management Data).
Definition enums.h:65
@ kDataTypeDvdRamDds
DVD-RAM Disc Definition Structure (DDS).
Definition enums.h:62
@ kDataTypeDvdDmi
DVD Disc Manufacturing Information (DMI).
Definition enums.h:59
@ kDataTypeAacsMediaKey
AACS Media Key.
Definition enums.h:148
@ kDataTypePriamDataTowerTag
Priam Data Tower (24‑byte) tag.
Definition enums.h:121
@ kDataTypeMmcTrackResourcesInformation
MMC track resources information.
Definition enums.h:91
@ kDataTypePs3Data2
PS3 data2 key (16 bytes, from disc).
Definition enums.h:142
@ kDataTypeMmcWriteProtection
MMC write-protection data.
Definition enums.h:89
@ kDataTypeDvddlManualLayerJumpLba
DVD dual-layer manual layer jump LBA.
Definition enums.h:75
@ kDataTypeXboxPfi
Xbox Physical Format Information (PFI).
Definition enums.h:115
@ kDataTypeDvdAdip
DVD Address In Pregroove (ADIP).
Definition enums.h:69
@ kDataTypeErasureParityMeta
Erasure coding parity shard for metadata blocks.
Definition enums.h:154
@ kDataTypeMmcPowResourcesInformation
MMC POW (Persistent Optical Write?) resources information.
Definition enums.h:92
@ kDataTypeDvdrMediaIdentifier
DVD-R media identifier.
Definition enums.h:67
@ kDataTypeAacsVolumeIdentifier
AACS volume identifier.
Definition enums.h:81
@ kDataTypeCprmMkb
CPRM Media Key Block (MKB).
Definition enums.h:87
@ kDataTypeDvdPfi
DVD Physical Format Information.
Definition enums.h:55
@ kDataTypeScsiModeSense10
SCSI MODE SENSE (10) response.
Definition enums.h:112
@ kDataTypeScsiInquiry
SCSI INQUIRY response.
Definition enums.h:93
@ kDataTypePs3DiscKey
PS3 derived disc key (16 bytes).
Definition enums.h:140
@ kDataTypeAacsSerialNumber
AACS serial number.
Definition enums.h:82
@ kDataTypeCdAtip
Compact Disc Absolute Time In Pregroove (ATIP).
Definition enums.h:53
@ kDataTypeDvdrPfi
DVD-R Physical Format Information.
Definition enums.h:68
@ kDataTypeUserData
User (main) data.
Definition enums.h:48
@ kDataTypeCdToc
Compact Disc partial Table of Contents.
Definition enums.h:49
@ kDataTypeDvdSectorEdc
DVD Error Detection Code (EDC).
Definition enums.h:132
@ kDataTypeDvdRamMediumStatus
DVD-RAM medium status.
Definition enums.h:63
@ kDataTypeFloppyWriteProtect
Floppy write-protect status.
Definition enums.h:138
@ kDataTypeScsiModePage2A
SCSI MODE PAGE 2Ah.
Definition enums.h:94
@ kDataTypeErasureParity
Erasure coding parity shard for data blocks.
Definition enums.h:151
@ kDataTypeDvdEccBlockPo
DVD Error Correction Code (ECC) Parity of Outer Code (PO).
Definition enums.h:134
@ kDataTypeAppleProfileTag
Apple Profile (20‑byte) tag.
Definition enums.h:119
@ kDataTypeHybridRecognizedLayers
Recognized layers (hybrid media).
Definition enums.h:88
@ kDataTypeBlurayBca
Blu-ray Burst Cutting Area (BCA).
Definition enums.h:77
@ kDataTypeHddvdCpi
HD DVD Copy Protection Information (CPI).
Definition enums.h:70
@ kDataTypeCdLeadOut
Compact Disc lead‑out.
Definition enums.h:110
@ kDataTypeCdSubHeader
Compact Disc MODE 2 subheader.
Definition enums.h:125
@ kDataTypeDvdBca
DVD Burst Cutting Area (BCA).
Definition enums.h:58
@ kDataTypeFloppyLeadOut
Floppy lead‑out data.
Definition enums.h:107
@ kDataTypeAtapiIdentify
ATAPI IDENTIFY PACKET DEVICE data.
Definition enums.h:96
@ kDataTypeCdSectorPrefix
Compact Disc sector prefix (sync, header).
Definition enums.h:116
@ kDataTypeCdSectorPrefixCorrected
Compact Disc sector prefix (sync, header) corrected-only stored.
Definition enums.h:123
@ kDataTypeSdCid
Secure Digital CID register.
Definition enums.h:98
@ kDataTypeDvdDiscKeyDecrypted
Decrypted DVD Disc Key.
Definition enums.h:127
@ kDataTypeDvdrPreRecordedInfo
DVD-R pre‑recorded information.
Definition enums.h:66
FeaturesCompatible
Bit-mask of optional, backward-compatible features stored in an image.
Definition enums.h:293
@ AARU_FEATURE_RW_BLAKE3
BLAKE3 checksum is present (read/write support for BLAKE3 hashes).
Definition enums.h:294
AaruformatStatus
Status / error codes specific to libaaruformat.
Definition enums.h:236
@ AARUF_STATUS_INVALID_CONTEXT
Provided context/handle is invalid.
Definition enums.h:237
CompressionType
List of known compression types.
Definition enums.h:32
@ kCompressionLzmaCst
LZMA applied to Claunia Subchannel Transform processed data.
Definition enums.h:36
@ kCompressionLzma
LZMA compression.
Definition enums.h:34
@ kCompressionNone
Not compressed.
Definition enums.h:33
@ kCompressionZstd
Zstandard compression.
Definition enums.h:37
@ kCompressionZstdCst
Zstandard applied to Claunia Subchannel Transform processed data.
Definition enums.h:38
@ kCompressionFlac
FLAC compression.
Definition enums.h:35