mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2026-07-08 18:06:18 +00:00
Rename data type enum.
This commit is contained in:
@@ -42,104 +42,104 @@ typedef enum
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
NoData = 0, ///< No data.
|
||||
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.
|
||||
DvdDiscKeyDecrypted = 80, ///< Decrypted DVD Disc Key
|
||||
DvdSectorCprMai = 81, ///< DVD Copyright Management Information (CPR_MAI)
|
||||
DvdSectorTitleKeyDecrypted = 82, ///< Decrypted DVD Title Key
|
||||
DvdSectorId = 83, ///< DVD Identification Data (ID)
|
||||
DvdSectorIed = 84, ///< DVD ID Error Detection Code (IED)
|
||||
DvdSectorEdc = 85, ///< DVD Error Detection Code (EDC)
|
||||
DvdSectorEccPi = 86, ///< DVD Error Correction Code (ECC) Parity of Inner Code (PI)
|
||||
DvdEccBlockPo = 87, ///< DVD Error Correction Code (ECC) Parity of Outer Code (PO)
|
||||
DvdPfi2ndLayer = 88, ///< DVD Physical Format Information for the second layer
|
||||
FluxData = 89, ///< Flux data.
|
||||
BitstreamData = 90, ///< Bitstream data.
|
||||
FloppyWriteProtectStatus = 91, ///< Floppy write-protect status.
|
||||
NintendoWiiUDiscKey = 92, ///< Nintendo Wii U disc key (16 bytes, from non-readable disc area)
|
||||
PS3DiscKey = 93, ///< PS3 derived disc key (16 bytes)
|
||||
PS3Data1 = 94, ///< PS3 data1 key (16 bytes, from disc)
|
||||
PS3Data2 = 95, ///< PS3 data2 key (16 bytes, from disc)
|
||||
PS3PIC = 96, ///< PS3 PIC data (115 bytes, from disc lead-in)
|
||||
PS3EncryptionMap = 97, ///< PS3 encryption region map (serialized from sector 0)
|
||||
kDataTypeNone = 0, ///< No data.
|
||||
kDataTypeUserData = 1, ///< User (main) data.
|
||||
kDataTypeCdToc = 2, ///< Compact Disc partial Table of Contents.
|
||||
kDataTypeSessionInfo = 3, ///< Compact Disc session information.
|
||||
kDataTypeFullToc = 4, ///< Compact Disc full Table of Contents.
|
||||
kDataTypeCdPma = 5, ///< Compact Disc Power Management Area (PMA).
|
||||
kDataTypeCdAtip = 6, ///< Compact Disc Absolute Time In Pregroove (ATIP).
|
||||
kDataTypeCdText = 7, ///< Compact Disc lead-in CD-Text.
|
||||
kDataTypeDvdPfi = 8, ///< DVD Physical Format Information.
|
||||
kDataTypeDvdCmi = 9, ///< DVD lead-in Copyright Management Information (CMI).
|
||||
kDataTypeDvdDiscKey = 10, ///< DVD disc key.
|
||||
kDataTypeDvdBca = 11, ///< DVD Burst Cutting Area (BCA).
|
||||
kDataTypeDvdDmi = 12, ///< DVD Disc Manufacturing Information (DMI).
|
||||
kDataTypeDvdMediaIdentifier = 13, ///< DVD media identifier.
|
||||
kDataTypeDvdMkb = 14, ///< DVD Media Key Block (MKB).
|
||||
kDataTypeDvdRamDds = 15, ///< DVD-RAM Disc Definition Structure (DDS).
|
||||
kDataTypeDvdRamMediumStatus = 16, ///< DVD-RAM medium status.
|
||||
kDataTypeDvdRamSpareArea = 17, ///< DVD-RAM spare area information.
|
||||
kDataTypeDvdrRmd = 18, ///< DVD-R RMD (Recording Management Data).
|
||||
kDataTypeDvdrPreRecordedInfo = 19, ///< DVD-R pre‑recorded information.
|
||||
kDataTypeDvdrMediaIdentifier = 20, ///< DVD-R media identifier.
|
||||
kDataTypeDvdrPfi = 21, ///< DVD-R Physical Format Information.
|
||||
kDataTypeDvdAdip = 22, ///< DVD Address In Pregroove (ADIP).
|
||||
kDataTypeHddvdCpi = 23, ///< HD DVD Copy Protection Information (CPI).
|
||||
kDataTypeHddvdMediumStatus = 24, ///< HD DVD medium status.
|
||||
kDataTypeDvddlLayerCapacity = 25, ///< DVD dual-layer capacity.
|
||||
kDataTypeDvddlMiddleZoneAddress = 26, ///< DVD dual-layer middle zone address.
|
||||
kDataTypeDvddlJumpIntervalSize = 27, ///< DVD dual-layer jump interval size.
|
||||
kDataTypeDvddlManualLayerJumpLba = 28, ///< DVD dual-layer manual layer jump LBA.
|
||||
kDataTypeBlurayDi = 29, ///< Blu-ray Disc Information (DI).
|
||||
kDataTypeBlurayBca = 30, ///< Blu-ray Burst Cutting Area (BCA).
|
||||
kDataTypeBlurayDds = 31, ///< Blu-ray Disc Definition Structure (DDS).
|
||||
kDataTypeBlurayCartridgeStatus = 32, ///< Blu-ray cartridge status.
|
||||
kDataTypeBluraySpareArea = 33, ///< Blu-ray spare area information.
|
||||
kDataTypeAacsVolumeIdentifier = 34, ///< AACS volume identifier.
|
||||
kDataTypeAacsSerialNumber = 35, ///< AACS serial number.
|
||||
kDataTypeAacsMediaIdentifier = 36, ///< AACS media identifier.
|
||||
kDataTypeAacsMkb = 37, ///< AACS Media Key Block (MKB).
|
||||
kDataTypeAacsDataKeys = 38, ///< AACS data keys.
|
||||
kDataTypeAacsLbaExtents = 39, ///< AACS LBA extents.
|
||||
kDataTypeCprmMkb = 40, ///< CPRM Media Key Block (MKB).
|
||||
kDataTypeHybridRecognizedLayers = 41, ///< Recognized layers (hybrid media).
|
||||
kDataTypeMmcWriteProtection = 42, ///< MMC write-protection data.
|
||||
kDataTypeMmcDiscInformation = 43, ///< MMC disc information.
|
||||
kDataTypeMmcTrackResourcesInformation = 44, ///< MMC track resources information.
|
||||
kDataTypeMmcPowResourcesInformation = 45, ///< MMC POW (Persistent Optical Write?) resources information.
|
||||
kDataTypeScsiInquiry = 46, ///< SCSI INQUIRY response.
|
||||
kDataTypeScsiModePage2A = 47, ///< SCSI MODE PAGE 2Ah.
|
||||
kDataTypeAtaIdentify = 48, ///< ATA IDENTIFY DEVICE data.
|
||||
kDataTypeAtapiIdentify = 49, ///< ATAPI IDENTIFY PACKET DEVICE data.
|
||||
kDataTypePcmciaCis = 50, ///< PCMCIA Card Information Structure (CIS).
|
||||
kDataTypeSdCid = 51, ///< Secure Digital CID register.
|
||||
kDataTypeSdCsd = 52, ///< Secure Digital CSD register.
|
||||
kDataTypeSdScr = 53, ///< Secure Digital SCR register.
|
||||
kDataTypeSdOcr = 54, ///< Secure Digital OCR register.
|
||||
kDataTypeMmcCid = 55, ///< MultiMediaCard CID register.
|
||||
kDataTypeMmcCsd = 56, ///< MultiMediaCard CSD register.
|
||||
kDataTypeMmcOcr = 57, ///< MultiMediaCard OCR register.
|
||||
kDataTypeExtendedCsd = 58, ///< MultiMediaCard Extended CSD register.
|
||||
kDataTypeXboxSecuritySector = 59, ///< Xbox Security Sector.
|
||||
kDataTypeFloppyLeadOut = 60, ///< Floppy lead‑out data.
|
||||
kDataTypeDiscControlBlock = 61, ///< DVD Disc Control Block.
|
||||
kDataTypeCdFirstTrackPregap = 62, ///< Compact Disc first track pre-gap.
|
||||
kDataTypeCdLeadOut = 63, ///< Compact Disc lead‑out.
|
||||
kDataTypeScsiModeSense6 = 64, ///< SCSI MODE SENSE (6) response.
|
||||
kDataTypeScsiModeSense10 = 65, ///< SCSI MODE SENSE (10) response.
|
||||
kDataTypeUsbDescriptors = 66, ///< USB descriptors set.
|
||||
kDataTypeXboxDmi = 67, ///< Xbox DMI.
|
||||
kDataTypeXboxPfi = 68, ///< Xbox Physical Format Information (PFI).
|
||||
kDataTypeCdSectorPrefix = 69, ///< Compact Disc sector prefix (sync, header).
|
||||
kDataTypeCdSectorSuffix = 70, ///< Compact Disc sector suffix (EDC, ECC P, ECC Q).
|
||||
kDataTypeCdSubchannel = 71, ///< Compact Disc subchannel data.
|
||||
kDataTypeAppleProfileTag = 72, ///< Apple Profile (20‑byte) tag.
|
||||
kDataTypeAppleSonyTag = 73, ///< Apple Sony (12‑byte) tag.
|
||||
kDataTypePriamDataTowerTag = 74, ///< Priam Data Tower (24‑byte) tag.
|
||||
kDataTypeCdMcn = 75, ///< Compact Disc Media Catalogue Number (lead‑in, 13 ASCII bytes).
|
||||
kDataTypeCdSectorPrefixCorrected = 76, ///< Compact Disc sector prefix (sync, header) corrected-only stored.
|
||||
kDataTypeCdSectorSuffixCorrected = 77, ///< Compact Disc sector suffix (EDC, ECC P, ECC Q) corrected-only stored.
|
||||
kDataTypeCdSubHeader = 78, ///< Compact Disc MODE 2 subheader.
|
||||
kDataTypeCdLeadIn = 79, ///< Compact Disc lead‑in.
|
||||
kDataTypeDvdDiscKeyDecrypted = 80, ///< Decrypted DVD Disc Key
|
||||
kDataTypeDvdSectorCprMai = 81, ///< DVD Copyright Management Information (CPR_MAI)
|
||||
kDataTypeDvdTitleKeyDecrypted = 82, ///< Decrypted DVD Title Key
|
||||
kDataTypeDvdSectorId = 83, ///< DVD Identification Data (ID)
|
||||
kDataTypeDvdSectorIed = 84, ///< DVD ID Error Detection Code (IED)
|
||||
kDataTypeDvdSectorEdc = 85, ///< DVD Error Detection Code (EDC)
|
||||
kDataTypeDvdSectorEccPi = 86, ///< DVD Error Correction Code (ECC) Parity of Inner Code (PI)
|
||||
kDataTypeDvdEccBlockPo = 87, ///< DVD Error Correction Code (ECC) Parity of Outer Code (PO)
|
||||
kDataTypeDvdPfi2ndLayer = 88, ///< DVD Physical Format Information for the second layer
|
||||
kDataTypeFluxData = 89, ///< Flux data.
|
||||
kDataTypeBitstreamData = 90, ///< Bitstream data.
|
||||
kDataTypeFloppyWriteProtect = 91, ///< Floppy write-protect status.
|
||||
kDataTypeWiiUDiscKey = 92, ///< Nintendo Wii U disc key (16 bytes, from non-readable disc area)
|
||||
kDataTypePs3DiscKey = 93, ///< PS3 derived disc key (16 bytes)
|
||||
kDataTypePs3Data1 = 94, ///< PS3 data1 key (16 bytes, from disc)
|
||||
kDataTypePs3Data2 = 95, ///< PS3 data2 key (16 bytes, from disc)
|
||||
kDataTypePs3Pic = 96, ///< PS3 PIC data (115 bytes, from disc lead-in)
|
||||
kDataTypePs3EncryptionMap = 97, ///< PS3 encryption region map (serialized from sector 0)
|
||||
} DataType;
|
||||
|
||||
/**
|
||||
|
||||
@@ -101,7 +101,7 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
// Even if those two checks shall have been done before
|
||||
|
||||
// NOP block, skip
|
||||
if(entry->dataType == NoData || (entry->dataType == UserData && ctx->header.biggestSectorSize > 0))
|
||||
if(entry->dataType == kDataTypeNone || (entry->dataType == kDataTypeUserData && ctx->header.biggestSectorSize > 0))
|
||||
{
|
||||
TRACE("NoData block found, skipping");
|
||||
TRACE("Exiting process_data_block() = AARUF_STATUS_OK");
|
||||
@@ -122,7 +122,7 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
ctx->image_info.ImageSize += block_header.cmpLength;
|
||||
|
||||
// Unused, skip
|
||||
if(entry->dataType == UserData)
|
||||
if(entry->dataType == kDataTypeUserData)
|
||||
{
|
||||
if(block_header.sectorSize > ctx->image_info.SectorSize)
|
||||
{
|
||||
@@ -156,7 +156,7 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
if(block_header.compression == kCompressionLzma || block_header.compression == kCompressionLzmaCst)
|
||||
{
|
||||
int error_no = 0;
|
||||
if(block_header.compression == kCompressionLzmaCst && block_header.type != CdSectorSubchannel)
|
||||
if(block_header.compression == kCompressionLzmaCst && block_header.type != kDataTypeCdSubchannel)
|
||||
{
|
||||
TRACE("Invalid compression type %u for block with data type %u, continuing...", block_header.compression,
|
||||
block_header.type);
|
||||
@@ -337,9 +337,9 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
// Check if it's not a media tag, but a sector tag, and fill the appropriate table then
|
||||
switch(entry->dataType)
|
||||
{
|
||||
case CdSectorPrefix:
|
||||
case CdSectorPrefixCorrected:
|
||||
if(entry->dataType == CdSectorPrefixCorrected) { ctx->sector_prefix_corrected = data; }
|
||||
case kDataTypeCdSectorPrefix:
|
||||
case kDataTypeCdSectorPrefixCorrected:
|
||||
if(entry->dataType == kDataTypeCdSectorPrefixCorrected) { ctx->sector_prefix_corrected = data; }
|
||||
else
|
||||
ctx->sector_prefix = data;
|
||||
|
||||
@@ -347,9 +347,9 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
ctx->readableSectorTags[kSectorTagCdHeader] = true;
|
||||
|
||||
break;
|
||||
case CdSectorSuffix:
|
||||
case CdSectorSuffixCorrected:
|
||||
if(entry->dataType == CdSectorSuffixCorrected)
|
||||
case kDataTypeCdSectorSuffix:
|
||||
case kDataTypeCdSectorSuffixCorrected:
|
||||
if(entry->dataType == kDataTypeCdSectorSuffixCorrected)
|
||||
ctx->sector_suffix_corrected = data;
|
||||
else
|
||||
ctx->sector_suffix = data;
|
||||
@@ -360,45 +360,45 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
ctx->readableSectorTags[kSectorTagCdEccQ] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEdc] = true;
|
||||
break;
|
||||
case CdSectorSubchannel:
|
||||
case kDataTypeCdSubchannel:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagCdSubchannel] = true;
|
||||
break;
|
||||
case AppleProfileTag:
|
||||
case kDataTypeAppleProfileTag:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagAppleProfile] = true;
|
||||
break;
|
||||
case AppleSonyTag:
|
||||
case kDataTypeAppleSonyTag:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagPriamDataTower] = true;
|
||||
break;
|
||||
case PriamDataTowerTag:
|
||||
case kDataTypePriamDataTowerTag:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagAppleSony] = true;
|
||||
break;
|
||||
case CompactDiscMode2Subheader:
|
||||
case kDataTypeCdSubHeader:
|
||||
ctx->mode2_subheaders = data;
|
||||
break;
|
||||
case DvdSectorId:
|
||||
case kDataTypeDvdSectorId:
|
||||
ctx->sector_id = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorNumber] = true;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorInformation] = true;
|
||||
break;
|
||||
case DvdSectorIed:
|
||||
case kDataTypeDvdSectorIed:
|
||||
ctx->sector_ied = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorIed] = true;
|
||||
break;
|
||||
case DvdSectorCprMai:
|
||||
case kDataTypeDvdSectorCprMai:
|
||||
ctx->sector_cpr_mai = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdCmi] = true;
|
||||
break;
|
||||
case DvdSectorEdc:
|
||||
case kDataTypeDvdSectorEdc:
|
||||
ctx->sector_edc = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorEdc] = true;
|
||||
break;
|
||||
case kSectorTagDvdTitleKeyDecrypted:
|
||||
ctx->sector_decrypted_title_key = data;
|
||||
ctx->readableSectorTags[DvdSectorTitleKeyDecrypted] = true;
|
||||
ctx->sector_decrypted_title_key = data;
|
||||
ctx->readableSectorTags[kDataTypeDvdTitleKeyDecrypted] = true;
|
||||
break;
|
||||
default:
|
||||
media_tag = (mediaTagEntry *)malloc(sizeof(mediaTagEntry));
|
||||
|
||||
@@ -881,7 +881,7 @@ static int32_t read_flux_payload_header(const aaruformat_context *ctx, uint64_t
|
||||
return AARUF_ERROR_CANNOT_READ_BLOCK;
|
||||
}
|
||||
|
||||
if(header->dataType != FluxData)
|
||||
if(header->dataType != kDataTypeFluxData)
|
||||
{
|
||||
FATAL("Incorrect data type %u for flux payload at offset %" PRIu64 " (expected FluxData)", header->dataType,
|
||||
payload_offset);
|
||||
|
||||
90
src/close.c
90
src/close.c
@@ -107,7 +107,7 @@ static int32_t write_cached_secondary_ddt(aaruformat_context *ctx)
|
||||
// Prepare DDT header for the cached table
|
||||
DdtHeader2 ddt_header = {0};
|
||||
ddt_header.identifier = DeDuplicationTableSecondary;
|
||||
ddt_header.type = UserData;
|
||||
ddt_header.type = kDataTypeUserData;
|
||||
ddt_header.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ddt_header.levels = ctx->user_data_ddt_header.levels;
|
||||
ddt_header.tableLevel = ctx->user_data_ddt_header.tableLevel + 1;
|
||||
@@ -226,7 +226,7 @@ static int32_t write_cached_secondary_ddt(aaruformat_context *ctx)
|
||||
// Add new index entry for the newly written secondary DDT
|
||||
IndexEntry new_ddt_entry;
|
||||
new_ddt_entry.blockType = DeDuplicationTableSecondary;
|
||||
new_ddt_entry.dataType = UserData;
|
||||
new_ddt_entry.dataType = kDataTypeUserData;
|
||||
new_ddt_entry.offset = end_of_file;
|
||||
|
||||
utarray_push_back(ctx->index_entries, &new_ddt_entry);
|
||||
@@ -306,7 +306,7 @@ static int32_t write_primary_ddt(aaruformat_context *ctx)
|
||||
|
||||
// Properly populate all header fields for multi-level DDT primary table
|
||||
ctx->user_data_ddt_header.identifier = DeDuplicationTable2;
|
||||
ctx->user_data_ddt_header.type = UserData;
|
||||
ctx->user_data_ddt_header.type = kDataTypeUserData;
|
||||
ctx->user_data_ddt_header.compression = kCompressionNone;
|
||||
// levels, tableLevel, previousLevelOffset, negative, overflow, blockAlignmentShift,
|
||||
// dataShift, tableShift, sizeType, entries, blocks, start are already set during creation
|
||||
@@ -348,7 +348,7 @@ static int32_t write_primary_ddt(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == UserData)
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == kDataTypeUserData)
|
||||
{
|
||||
TRACE("Found existing primary DDT index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -359,7 +359,7 @@ static int32_t write_primary_ddt(aaruformat_context *ctx)
|
||||
TRACE("Adding primary DDT to index");
|
||||
IndexEntry primary_ddt_entry;
|
||||
primary_ddt_entry.blockType = DeDuplicationTable2;
|
||||
primary_ddt_entry.dataType = UserData;
|
||||
primary_ddt_entry.dataType = kDataTypeUserData;
|
||||
primary_ddt_entry.offset = ctx->primary_ddt_offset;
|
||||
|
||||
utarray_push_back(ctx->index_entries, &primary_ddt_entry);
|
||||
@@ -400,7 +400,7 @@ static int32_t write_single_level_ddt(aaruformat_context *ctx)
|
||||
|
||||
// Properly populate all header fields
|
||||
ctx->user_data_ddt_header.identifier = DeDuplicationTable2;
|
||||
ctx->user_data_ddt_header.type = UserData;
|
||||
ctx->user_data_ddt_header.type = kDataTypeUserData;
|
||||
ctx->user_data_ddt_header.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ctx->user_data_ddt_header.levels = 1; // Single level
|
||||
ctx->user_data_ddt_header.tableLevel = 0; // Top level
|
||||
@@ -498,7 +498,7 @@ static int32_t write_single_level_ddt(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == UserData)
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == kDataTypeUserData)
|
||||
{
|
||||
TRACE("Found existing single-level DDT index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -509,7 +509,7 @@ static int32_t write_single_level_ddt(aaruformat_context *ctx)
|
||||
TRACE("Adding single-level DDT to index");
|
||||
IndexEntry single_ddt_entry;
|
||||
single_ddt_entry.blockType = DeDuplicationTable2;
|
||||
single_ddt_entry.dataType = UserData;
|
||||
single_ddt_entry.dataType = kDataTypeUserData;
|
||||
single_ddt_entry.offset = ddt_position;
|
||||
|
||||
utarray_push_back(ctx->index_entries, &single_ddt_entry);
|
||||
@@ -645,7 +645,7 @@ static int32_t write_tape_ddt(aaruformat_context *ctx)
|
||||
|
||||
// Initialize context user data DDT header
|
||||
ctx->user_data_ddt_header.identifier = DeDuplicationTable2;
|
||||
ctx->user_data_ddt_header.type = UserData;
|
||||
ctx->user_data_ddt_header.type = kDataTypeUserData;
|
||||
ctx->user_data_ddt_header.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ctx->user_data_ddt_header.levels = 1; // Single level
|
||||
ctx->user_data_ddt_header.tableLevel = 0; // Top level
|
||||
@@ -933,7 +933,7 @@ static void write_mode2_subheaders_block(aaruformat_context *ctx)
|
||||
TRACE("Writing MODE 2 subheaders block at position %ld", mode2_subheaders_position);
|
||||
BlockHeader subheaders_block = {0};
|
||||
subheaders_block.identifier = DataBlock;
|
||||
subheaders_block.type = CompactDiscMode2Subheader;
|
||||
subheaders_block.type = kDataTypeCdSubHeader;
|
||||
subheaders_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
subheaders_block.length =
|
||||
(uint32_t)(ctx->user_data_ddt_header.negative + ctx->image_info.Sectors + ctx->user_data_ddt_header.overflow) *
|
||||
@@ -1002,7 +1002,7 @@ static void write_mode2_subheaders_block(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == CompactDiscMode2Subheader)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeCdSubHeader)
|
||||
{
|
||||
TRACE("Found existing MODE 2 subheaders block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -1013,7 +1013,7 @@ static void write_mode2_subheaders_block(aaruformat_context *ctx)
|
||||
TRACE("Adding MODE 2 subheaders block to index");
|
||||
IndexEntry mode2_subheaders_index_entry;
|
||||
mode2_subheaders_index_entry.blockType = DataBlock;
|
||||
mode2_subheaders_index_entry.dataType = CompactDiscMode2Subheader;
|
||||
mode2_subheaders_index_entry.dataType = kDataTypeCdSubHeader;
|
||||
mode2_subheaders_index_entry.offset = mode2_subheaders_position;
|
||||
utarray_push_back(ctx->index_entries, &mode2_subheaders_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -1064,7 +1064,7 @@ static void write_sector_prefix(aaruformat_context *ctx)
|
||||
TRACE("Writing sector prefix block at position %ld", prefix_position);
|
||||
BlockHeader prefix_block = {0};
|
||||
prefix_block.identifier = DataBlock;
|
||||
prefix_block.type = CdSectorPrefix;
|
||||
prefix_block.type = kDataTypeCdSectorPrefix;
|
||||
prefix_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
prefix_block.length = (uint32_t)ctx->sector_prefix_offset;
|
||||
|
||||
@@ -1131,7 +1131,7 @@ static void write_sector_prefix(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == CdSectorPrefix)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeCdSectorPrefix)
|
||||
{
|
||||
TRACE("Found existing CD sector prefix block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -1142,7 +1142,7 @@ static void write_sector_prefix(aaruformat_context *ctx)
|
||||
TRACE("Adding CD sector prefix block to index");
|
||||
IndexEntry prefix_index_entry;
|
||||
prefix_index_entry.blockType = DataBlock;
|
||||
prefix_index_entry.dataType = CdSectorPrefix;
|
||||
prefix_index_entry.dataType = kDataTypeCdSectorPrefix;
|
||||
prefix_index_entry.offset = prefix_position;
|
||||
utarray_push_back(ctx->index_entries, &prefix_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -1202,7 +1202,7 @@ static void write_sector_suffix(aaruformat_context *ctx)
|
||||
TRACE("Writing sector suffix block at position %ld", suffix_position);
|
||||
BlockHeader suffix_block = {0};
|
||||
suffix_block.identifier = DataBlock;
|
||||
suffix_block.type = CdSectorSuffix;
|
||||
suffix_block.type = kDataTypeCdSectorSuffix;
|
||||
suffix_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
suffix_block.length = (uint32_t)ctx->sector_suffix_offset;
|
||||
|
||||
@@ -1269,7 +1269,7 @@ static void write_sector_suffix(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == CdSectorSuffix)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeCdSectorSuffix)
|
||||
{
|
||||
TRACE("Found existing CD sector suffix block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -1280,7 +1280,7 @@ static void write_sector_suffix(aaruformat_context *ctx)
|
||||
TRACE("Adding CD sector suffix block to index");
|
||||
IndexEntry suffix_index_entry;
|
||||
suffix_index_entry.blockType = DataBlock;
|
||||
suffix_index_entry.dataType = CdSectorSuffix;
|
||||
suffix_index_entry.dataType = kDataTypeCdSectorSuffix;
|
||||
suffix_index_entry.offset = suffix_position;
|
||||
utarray_push_back(ctx->index_entries, &suffix_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -1336,7 +1336,7 @@ static void write_sector_prefix_ddt(aaruformat_context *ctx)
|
||||
TRACE("Writing sector prefix DDT v2 at position %ld", prefix_ddt_position);
|
||||
DdtHeader2 ddt_header2 = {0};
|
||||
ddt_header2.identifier = DeDuplicationTable2;
|
||||
ddt_header2.type = CdSectorPrefix;
|
||||
ddt_header2.type = kDataTypeCdSectorPrefix;
|
||||
ddt_header2.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ddt_header2.levels = 1;
|
||||
ddt_header2.tableLevel = 0;
|
||||
@@ -1413,7 +1413,7 @@ static void write_sector_prefix_ddt(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == CdSectorPrefix)
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == kDataTypeCdSectorPrefix)
|
||||
{
|
||||
TRACE("Found existing sector prefix DDT v2 index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -1424,7 +1424,7 @@ static void write_sector_prefix_ddt(aaruformat_context *ctx)
|
||||
TRACE("Adding sector prefix DDT v2 to index");
|
||||
IndexEntry prefix_ddt_index_entry;
|
||||
prefix_ddt_index_entry.blockType = DeDuplicationTable2;
|
||||
prefix_ddt_index_entry.dataType = CdSectorPrefix;
|
||||
prefix_ddt_index_entry.dataType = kDataTypeCdSectorPrefix;
|
||||
prefix_ddt_index_entry.offset = prefix_ddt_position;
|
||||
utarray_push_back(ctx->index_entries, &prefix_ddt_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -1496,7 +1496,7 @@ static void write_sector_suffix_ddt(aaruformat_context *ctx)
|
||||
TRACE("Writing sector suffix DDT v2 at position %ld", suffix_ddt_position);
|
||||
DdtHeader2 ddt_header2 = {0};
|
||||
ddt_header2.identifier = DeDuplicationTable2;
|
||||
ddt_header2.type = CdSectorSuffix;
|
||||
ddt_header2.type = kDataTypeCdSectorSuffix;
|
||||
ddt_header2.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ddt_header2.levels = 1;
|
||||
ddt_header2.tableLevel = 0;
|
||||
@@ -1573,7 +1573,7 @@ static void write_sector_suffix_ddt(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == CdSectorSuffix)
|
||||
if(entry && entry->blockType == DeDuplicationTable2 && entry->dataType == kDataTypeCdSectorSuffix)
|
||||
{
|
||||
TRACE("Found existing sector suffix DDT v2 index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -1584,7 +1584,7 @@ static void write_sector_suffix_ddt(aaruformat_context *ctx)
|
||||
TRACE("Adding sector suffix DDT v2 to index");
|
||||
IndexEntry suffix_ddt_index_entry;
|
||||
suffix_ddt_index_entry.blockType = DeDuplicationTable2;
|
||||
suffix_ddt_index_entry.dataType = CdSectorSuffix;
|
||||
suffix_ddt_index_entry.dataType = kDataTypeCdSectorSuffix;
|
||||
suffix_ddt_index_entry.offset = suffix_ddt_position;
|
||||
utarray_push_back(ctx->index_entries, &suffix_ddt_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -1678,7 +1678,7 @@ static void write_sector_subchannel(aaruformat_context *ctx)
|
||||
|
||||
if(ctx->image_info.MetadataMediaType == OpticalDisc)
|
||||
{
|
||||
subchannel_block.type = CdSectorSubchannel;
|
||||
subchannel_block.type = kDataTypeCdSubchannel;
|
||||
subchannel_block.length = (uint32_t)(ctx->user_data_ddt_header.negative + ctx->image_info.Sectors +
|
||||
ctx->user_data_ddt_header.overflow) *
|
||||
96;
|
||||
@@ -1733,16 +1733,16 @@ static void write_sector_subchannel(aaruformat_context *ctx)
|
||||
{
|
||||
case AppleProfile:
|
||||
case AppleFileWare:
|
||||
subchannel_block.type = AppleProfileTag;
|
||||
subchannel_block.type = kDataTypeAppleProfileTag;
|
||||
subchannel_block.length = (uint32_t)(ctx->image_info.Sectors + ctx->user_data_ddt_header.overflow) * 20;
|
||||
break;
|
||||
case AppleSonyDS:
|
||||
case AppleSonySS:
|
||||
subchannel_block.type = AppleSonyTag;
|
||||
subchannel_block.type = kDataTypeAppleSonyTag;
|
||||
subchannel_block.length = (uint32_t)(ctx->image_info.Sectors + ctx->user_data_ddt_header.overflow) * 12;
|
||||
break;
|
||||
case PriamDataTower:
|
||||
subchannel_block.type = PriamDataTowerTag;
|
||||
subchannel_block.type = kDataTypePriamDataTowerTag;
|
||||
subchannel_block.length = (uint32_t)(ctx->image_info.Sectors + ctx->user_data_ddt_header.overflow) * 24;
|
||||
break;
|
||||
default:
|
||||
@@ -1991,7 +1991,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Writing DVD sector ID block at position %ld", id_position);
|
||||
BlockHeader id_block = {0};
|
||||
id_block.identifier = DataBlock;
|
||||
id_block.type = DvdSectorId;
|
||||
id_block.type = kDataTypeDvdSectorId;
|
||||
id_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
id_block.length = (uint32_t)total_sectors * 4;
|
||||
|
||||
@@ -2058,7 +2058,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == DvdSectorId)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeDvdSectorId)
|
||||
{
|
||||
TRACE("Found existing DVD sector ID block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -2069,7 +2069,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Adding DVD sector ID block to index");
|
||||
IndexEntry id_index_entry;
|
||||
id_index_entry.blockType = DataBlock;
|
||||
id_index_entry.dataType = DvdSectorId;
|
||||
id_index_entry.dataType = kDataTypeDvdSectorId;
|
||||
id_index_entry.offset = id_position;
|
||||
utarray_push_back(ctx->index_entries, &id_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -2091,7 +2091,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Writing DVD sector IED block at position %ld", ied_position);
|
||||
BlockHeader ied_block = {0};
|
||||
ied_block.identifier = DataBlock;
|
||||
ied_block.type = DvdSectorIed;
|
||||
ied_block.type = kDataTypeDvdSectorIed;
|
||||
ied_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ied_block.length = (uint32_t)total_sectors * 2;
|
||||
// Calculate CRC64
|
||||
@@ -2156,7 +2156,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == DvdSectorIed)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeDvdSectorIed)
|
||||
{
|
||||
TRACE("Found existing DVD sector IED block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -2167,7 +2167,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Adding DVD sector IED block to index");
|
||||
IndexEntry ied_index_entry;
|
||||
ied_index_entry.blockType = DataBlock;
|
||||
ied_index_entry.dataType = DvdSectorIed;
|
||||
ied_index_entry.dataType = kDataTypeDvdSectorIed;
|
||||
ied_index_entry.offset = ied_position;
|
||||
utarray_push_back(ctx->index_entries, &ied_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -2189,7 +2189,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Writing DVD sector CPR/MAI block at position %ld", cpr_mai_position);
|
||||
BlockHeader cpr_mai_block = {0};
|
||||
cpr_mai_block.identifier = DataBlock;
|
||||
cpr_mai_block.type = DvdSectorCprMai;
|
||||
cpr_mai_block.type = kDataTypeDvdSectorCprMai;
|
||||
cpr_mai_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
cpr_mai_block.length = (uint32_t)total_sectors * 6;
|
||||
// Calculate CRC64
|
||||
@@ -2254,7 +2254,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == DvdSectorCprMai)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeDvdSectorCprMai)
|
||||
{
|
||||
TRACE("Found existing DVD sector CPR/MAI block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -2265,7 +2265,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Adding DVD sector CPR/MAI block to index");
|
||||
IndexEntry cpr_mai_index_entry;
|
||||
cpr_mai_index_entry.blockType = DataBlock;
|
||||
cpr_mai_index_entry.dataType = DvdSectorCprMai;
|
||||
cpr_mai_index_entry.dataType = kDataTypeDvdSectorCprMai;
|
||||
cpr_mai_index_entry.offset = cpr_mai_position;
|
||||
utarray_push_back(ctx->index_entries, &cpr_mai_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -2287,7 +2287,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Writing DVD sector EDC block at position %ld", edc_position);
|
||||
BlockHeader edc_block = {0};
|
||||
edc_block.identifier = DataBlock;
|
||||
edc_block.type = DvdSectorEdc;
|
||||
edc_block.type = kDataTypeDvdSectorEdc;
|
||||
edc_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
edc_block.length = (uint32_t)total_sectors * 4;
|
||||
// Calculate CRC64
|
||||
@@ -2352,7 +2352,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == DvdSectorEdc)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeDvdSectorEdc)
|
||||
{
|
||||
TRACE("Found existing DVD sector EDC block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -2363,7 +2363,7 @@ void write_dvd_long_sector_blocks(aaruformat_context *ctx)
|
||||
TRACE("Adding DVD sector EDC block to index");
|
||||
IndexEntry edc_index_entry;
|
||||
edc_index_entry.blockType = DataBlock;
|
||||
edc_index_entry.dataType = DvdSectorEdc;
|
||||
edc_index_entry.dataType = kDataTypeDvdSectorEdc;
|
||||
edc_index_entry.offset = edc_position;
|
||||
utarray_push_back(ctx->index_entries, &edc_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -2487,7 +2487,7 @@ static void write_dvd_title_key_decrypted_block(aaruformat_context *ctx)
|
||||
TRACE("Writing DVD decrypted title key block at position %ld", block_position);
|
||||
BlockHeader decrypted_title_key_block = {0};
|
||||
decrypted_title_key_block.identifier = DataBlock;
|
||||
decrypted_title_key_block.type = DvdSectorTitleKeyDecrypted;
|
||||
decrypted_title_key_block.type = kDataTypeDvdTitleKeyDecrypted;
|
||||
decrypted_title_key_block.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
decrypted_title_key_block.length =
|
||||
(uint32_t)(ctx->user_data_ddt_header.negative + ctx->image_info.Sectors + ctx->user_data_ddt_header.overflow) *
|
||||
@@ -2558,7 +2558,7 @@ static void write_dvd_title_key_decrypted_block(aaruformat_context *ctx)
|
||||
for(int k = utarray_len(ctx->index_entries) - 1; k >= 0; k--)
|
||||
{
|
||||
const IndexEntry *entry = (IndexEntry *)utarray_eltptr(ctx->index_entries, k);
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == DvdSectorTitleKeyDecrypted)
|
||||
if(entry && entry->blockType == DataBlock && entry->dataType == kDataTypeDvdTitleKeyDecrypted)
|
||||
{
|
||||
TRACE("Found existing DVD decrypted title key block index entry at position %d, removing", k);
|
||||
utarray_erase(ctx->index_entries, k, 1);
|
||||
@@ -2569,7 +2569,7 @@ static void write_dvd_title_key_decrypted_block(aaruformat_context *ctx)
|
||||
TRACE("Adding DVD decrypted title key block to index");
|
||||
IndexEntry decrypted_title_key_index_entry;
|
||||
decrypted_title_key_index_entry.blockType = DataBlock;
|
||||
decrypted_title_key_index_entry.dataType = DvdSectorTitleKeyDecrypted;
|
||||
decrypted_title_key_index_entry.dataType = kDataTypeDvdTitleKeyDecrypted;
|
||||
decrypted_title_key_index_entry.offset = block_position;
|
||||
utarray_push_back(ctx->index_entries, &decrypted_title_key_index_entry);
|
||||
ctx->dirty_index_block = true;
|
||||
@@ -4485,7 +4485,7 @@ static int32_t write_flux_capture_payload(aaruformat_context *ctx, FluxCaptureRe
|
||||
|
||||
DataStreamPayloadHeader payload_header = {0};
|
||||
payload_header.identifier = DataStreamPayloadBlock;
|
||||
payload_header.dataType = FluxData;
|
||||
payload_header.dataType = kDataTypeFluxData;
|
||||
payload_header.compression = (uint16_t)compression;
|
||||
payload_header.cmpLength = cmp_length;
|
||||
payload_header.length = (uint32_t)raw_length;
|
||||
@@ -4510,7 +4510,7 @@ static int32_t write_flux_capture_payload(aaruformat_context *ctx, FluxCaptureRe
|
||||
|
||||
IndexEntry payload_entry;
|
||||
payload_entry.blockType = DataStreamPayloadBlock;
|
||||
payload_entry.dataType = FluxData;
|
||||
payload_entry.dataType = kDataTypeFluxData;
|
||||
payload_entry.offset = payload_position;
|
||||
utarray_push_back(ctx->index_entries, &payload_entry);
|
||||
|
||||
|
||||
@@ -410,7 +410,7 @@ AARU_EXPORT void AARU_CALL *aaruf_create(const char *filepath, const uint32_t me
|
||||
TRACE("Initializing DDT2");
|
||||
ctx->in_memory_ddt = true;
|
||||
ctx->user_data_ddt_header.identifier = DeDuplicationTable2;
|
||||
ctx->user_data_ddt_header.type = UserData;
|
||||
ctx->user_data_ddt_header.type = kDataTypeUserData;
|
||||
ctx->user_data_ddt_header.compression = kCompressionNone;
|
||||
ctx->user_data_ddt_header.tableLevel = 0;
|
||||
ctx->user_data_ddt_header.previousLevelOffset = 0;
|
||||
|
||||
@@ -131,7 +131,7 @@ int32_t process_ddt_v1(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
|
||||
ctx->image_info.ImageSize += ddt_header.cmpLength;
|
||||
|
||||
if(entry->dataType == UserData)
|
||||
if(entry->dataType == kDataTypeUserData)
|
||||
{
|
||||
ctx->image_info.Sectors = ddt_header.entries;
|
||||
ctx->shift = ddt_header.shift;
|
||||
@@ -243,7 +243,7 @@ int32_t process_ddt_v1(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(entry->dataType == CdSectorPrefixCorrected || entry->dataType == CdSectorSuffixCorrected)
|
||||
else if(entry->dataType == kDataTypeCdSectorPrefixCorrected || entry->dataType == kDataTypeCdSectorSuffixCorrected)
|
||||
{
|
||||
switch(ddt_header.compression)
|
||||
{
|
||||
@@ -314,9 +314,9 @@ int32_t process_ddt_v1(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
free(cmp_data);
|
||||
cmp_data = NULL;
|
||||
|
||||
if(entry->dataType == CdSectorPrefixCorrected)
|
||||
if(entry->dataType == kDataTypeCdSectorPrefixCorrected)
|
||||
ctx->sector_prefix_ddt = cd_ddt;
|
||||
else if(entry->dataType == CdSectorSuffixCorrected)
|
||||
else if(entry->dataType == kDataTypeCdSectorSuffixCorrected)
|
||||
ctx->sector_suffix_ddt = cd_ddt;
|
||||
else
|
||||
free(cd_ddt);
|
||||
@@ -342,9 +342,9 @@ int32_t process_ddt_v1(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
break;
|
||||
}
|
||||
|
||||
if(entry->dataType == CdSectorPrefixCorrected)
|
||||
if(entry->dataType == kDataTypeCdSectorPrefixCorrected)
|
||||
ctx->sector_prefix_ddt = cd_ddt;
|
||||
else if(entry->dataType == CdSectorSuffixCorrected)
|
||||
else if(entry->dataType == kDataTypeCdSectorSuffixCorrected)
|
||||
ctx->sector_suffix_ddt = cd_ddt;
|
||||
else
|
||||
free(cd_ddt);
|
||||
|
||||
@@ -141,7 +141,7 @@ int32_t process_ddt_v2(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
|
||||
ctx->image_info.ImageSize += ddt_header.cmpLength;
|
||||
|
||||
if(entry->dataType == UserData)
|
||||
if(entry->dataType == kDataTypeUserData)
|
||||
{
|
||||
// User area sectors is blocks stored in DDT minus the negative and overflow displacement blocks
|
||||
ctx->image_info.Sectors = ddt_header.blocks - ddt_header.negative - ddt_header.overflow;
|
||||
@@ -304,7 +304,7 @@ int32_t process_ddt_v2(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(entry->dataType == CdSectorPrefix || entry->dataType == CdSectorSuffix)
|
||||
else if(entry->dataType == kDataTypeCdSectorPrefix || entry->dataType == kDataTypeCdSectorSuffix)
|
||||
switch(ddt_header.compression)
|
||||
{
|
||||
case kCompressionLzma:
|
||||
@@ -398,9 +398,9 @@ int32_t process_ddt_v2(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
return AARUF_ERROR_INVALID_BLOCK_CRC;
|
||||
}
|
||||
|
||||
if(entry->dataType == CdSectorPrefix)
|
||||
if(entry->dataType == kDataTypeCdSectorPrefix)
|
||||
ctx->sector_prefix_ddt2 = (uint64_t *)buffer;
|
||||
else if(entry->dataType == CdSectorSuffix)
|
||||
else if(entry->dataType == kDataTypeCdSectorSuffix)
|
||||
ctx->sector_suffix_ddt2 = (uint64_t *)buffer;
|
||||
else
|
||||
free(buffer);
|
||||
@@ -447,9 +447,9 @@ int32_t process_ddt_v2(aaruformat_context *ctx, IndexEntry *entry, bool *found_u
|
||||
return AARUF_ERROR_INVALID_BLOCK_CRC;
|
||||
}
|
||||
|
||||
if(entry->dataType == CdSectorPrefix)
|
||||
if(entry->dataType == kDataTypeCdSectorPrefix)
|
||||
ctx->sector_prefix_ddt2 = (uint64_t *)buffer;
|
||||
else if(entry->dataType == CdSectorSuffix)
|
||||
else if(entry->dataType == kDataTypeCdSectorSuffix)
|
||||
ctx->sector_suffix_ddt2 = (uint64_t *)buffer;
|
||||
else
|
||||
free(buffer);
|
||||
@@ -789,7 +789,7 @@ int32_t decode_ddt_multi_level_v2(aaruformat_context *ctx, uint64_t sector_addre
|
||||
|
||||
if((ddt_header.identifier != DeDuplicationTableSecondary &&
|
||||
ddt_header.identifier != DeDuplicationTableSAlpha) ||
|
||||
ddt_header.type != UserData)
|
||||
ddt_header.type != kDataTypeUserData)
|
||||
{
|
||||
FATAL("Invalid block header at %" PRIu64 "", secondary_ddt_offset);
|
||||
TRACE("Exiting decode_ddt_multi_level_v2() = AARUF_ERROR_CANNOT_READ_BLOCK");
|
||||
@@ -1216,7 +1216,7 @@ bool set_ddt_multi_level_v2(aaruformat_context *ctx, uint64_t sector_address, bo
|
||||
// Prepare DDT header for the never-written cached table
|
||||
memset(&ddt_header, 0, sizeof(DdtHeader2));
|
||||
ddt_header.identifier = DeDuplicationTableSecondary;
|
||||
ddt_header.type = UserData;
|
||||
ddt_header.type = kDataTypeUserData;
|
||||
ddt_header.compression =
|
||||
ctx->compression_enabled ? kCompressionLzma : kCompressionNone; // Use no compression for simplicity
|
||||
ddt_header.levels = ctx->user_data_ddt_header.levels;
|
||||
@@ -1320,7 +1320,7 @@ bool set_ddt_multi_level_v2(aaruformat_context *ctx, uint64_t sector_address, bo
|
||||
// Add index entry for the newly written secondary DDT
|
||||
IndexEntry new_ddt_entry;
|
||||
new_ddt_entry.blockType = DeDuplicationTableSecondary;
|
||||
new_ddt_entry.dataType = UserData;
|
||||
new_ddt_entry.dataType = kDataTypeUserData;
|
||||
new_ddt_entry.offset = end_of_file;
|
||||
|
||||
utarray_push_back(ctx->index_entries, &new_ddt_entry);
|
||||
@@ -1395,7 +1395,7 @@ bool set_ddt_multi_level_v2(aaruformat_context *ctx, uint64_t sector_address, bo
|
||||
// Prepare DDT header for the cached table
|
||||
memset(&ddt_header, 0, sizeof(DdtHeader2));
|
||||
ddt_header.identifier = DeDuplicationTableSecondary;
|
||||
ddt_header.type = UserData;
|
||||
ddt_header.type = kDataTypeUserData;
|
||||
ddt_header.compression = ctx->compression_enabled ? kCompressionLzma : kCompressionNone;
|
||||
ddt_header.levels = ctx->user_data_ddt_header.levels;
|
||||
ddt_header.tableLevel = ctx->user_data_ddt_header.tableLevel + 1;
|
||||
@@ -1522,7 +1522,7 @@ bool set_ddt_multi_level_v2(aaruformat_context *ctx, uint64_t sector_address, bo
|
||||
// Add new index entry for the newly written secondary DDT
|
||||
IndexEntry new_ddt_entry;
|
||||
new_ddt_entry.blockType = DeDuplicationTableSecondary;
|
||||
new_ddt_entry.dataType = UserData;
|
||||
new_ddt_entry.dataType = kDataTypeUserData;
|
||||
new_ddt_entry.offset = end_of_file;
|
||||
|
||||
utarray_push_back(ctx->index_entries, &new_ddt_entry);
|
||||
@@ -1581,7 +1581,7 @@ bool set_ddt_multi_level_v2(aaruformat_context *ctx, uint64_t sector_address, bo
|
||||
size_t read_bytes = fread(&ddt_header, 1, sizeof(DdtHeader2), ctx->imageStream);
|
||||
|
||||
if(read_bytes != sizeof(DdtHeader2) || ddt_header.identifier != DeDuplicationTable2 ||
|
||||
ddt_header.type != UserData)
|
||||
ddt_header.type != kDataTypeUserData)
|
||||
{
|
||||
FATAL("Invalid secondary DDT header at %" PRIu64, secondary_ddt_offset);
|
||||
TRACE("Exiting set_ddt_multi_level_v2() = false");
|
||||
|
||||
312
src/helpers.c
312
src/helpers.c
@@ -40,161 +40,161 @@ AARU_LOCAL int32_t AARU_CALL aaruf_get_media_tag_type_for_datatype(const int32_t
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case CompactDiscPartialToc:
|
||||
case kDataTypeCdToc:
|
||||
return kMediaTagCdToc;
|
||||
case CompactDiscSessionInfo:
|
||||
case kDataTypeSessionInfo:
|
||||
return kMediaTagSessionInfo;
|
||||
case CompactDiscToc:
|
||||
case kDataTypeFullToc:
|
||||
return kMediaTagFullToc;
|
||||
case CompactDiscPma:
|
||||
case kDataTypeCdPma:
|
||||
return kMediaTagCdPma;
|
||||
case CompactDiscAtip:
|
||||
case kDataTypeCdAtip:
|
||||
return kMediaTagCdAtip;
|
||||
case CompactDiscLeadInCdText:
|
||||
case kDataTypeCdText:
|
||||
return kMediaTagCdText;
|
||||
case DvdPfi:
|
||||
case kDataTypeDvdPfi:
|
||||
return kMediaTagDvdPfi;
|
||||
case DvdPfi2ndLayer:
|
||||
case kDataTypeDvdPfi2ndLayer:
|
||||
return kMediaTagDvdPfi2ndLayer;
|
||||
case DvdLeadInCmi:
|
||||
case kDataTypeDvdCmi:
|
||||
return kMediaTagDvdCmi;
|
||||
case DvdDiscKey:
|
||||
case kDataTypeDvdDiscKey:
|
||||
return kMediaTagDvdDiscKey;
|
||||
case DvdBca:
|
||||
case kDataTypeDvdBca:
|
||||
return kMediaTagDvdBca;
|
||||
case DvdDmi:
|
||||
case kDataTypeDvdDmi:
|
||||
return kMediaTagDvdDmi;
|
||||
case DvdMediaIdentifier:
|
||||
case kDataTypeDvdMediaIdentifier:
|
||||
return kMediaTagDvdMediaIdentifier;
|
||||
case DvdMediaKeyBlock:
|
||||
case kDataTypeDvdMkb:
|
||||
return kMediaTagDvdMkb;
|
||||
case DvdRamDds:
|
||||
case kDataTypeDvdRamDds:
|
||||
return kMediaTagDvdRamDds;
|
||||
case DvdRamMediumStatus:
|
||||
case kDataTypeDvdRamMediumStatus:
|
||||
return kMediaTagDvdRamMediumStatus;
|
||||
case DvdRamSpareArea:
|
||||
case kDataTypeDvdRamSpareArea:
|
||||
return kMediaTagDvdRamSpareArea;
|
||||
case DvdRRmd:
|
||||
case kDataTypeDvdrRmd:
|
||||
return kMediaTagDvdrRmd;
|
||||
case DvdRPrerecordedInfo:
|
||||
case kDataTypeDvdrPreRecordedInfo:
|
||||
return kMediaTagDvdrPreRecordedInfo;
|
||||
case DvdRMediaIdentifier:
|
||||
case kDataTypeDvdrMediaIdentifier:
|
||||
return kMediaTagDvdrMediaIdentifier;
|
||||
case DvdRPfi:
|
||||
case kDataTypeDvdrPfi:
|
||||
return kMediaTagDvdrPfi;
|
||||
case DvdAdip:
|
||||
case kDataTypeDvdAdip:
|
||||
return kMediaTagDvdAdip;
|
||||
case HdDvdCpi:
|
||||
case kDataTypeHddvdCpi:
|
||||
return kMediaTagHddvdCpi;
|
||||
case HdDvdMediumStatus:
|
||||
case kDataTypeHddvdMediumStatus:
|
||||
return kMediaTagHddvdMediumStatus;
|
||||
case DvdDlLayerCapacity:
|
||||
case kDataTypeDvddlLayerCapacity:
|
||||
return kMediaTagDvddlLayerCapacity;
|
||||
case DvdDlMiddleZoneAddress:
|
||||
case kDataTypeDvddlMiddleZoneAddress:
|
||||
return kMediaTagDvddlMiddleZoneAddress;
|
||||
case DvdDlJumpIntervalSize:
|
||||
case kDataTypeDvddlJumpIntervalSize:
|
||||
return kMediaTagDvddlJumpIntervalSize;
|
||||
case DvdDlManualLayerJumpLba:
|
||||
case kDataTypeDvddlManualLayerJumpLba:
|
||||
return kMediaTagDvddlManualLayerJumpLba;
|
||||
case BlurayDi:
|
||||
case kDataTypeBlurayDi:
|
||||
return kMediaTagBlurayDi;
|
||||
case BlurayBca:
|
||||
case kDataTypeBlurayBca:
|
||||
return kMediaTagBlurayBca;
|
||||
case BlurayDds:
|
||||
case kDataTypeBlurayDds:
|
||||
return kMediaTagBlurayDds;
|
||||
case BlurayCartridgeStatus:
|
||||
case kDataTypeBlurayCartridgeStatus:
|
||||
return kMediaTagBlurayCartridgeStatus;
|
||||
case BluraySpareArea:
|
||||
case kDataTypeBluraySpareArea:
|
||||
return kMediaTagBluraySpareArea;
|
||||
case AacsVolumeIdentifier:
|
||||
case kDataTypeAacsVolumeIdentifier:
|
||||
return kMediaTagAacsVolumeIdentifier;
|
||||
case AacsSerialNumber:
|
||||
case kDataTypeAacsSerialNumber:
|
||||
return kMediaTagAacsSerialNumber;
|
||||
case AacsMediaIdentifier:
|
||||
case kDataTypeAacsMediaIdentifier:
|
||||
return kMediaTagAacsMediaIdentifier;
|
||||
case AacsMediaKeyBlock:
|
||||
case kDataTypeAacsMkb:
|
||||
return kMediaTagAacsMkb;
|
||||
case AacsDataKeys:
|
||||
case kDataTypeAacsDataKeys:
|
||||
return kMediaTagAacsDataKeys;
|
||||
case AacsLbaExtents:
|
||||
case kDataTypeAacsLbaExtents:
|
||||
return kMediaTagAacsLbaExtents;
|
||||
case CprmMediaKeyBlock:
|
||||
case kDataTypeCprmMkb:
|
||||
return kMediaTagCprmMkb;
|
||||
case HybridRecognizedLayers:
|
||||
case kDataTypeHybridRecognizedLayers:
|
||||
return kMediaTagHybridRecognizedLayers;
|
||||
case ScsiMmcWriteProtection:
|
||||
case kDataTypeMmcWriteProtection:
|
||||
return kMediaTagMmcWriteProtection;
|
||||
case ScsiMmcDiscInformation:
|
||||
case kDataTypeMmcDiscInformation:
|
||||
return kMediaTagMmcDiscInformation;
|
||||
case ScsiMmcTrackResourcesInformation:
|
||||
case kDataTypeMmcTrackResourcesInformation:
|
||||
return kMediaTagMmcTrackResourcesInformation;
|
||||
case ScsiMmcPowResourcesInformation:
|
||||
case kDataTypeMmcPowResourcesInformation:
|
||||
return kMediaTagMmcPowResourcesInformation;
|
||||
case ScsiInquiry:
|
||||
case kDataTypeScsiInquiry:
|
||||
return kMediaTagScsiInquiry;
|
||||
case ScsiModePage2A:
|
||||
case kDataTypeScsiModePage2A:
|
||||
return kMediaTagScsiModePage2A;
|
||||
case AtaIdentify:
|
||||
case kDataTypeAtaIdentify:
|
||||
return kMediaTagAtaIdentify;
|
||||
case AtapiIdentify:
|
||||
case kDataTypeAtapiIdentify:
|
||||
return kMediaTagAtapiIdentify;
|
||||
case PcmciaCis:
|
||||
case kDataTypePcmciaCis:
|
||||
return kMediaTagPcmciaCis;
|
||||
case SecureDigitalCid:
|
||||
case kDataTypeSdCid:
|
||||
return kMediaTagSdCid;
|
||||
case SecureDigitalCsd:
|
||||
case kDataTypeSdCsd:
|
||||
return kMediaTagSdCsd;
|
||||
case SecureDigitalScr:
|
||||
case kDataTypeSdScr:
|
||||
return kMediaTagSdScr;
|
||||
case SecureDigitalOcr:
|
||||
case kDataTypeSdOcr:
|
||||
return kMediaTagSdOcr;
|
||||
case MultiMediaCardCid:
|
||||
case kDataTypeMmcCid:
|
||||
return kMediaTagMmcCid;
|
||||
case MultiMediaCardCsd:
|
||||
case kDataTypeMmcCsd:
|
||||
return kMediaTagMmcCsd;
|
||||
case MultiMediaCardOcr:
|
||||
case kDataTypeMmcOcr:
|
||||
return kMediaTagMmcOcr;
|
||||
case MultiMediaCardExtendedCsd:
|
||||
case kDataTypeExtendedCsd:
|
||||
return kMediaTagExtendedCsd;
|
||||
case XboxSecuritySector:
|
||||
case kDataTypeXboxSecuritySector:
|
||||
return kMediaTagXboxSecuritySector;
|
||||
case FloppyLeadOut:
|
||||
case kDataTypeFloppyLeadOut:
|
||||
return kMediaTagFloppyLeadOut;
|
||||
case DvdDiscControlBlock:
|
||||
case kDataTypeDiscControlBlock:
|
||||
return kMediaTagDiscControlBlock;
|
||||
case CompactDiscFirstTrackPregap:
|
||||
case kDataTypeCdFirstTrackPregap:
|
||||
return kMediaTagCdFirstTrackPregap;
|
||||
case CompactDiscLeadOut:
|
||||
case kDataTypeCdLeadOut:
|
||||
return kMediaTagCdLeadOut;
|
||||
case ScsiModeSense6:
|
||||
case kDataTypeScsiModeSense6:
|
||||
return kMediaTagScsiModeSense6;
|
||||
case ScsiModeSense10:
|
||||
case kDataTypeScsiModeSense10:
|
||||
return kMediaTagScsiModeSense10;
|
||||
case UsbDescriptors:
|
||||
case kDataTypeUsbDescriptors:
|
||||
return kMediaTagUsbDescriptors;
|
||||
case XboxDmi:
|
||||
case kDataTypeXboxDmi:
|
||||
return kMediaTagXboxDmi;
|
||||
case XboxPfi:
|
||||
case kDataTypeXboxPfi:
|
||||
return kMediaTagXboxPfi;
|
||||
case CompactDiscMediaCatalogueNumber:
|
||||
case kDataTypeCdMcn:
|
||||
return kMediaTagCdMcn;
|
||||
case CompactDiscLeadIn:
|
||||
case kDataTypeCdLeadIn:
|
||||
return kMediaTagCdLeadIn;
|
||||
case DvdDiscKeyDecrypted:
|
||||
case kDataTypeDvdDiscKeyDecrypted:
|
||||
return kMediaTagDvdDiscKeyDecrypted;
|
||||
case FloppyWriteProtectStatus:
|
||||
case kDataTypeFloppyWriteProtect:
|
||||
return kMediaTagFloppyWriteProtect;
|
||||
case NintendoWiiUDiscKey:
|
||||
case kDataTypeWiiUDiscKey:
|
||||
return kMediaTagWiiUDiscKey;
|
||||
case PS3DiscKey:
|
||||
case kDataTypePs3DiscKey:
|
||||
return kMediaTagPs3DiscKey;
|
||||
case PS3Data1:
|
||||
case kDataTypePs3Data1:
|
||||
return kMediaTagPs3Data1;
|
||||
case PS3Data2:
|
||||
case kDataTypePs3Data2:
|
||||
return kMediaTagPs3Data2;
|
||||
case PS3PIC:
|
||||
case kDataTypePs3Pic:
|
||||
return kMediaTagPs3Pic;
|
||||
case PS3EncryptionMap:
|
||||
case kDataTypePs3EncryptionMap:
|
||||
return kMediaTagPs3EncryptionMap;
|
||||
default:
|
||||
return -1;
|
||||
@@ -215,161 +215,161 @@ AARU_LOCAL int32_t AARU_CALL aaruf_get_datatype_for_media_tag_type(const int32_t
|
||||
switch(tag_type)
|
||||
{
|
||||
case kMediaTagCdToc:
|
||||
return CompactDiscPartialToc;
|
||||
return kDataTypeCdToc;
|
||||
case kMediaTagSessionInfo:
|
||||
return CompactDiscSessionInfo;
|
||||
return kDataTypeSessionInfo;
|
||||
case kMediaTagFullToc:
|
||||
return CompactDiscToc;
|
||||
return kDataTypeFullToc;
|
||||
case kMediaTagCdPma:
|
||||
return CompactDiscPma;
|
||||
return kDataTypeCdPma;
|
||||
case kMediaTagCdAtip:
|
||||
return CompactDiscAtip;
|
||||
return kDataTypeCdAtip;
|
||||
case kMediaTagCdText:
|
||||
return CompactDiscLeadInCdText;
|
||||
return kDataTypeCdText;
|
||||
case kMediaTagDvdPfi:
|
||||
return DvdPfi;
|
||||
return kDataTypeDvdPfi;
|
||||
case kMediaTagDvdPfi2ndLayer:
|
||||
return DvdPfi2ndLayer;
|
||||
return kDataTypeDvdPfi2ndLayer;
|
||||
case kMediaTagDvdCmi:
|
||||
return DvdLeadInCmi;
|
||||
return kDataTypeDvdCmi;
|
||||
case kMediaTagDvdDiscKey:
|
||||
return DvdDiscKey;
|
||||
return kDataTypeDvdDiscKey;
|
||||
case kMediaTagDvdBca:
|
||||
return DvdBca;
|
||||
return kDataTypeDvdBca;
|
||||
case kMediaTagDvdDmi:
|
||||
return DvdDmi;
|
||||
return kDataTypeDvdDmi;
|
||||
case kMediaTagDvdMediaIdentifier:
|
||||
return DvdMediaIdentifier;
|
||||
return kDataTypeDvdMediaIdentifier;
|
||||
case kMediaTagDvdMkb:
|
||||
return DvdMediaKeyBlock;
|
||||
return kDataTypeDvdMkb;
|
||||
case kMediaTagDvdRamDds:
|
||||
return DvdRamDds;
|
||||
return kDataTypeDvdRamDds;
|
||||
case kMediaTagDvdRamMediumStatus:
|
||||
return DvdRamMediumStatus;
|
||||
return kDataTypeDvdRamMediumStatus;
|
||||
case kMediaTagDvdRamSpareArea:
|
||||
return DvdRamSpareArea;
|
||||
return kDataTypeDvdRamSpareArea;
|
||||
case kMediaTagDvdrRmd:
|
||||
return DvdRRmd;
|
||||
return kDataTypeDvdrRmd;
|
||||
case kMediaTagDvdrPreRecordedInfo:
|
||||
return DvdRPrerecordedInfo;
|
||||
return kDataTypeDvdrPreRecordedInfo;
|
||||
case kMediaTagDvdrMediaIdentifier:
|
||||
return DvdRMediaIdentifier;
|
||||
return kDataTypeDvdrMediaIdentifier;
|
||||
case kMediaTagDvdrPfi:
|
||||
return DvdRPfi;
|
||||
return kDataTypeDvdrPfi;
|
||||
case kMediaTagDvdAdip:
|
||||
return DvdAdip;
|
||||
return kDataTypeDvdAdip;
|
||||
case kMediaTagHddvdCpi:
|
||||
return HdDvdCpi;
|
||||
return kDataTypeHddvdCpi;
|
||||
case kMediaTagHddvdMediumStatus:
|
||||
return HdDvdMediumStatus;
|
||||
return kDataTypeHddvdMediumStatus;
|
||||
case kMediaTagDvddlLayerCapacity:
|
||||
return DvdDlLayerCapacity;
|
||||
return kDataTypeDvddlLayerCapacity;
|
||||
case kMediaTagDvddlMiddleZoneAddress:
|
||||
return DvdDlMiddleZoneAddress;
|
||||
return kDataTypeDvddlMiddleZoneAddress;
|
||||
case kMediaTagDvddlJumpIntervalSize:
|
||||
return DvdDlJumpIntervalSize;
|
||||
return kDataTypeDvddlJumpIntervalSize;
|
||||
case kMediaTagDvddlManualLayerJumpLba:
|
||||
return DvdDlManualLayerJumpLba;
|
||||
return kDataTypeDvddlManualLayerJumpLba;
|
||||
case kMediaTagBlurayDi:
|
||||
return BlurayDi;
|
||||
return kDataTypeBlurayDi;
|
||||
case kMediaTagBlurayBca:
|
||||
return BlurayBca;
|
||||
return kDataTypeBlurayBca;
|
||||
case kMediaTagBlurayDds:
|
||||
return BlurayDds;
|
||||
return kDataTypeBlurayDds;
|
||||
case kMediaTagBlurayCartridgeStatus:
|
||||
return BlurayCartridgeStatus;
|
||||
return kDataTypeBlurayCartridgeStatus;
|
||||
case kMediaTagBluraySpareArea:
|
||||
return BluraySpareArea;
|
||||
return kDataTypeBluraySpareArea;
|
||||
case kMediaTagAacsVolumeIdentifier:
|
||||
return AacsVolumeIdentifier;
|
||||
return kDataTypeAacsVolumeIdentifier;
|
||||
case kMediaTagAacsSerialNumber:
|
||||
return AacsSerialNumber;
|
||||
return kDataTypeAacsSerialNumber;
|
||||
case kMediaTagAacsMediaIdentifier:
|
||||
return AacsMediaIdentifier;
|
||||
return kDataTypeAacsMediaIdentifier;
|
||||
case kMediaTagAacsMkb:
|
||||
return AacsMediaKeyBlock;
|
||||
return kDataTypeAacsMkb;
|
||||
case kMediaTagAacsDataKeys:
|
||||
return AacsDataKeys;
|
||||
return kDataTypeAacsDataKeys;
|
||||
case kMediaTagAacsLbaExtents:
|
||||
return AacsLbaExtents;
|
||||
return kDataTypeAacsLbaExtents;
|
||||
case kMediaTagCprmMkb:
|
||||
return CprmMediaKeyBlock;
|
||||
return kDataTypeCprmMkb;
|
||||
case kMediaTagHybridRecognizedLayers:
|
||||
return HybridRecognizedLayers;
|
||||
return kDataTypeHybridRecognizedLayers;
|
||||
case kMediaTagMmcWriteProtection:
|
||||
return ScsiMmcWriteProtection;
|
||||
return kDataTypeMmcWriteProtection;
|
||||
case kMediaTagMmcDiscInformation:
|
||||
return ScsiMmcDiscInformation;
|
||||
return kDataTypeMmcDiscInformation;
|
||||
case kMediaTagMmcTrackResourcesInformation:
|
||||
return ScsiMmcTrackResourcesInformation;
|
||||
return kDataTypeMmcTrackResourcesInformation;
|
||||
case kMediaTagMmcPowResourcesInformation:
|
||||
return ScsiMmcPowResourcesInformation;
|
||||
return kDataTypeMmcPowResourcesInformation;
|
||||
case kMediaTagScsiInquiry:
|
||||
return ScsiInquiry;
|
||||
return kDataTypeScsiInquiry;
|
||||
case kMediaTagScsiModePage2A:
|
||||
return ScsiModePage2A;
|
||||
return kDataTypeScsiModePage2A;
|
||||
case kMediaTagAtaIdentify:
|
||||
return AtaIdentify;
|
||||
return kDataTypeAtaIdentify;
|
||||
case kMediaTagAtapiIdentify:
|
||||
return AtapiIdentify;
|
||||
return kDataTypeAtapiIdentify;
|
||||
case kMediaTagPcmciaCis:
|
||||
return PcmciaCis;
|
||||
return kDataTypePcmciaCis;
|
||||
case kMediaTagSdCid:
|
||||
return SecureDigitalCid;
|
||||
return kDataTypeSdCid;
|
||||
case kMediaTagSdCsd:
|
||||
return SecureDigitalCsd;
|
||||
return kDataTypeSdCsd;
|
||||
case kMediaTagSdScr:
|
||||
return SecureDigitalScr;
|
||||
return kDataTypeSdScr;
|
||||
case kMediaTagSdOcr:
|
||||
return SecureDigitalOcr;
|
||||
return kDataTypeSdOcr;
|
||||
case kMediaTagMmcCid:
|
||||
return MultiMediaCardCid;
|
||||
return kDataTypeMmcCid;
|
||||
case kMediaTagMmcCsd:
|
||||
return MultiMediaCardCsd;
|
||||
return kDataTypeMmcCsd;
|
||||
case kMediaTagMmcOcr:
|
||||
return MultiMediaCardOcr;
|
||||
return kDataTypeMmcOcr;
|
||||
case kMediaTagExtendedCsd:
|
||||
return MultiMediaCardExtendedCsd;
|
||||
return kDataTypeExtendedCsd;
|
||||
case kMediaTagXboxSecuritySector:
|
||||
return XboxSecuritySector;
|
||||
return kDataTypeXboxSecuritySector;
|
||||
case kMediaTagFloppyLeadOut:
|
||||
return FloppyLeadOut;
|
||||
return kDataTypeFloppyLeadOut;
|
||||
case kMediaTagDiscControlBlock:
|
||||
return DvdDiscControlBlock;
|
||||
return kDataTypeDiscControlBlock;
|
||||
case kMediaTagCdFirstTrackPregap:
|
||||
return CompactDiscFirstTrackPregap;
|
||||
return kDataTypeCdFirstTrackPregap;
|
||||
case kMediaTagCdLeadOut:
|
||||
return CompactDiscLeadOut;
|
||||
return kDataTypeCdLeadOut;
|
||||
case kMediaTagScsiModeSense6:
|
||||
return ScsiModeSense6;
|
||||
return kDataTypeScsiModeSense6;
|
||||
case kMediaTagScsiModeSense10:
|
||||
return ScsiModeSense10;
|
||||
return kDataTypeScsiModeSense10;
|
||||
case kMediaTagUsbDescriptors:
|
||||
return UsbDescriptors;
|
||||
return kDataTypeUsbDescriptors;
|
||||
case kMediaTagXboxDmi:
|
||||
return XboxDmi;
|
||||
return kDataTypeXboxDmi;
|
||||
case kMediaTagXboxPfi:
|
||||
return XboxPfi;
|
||||
return kDataTypeXboxPfi;
|
||||
case kMediaTagCdMcn:
|
||||
return CompactDiscMediaCatalogueNumber;
|
||||
return kDataTypeCdMcn;
|
||||
case kMediaTagCdLeadIn:
|
||||
return CompactDiscLeadIn;
|
||||
return kDataTypeCdLeadIn;
|
||||
case kMediaTagDvdDiscKeyDecrypted:
|
||||
return DvdDiscKeyDecrypted;
|
||||
return kDataTypeDvdDiscKeyDecrypted;
|
||||
case kMediaTagFloppyWriteProtect:
|
||||
return FloppyWriteProtectStatus;
|
||||
return kDataTypeFloppyWriteProtect;
|
||||
case kMediaTagWiiUDiscKey:
|
||||
return NintendoWiiUDiscKey;
|
||||
return kDataTypeWiiUDiscKey;
|
||||
case kMediaTagPs3DiscKey:
|
||||
return PS3DiscKey;
|
||||
return kDataTypePs3DiscKey;
|
||||
case kMediaTagPs3Data1:
|
||||
return PS3Data1;
|
||||
return kDataTypePs3Data1;
|
||||
case kMediaTagPs3Data2:
|
||||
return PS3Data2;
|
||||
return kDataTypePs3Data2;
|
||||
case kMediaTagPs3Pic:
|
||||
return PS3PIC;
|
||||
return kDataTypePs3Pic;
|
||||
case kMediaTagPs3EncryptionMap:
|
||||
return PS3EncryptionMap;
|
||||
return kDataTypePs3EncryptionMap;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
||||
10
src/open.c
10
src/open.c
@@ -502,7 +502,7 @@ AARU_EXPORT void AARU_CALL *aaruf_open(const char *filepath, const bool resume_m
|
||||
switch(entry->blockType)
|
||||
{
|
||||
case DataBlock:
|
||||
if(entry->dataType == UserData && ctx->header.biggestSectorSize > 0) break;
|
||||
if(entry->dataType == kDataTypeUserData && ctx->header.biggestSectorSize > 0) break;
|
||||
|
||||
error_no = process_data_block(ctx, entry);
|
||||
|
||||
@@ -544,14 +544,14 @@ AARU_EXPORT void AARU_CALL *aaruf_open(const char *filepath, const bool resume_m
|
||||
|
||||
switch(entry->dataType)
|
||||
{
|
||||
case CdSectorPrefix:
|
||||
case CdSectorPrefixCorrected:
|
||||
case kDataTypeCdSectorPrefix:
|
||||
case kDataTypeCdSectorPrefixCorrected:
|
||||
ctx->readableSectorTags[kSectorTagCdSync] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdHeader] = true;
|
||||
|
||||
break;
|
||||
case CdSectorSuffix:
|
||||
case CdSectorSuffixCorrected:
|
||||
case kDataTypeCdSectorSuffix:
|
||||
case kDataTypeCdSectorSuffixCorrected:
|
||||
ctx->readableSectorTags[kSectorTagCdSubHeader] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEcc] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEccP] = true;
|
||||
|
||||
@@ -270,7 +270,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector(void *context, uint64_t sector_
|
||||
{
|
||||
TRACE("Creating new writing block");
|
||||
ctx->current_block_header.identifier = DataBlock;
|
||||
ctx->current_block_header.type = UserData;
|
||||
ctx->current_block_header.type = kDataTypeUserData;
|
||||
ctx->current_block_header.sectorSize = length;
|
||||
|
||||
// We need to save the track type for later compression
|
||||
@@ -1530,7 +1530,7 @@ int32_t aaruf_close_current_block(aaruformat_context *ctx)
|
||||
TRACE("Adding block to index");
|
||||
IndexEntry index_entry;
|
||||
index_entry.blockType = DataBlock;
|
||||
index_entry.dataType = UserData;
|
||||
index_entry.dataType = kDataTypeUserData;
|
||||
index_entry.offset = ctx->next_block_position;
|
||||
|
||||
utarray_push_back(ctx->index_entries, &index_entry);
|
||||
|
||||
176
tool/helpers.c
176
tool/helpers.c
@@ -215,181 +215,181 @@ const char *data_type_to_string(uint16_t type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case UserData:
|
||||
case kDataTypeUserData:
|
||||
return "User Data";
|
||||
case CompactDiscPartialToc:
|
||||
case kDataTypeCdToc:
|
||||
return "CD Partial TOC";
|
||||
case CompactDiscSessionInfo:
|
||||
case kDataTypeSessionInfo:
|
||||
return "CD Session Information";
|
||||
case CompactDiscToc:
|
||||
case kDataTypeFullToc:
|
||||
return "CD Table of Contents";
|
||||
case CompactDiscPma:
|
||||
case kDataTypeCdPma:
|
||||
return "CD Power Management Area";
|
||||
case CompactDiscAtip:
|
||||
case kDataTypeCdAtip:
|
||||
return "CD Absolute Time in Pregroove";
|
||||
case CompactDiscLeadInCdText:
|
||||
case kDataTypeCdText:
|
||||
return "CD Lead-in CD-TEXT";
|
||||
case DvdPfi:
|
||||
case kDataTypeDvdPfi:
|
||||
return "DVD Physical Format Information";
|
||||
case DvdLeadInCmi:
|
||||
case kDataTypeDvdCmi:
|
||||
return "DVD Lead-in Copyright Management Information";
|
||||
case DvdDiscKey:
|
||||
case kDataTypeDvdDiscKey:
|
||||
return "DVD Disc Key";
|
||||
case DvdBca:
|
||||
case kDataTypeDvdBca:
|
||||
return "DVD Burst Cutting Area";
|
||||
case DvdDmi:
|
||||
case kDataTypeDvdDmi:
|
||||
return "DVD Disc Manufacturing Information";
|
||||
case DvdMediaIdentifier:
|
||||
case kDataTypeDvdMediaIdentifier:
|
||||
return "DVD Media Identifier";
|
||||
case DvdMediaKeyBlock:
|
||||
case kDataTypeDvdMkb:
|
||||
return "DVD Media Key Block";
|
||||
case DvdRamDds:
|
||||
case kDataTypeDvdRamDds:
|
||||
return "DVD-RAM Disc Definition Structure";
|
||||
case DvdRamMediumStatus:
|
||||
case kDataTypeDvdRamMediumStatus:
|
||||
return "DVD-RAM Medium Status";
|
||||
case DvdRamSpareArea:
|
||||
case kDataTypeDvdRamSpareArea:
|
||||
return "DVD-RAM Spare Area Information";
|
||||
case DvdRRmd:
|
||||
case kDataTypeDvdrRmd:
|
||||
return "DVD-R Recording Management Data";
|
||||
case DvdRPrerecordedInfo:
|
||||
case kDataTypeDvdrPreRecordedInfo:
|
||||
return "DVD-R Pre-recorded Information";
|
||||
case DvdRMediaIdentifier:
|
||||
case kDataTypeDvdrMediaIdentifier:
|
||||
return "DVD-R Media Identifier";
|
||||
case DvdRPfi:
|
||||
case kDataTypeDvdrPfi:
|
||||
return "DVD-R Physical Format Information";
|
||||
case DvdAdip:
|
||||
case kDataTypeDvdAdip:
|
||||
return "DVD Address in Pregroove";
|
||||
case HdDvdCpi:
|
||||
case kDataTypeHddvdCpi:
|
||||
return "HD DVD Content Protection Information";
|
||||
case HdDvdMediumStatus:
|
||||
case kDataTypeHddvdMediumStatus:
|
||||
return "HD DVD Medium Status";
|
||||
case DvdDlLayerCapacity:
|
||||
case kDataTypeDvddlLayerCapacity:
|
||||
return "DVD Dual Layer - Layer Capacity";
|
||||
case DvdDlMiddleZoneAddress:
|
||||
case kDataTypeDvddlMiddleZoneAddress:
|
||||
return "DVD Dual Layer - Middle Zone Address";
|
||||
case DvdDlJumpIntervalSize:
|
||||
case kDataTypeDvddlJumpIntervalSize:
|
||||
return "DVD Dual Layer - Jump Interval Size";
|
||||
case DvdDlManualLayerJumpLba:
|
||||
case kDataTypeDvddlManualLayerJumpLba:
|
||||
return "DVD Dual Layer - Manual Layer Jump LBA";
|
||||
case BlurayDi:
|
||||
case kDataTypeBlurayDi:
|
||||
return "Blu-ray Disc Information";
|
||||
case BlurayBca:
|
||||
case kDataTypeBlurayBca:
|
||||
return "Blu-ray Burst Cutting Area";
|
||||
case BlurayDds:
|
||||
case kDataTypeBlurayDds:
|
||||
return "Blu-ray Disc Definition Structure";
|
||||
case BlurayCartridgeStatus:
|
||||
case kDataTypeBlurayCartridgeStatus:
|
||||
return "Blu-ray Cartridge Status";
|
||||
case BluraySpareArea:
|
||||
case kDataTypeBluraySpareArea:
|
||||
return "Blu-ray Spare Area Information";
|
||||
case AacsVolumeIdentifier:
|
||||
case kDataTypeAacsVolumeIdentifier:
|
||||
return "AACS Volume Identifier";
|
||||
case AacsMediaIdentifier:
|
||||
case kDataTypeAacsMediaIdentifier:
|
||||
return "AACS Media Identifier";
|
||||
case AacsMediaKeyBlock:
|
||||
case kDataTypeAacsMkb:
|
||||
return "AACS Media Key Block";
|
||||
case AacsDataKeys:
|
||||
case kDataTypeAacsDataKeys:
|
||||
return "AACS Data Keys";
|
||||
case AacsLbaExtents:
|
||||
case kDataTypeAacsLbaExtents:
|
||||
return "AACS LBA Extents";
|
||||
case CprmMediaKeyBlock:
|
||||
case kDataTypeCprmMkb:
|
||||
return "CPRM Media Key Block";
|
||||
case HybridRecognizedLayers:
|
||||
case kDataTypeHybridRecognizedLayers:
|
||||
return "Hybrid Disc - Recognized Layers";
|
||||
case ScsiMmcWriteProtection:
|
||||
case kDataTypeMmcWriteProtection:
|
||||
return "SCSI MMC Write Protection";
|
||||
case ScsiMmcDiscInformation:
|
||||
case kDataTypeMmcDiscInformation:
|
||||
return "SCSI MMC Disc Information";
|
||||
case ScsiMmcTrackResourcesInformation:
|
||||
case kDataTypeMmcTrackResourcesInformation:
|
||||
return "SCSI MMC Track Resources Information";
|
||||
case ScsiMmcPowResourcesInformation:
|
||||
case kDataTypeMmcPowResourcesInformation:
|
||||
return "SCSI MMC POW Resources Information";
|
||||
case ScsiInquiry:
|
||||
case kDataTypeScsiInquiry:
|
||||
return "SCSI INQUIRY Response";
|
||||
case ScsiModePage2A:
|
||||
case kDataTypeScsiModePage2A:
|
||||
return "SCSI MODE PAGE 2Ah";
|
||||
case AtaIdentify:
|
||||
case kDataTypeAtaIdentify:
|
||||
return "ATA IDENTIFY DEVICE";
|
||||
case AtapiIdentify:
|
||||
case kDataTypeAtapiIdentify:
|
||||
return "ATAPI IDENTIFY PACKET DEVICE";
|
||||
case PcmciaCis:
|
||||
case kDataTypePcmciaCis:
|
||||
return "PCMCIA Card Information Structure";
|
||||
case SecureDigitalCid:
|
||||
case kDataTypeSdCid:
|
||||
return "Secure Digital CID Register";
|
||||
case SecureDigitalCsd:
|
||||
case kDataTypeSdCsd:
|
||||
return "Secure Digital CSD Register";
|
||||
case SecureDigitalScr:
|
||||
case kDataTypeSdScr:
|
||||
return "Secure Digital SCR Register";
|
||||
case SecureDigitalOcr:
|
||||
case kDataTypeSdOcr:
|
||||
return "Secure Digital OCR Register";
|
||||
case MultiMediaCardCid:
|
||||
case kDataTypeMmcCid:
|
||||
return "MultiMediaCard CID Register";
|
||||
case MultiMediaCardCsd:
|
||||
case kDataTypeMmcCsd:
|
||||
return "MultiMediaCard CSD Register";
|
||||
case MultiMediaCardExtendedCsd:
|
||||
case kDataTypeExtendedCsd:
|
||||
return "MultiMediaCard Extended CSD Register";
|
||||
case MultiMediaCardOcr:
|
||||
case kDataTypeMmcOcr:
|
||||
return "MultiMediaCard OCR Register";
|
||||
case XboxSecuritySector:
|
||||
case kDataTypeXboxSecuritySector:
|
||||
return "Xbox Security Sector";
|
||||
case FloppyLeadOut:
|
||||
case kDataTypeFloppyLeadOut:
|
||||
return "Floppy Lead-out";
|
||||
case DvdDiscControlBlock:
|
||||
case kDataTypeDiscControlBlock:
|
||||
return "DVD Disc Control Block";
|
||||
case CompactDiscFirstTrackPregap:
|
||||
case kDataTypeCdFirstTrackPregap:
|
||||
return "CD First Track Pre-gap";
|
||||
case CompactDiscLeadOut:
|
||||
case kDataTypeCdLeadOut:
|
||||
return "CD Lead-out";
|
||||
case ScsiModeSense6:
|
||||
case kDataTypeScsiModeSense6:
|
||||
return "SCSI MODE SENSE (6)";
|
||||
case ScsiModeSense10:
|
||||
case kDataTypeScsiModeSense10:
|
||||
return "SCSI MODE SENSE (10)";
|
||||
case UsbDescriptors:
|
||||
case kDataTypeUsbDescriptors:
|
||||
return "USB Descriptors";
|
||||
case XboxDmi:
|
||||
case kDataTypeXboxDmi:
|
||||
return "Xbox Disc Manufacturing Information";
|
||||
case XboxPfi:
|
||||
case kDataTypeXboxPfi:
|
||||
return "Xbox Physical Format Information";
|
||||
case CdSectorPrefix:
|
||||
case kDataTypeCdSectorPrefix:
|
||||
return "CD Sector Prefix (sync + header)";
|
||||
case CdSectorSuffix:
|
||||
case kDataTypeCdSectorSuffix:
|
||||
return "CD Sector Suffix (EDC + ECC)";
|
||||
case CdSectorSubchannel:
|
||||
case kDataTypeCdSubchannel:
|
||||
return "CD Sector Subchannel";
|
||||
case AppleProfileTag:
|
||||
case kDataTypeAppleProfileTag:
|
||||
return "Apple Profile Tag";
|
||||
case AppleSonyTag:
|
||||
case kDataTypeAppleSonyTag:
|
||||
return "Apple Sony Tag";
|
||||
case PriamDataTowerTag:
|
||||
case kDataTypePriamDataTowerTag:
|
||||
return "Priam DataTower Tag";
|
||||
case CompactDiscMediaCatalogueNumber:
|
||||
case kDataTypeCdMcn:
|
||||
return "CD Media Catalogue Number";
|
||||
case CdSectorPrefixCorrected:
|
||||
case kDataTypeCdSectorPrefixCorrected:
|
||||
return "CD Sector Prefix (corrected)";
|
||||
case CdSectorSuffixCorrected:
|
||||
case kDataTypeCdSectorSuffixCorrected:
|
||||
return "CD Sector Suffix (corrected)";
|
||||
case CompactDiscMode2Subheader:
|
||||
case kDataTypeCdSubHeader:
|
||||
return "CD Mode 2 Subheader";
|
||||
case CompactDiscLeadIn:
|
||||
case kDataTypeCdLeadIn:
|
||||
return "CD Lead-in";
|
||||
case DvdDiscKeyDecrypted:
|
||||
case kDataTypeDvdDiscKeyDecrypted:
|
||||
return "DVD Disc Key (decrypted)";
|
||||
case DvdSectorCprMai:
|
||||
case kDataTypeDvdSectorCprMai:
|
||||
return "DVD Sector Copyright Management Info";
|
||||
case DvdSectorTitleKeyDecrypted:
|
||||
case kDataTypeDvdTitleKeyDecrypted:
|
||||
return "DVD Title Key (decrypted)";
|
||||
case DvdSectorId:
|
||||
case kDataTypeDvdSectorId:
|
||||
return "DVD Sector ID";
|
||||
case DvdSectorIed:
|
||||
case kDataTypeDvdSectorIed:
|
||||
return "DVD Sector ID Error Detection";
|
||||
case DvdSectorEdc:
|
||||
case kDataTypeDvdSectorEdc:
|
||||
return "DVD Sector Error Detection Code";
|
||||
case DvdSectorEccPi:
|
||||
case kDataTypeDvdSectorEccPi:
|
||||
return "DVD Sector ECC Parity Inner";
|
||||
case DvdEccBlockPo:
|
||||
case kDataTypeDvdEccBlockPo:
|
||||
return "DVD ECC Block Parity Outer";
|
||||
case DvdPfi2ndLayer:
|
||||
case kDataTypeDvdPfi2ndLayer:
|
||||
return "DVD Physical Format Info (2nd layer)";
|
||||
case FloppyWriteProtectStatus:
|
||||
case kDataTypeFloppyWriteProtect:
|
||||
return "Floppy Write-Protect Status";
|
||||
default:
|
||||
return "Unknown Data Type";
|
||||
|
||||
@@ -315,7 +315,7 @@ int info(const char *path)
|
||||
char ddt_type_str[32];
|
||||
switch(ctx->user_data_ddt_header.type)
|
||||
{
|
||||
case UserData:
|
||||
case kDataTypeUserData:
|
||||
snprintf(ddt_type_str, sizeof(ddt_type_str), "UserData");
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -138,149 +138,149 @@ static int32_t get_datatype_for_media_tag_type(MediaTagType tag_type)
|
||||
switch(tag_type)
|
||||
{
|
||||
case kMediaTagCdToc:
|
||||
return CompactDiscPartialToc;
|
||||
return kDataTypeCdToc;
|
||||
case kMediaTagSessionInfo:
|
||||
return CompactDiscSessionInfo;
|
||||
return kDataTypeSessionInfo;
|
||||
case kMediaTagFullToc:
|
||||
return CompactDiscToc;
|
||||
return kDataTypeFullToc;
|
||||
case kMediaTagCdPma:
|
||||
return CompactDiscPma;
|
||||
return kDataTypeCdPma;
|
||||
case kMediaTagCdAtip:
|
||||
return CompactDiscAtip;
|
||||
return kDataTypeCdAtip;
|
||||
case kMediaTagCdText:
|
||||
return CompactDiscLeadInCdText;
|
||||
return kDataTypeCdText;
|
||||
case kMediaTagDvdPfi:
|
||||
return DvdPfi;
|
||||
return kDataTypeDvdPfi;
|
||||
case kMediaTagDvdPfi2ndLayer:
|
||||
return DvdPfi2ndLayer;
|
||||
return kDataTypeDvdPfi2ndLayer;
|
||||
case kMediaTagDvdCmi:
|
||||
return DvdLeadInCmi;
|
||||
return kDataTypeDvdCmi;
|
||||
case kMediaTagDvdDiscKey:
|
||||
return DvdDiscKey;
|
||||
return kDataTypeDvdDiscKey;
|
||||
case kMediaTagDvdBca:
|
||||
return DvdBca;
|
||||
return kDataTypeDvdBca;
|
||||
case kMediaTagDvdDmi:
|
||||
return DvdDmi;
|
||||
return kDataTypeDvdDmi;
|
||||
case kMediaTagDvdMediaIdentifier:
|
||||
return DvdMediaIdentifier;
|
||||
return kDataTypeDvdMediaIdentifier;
|
||||
case kMediaTagDvdMkb:
|
||||
return DvdMediaKeyBlock;
|
||||
return kDataTypeDvdMkb;
|
||||
case kMediaTagDvdRamDds:
|
||||
return DvdRamDds;
|
||||
return kDataTypeDvdRamDds;
|
||||
case kMediaTagDvdRamMediumStatus:
|
||||
return DvdRamMediumStatus;
|
||||
return kDataTypeDvdRamMediumStatus;
|
||||
case kMediaTagDvdRamSpareArea:
|
||||
return DvdRamSpareArea;
|
||||
return kDataTypeDvdRamSpareArea;
|
||||
case kMediaTagDvdrRmd:
|
||||
return DvdRRmd;
|
||||
return kDataTypeDvdrRmd;
|
||||
case kMediaTagDvdrPreRecordedInfo:
|
||||
return DvdRPrerecordedInfo;
|
||||
return kDataTypeDvdrPreRecordedInfo;
|
||||
case kMediaTagDvdrMediaIdentifier:
|
||||
return DvdRMediaIdentifier;
|
||||
return kDataTypeDvdrMediaIdentifier;
|
||||
case kMediaTagDvdrPfi:
|
||||
return DvdRPfi;
|
||||
return kDataTypeDvdrPfi;
|
||||
case kMediaTagDvdAdip:
|
||||
return DvdAdip;
|
||||
return kDataTypeDvdAdip;
|
||||
case kMediaTagHddvdCpi:
|
||||
return HdDvdCpi;
|
||||
return kDataTypeHddvdCpi;
|
||||
case kMediaTagHddvdMediumStatus:
|
||||
return HdDvdMediumStatus;
|
||||
return kDataTypeHddvdMediumStatus;
|
||||
case kMediaTagDvddlLayerCapacity:
|
||||
return DvdDlLayerCapacity;
|
||||
return kDataTypeDvddlLayerCapacity;
|
||||
case kMediaTagDvddlMiddleZoneAddress:
|
||||
return DvdDlMiddleZoneAddress;
|
||||
return kDataTypeDvddlMiddleZoneAddress;
|
||||
case kMediaTagDvddlJumpIntervalSize:
|
||||
return DvdDlJumpIntervalSize;
|
||||
return kDataTypeDvddlJumpIntervalSize;
|
||||
case kMediaTagDvddlManualLayerJumpLba:
|
||||
return DvdDlManualLayerJumpLba;
|
||||
return kDataTypeDvddlManualLayerJumpLba;
|
||||
case kMediaTagBlurayDi:
|
||||
return BlurayDi;
|
||||
return kDataTypeBlurayDi;
|
||||
case kMediaTagBlurayBca:
|
||||
return BlurayBca;
|
||||
return kDataTypeBlurayBca;
|
||||
case kMediaTagBlurayDds:
|
||||
return BlurayDds;
|
||||
return kDataTypeBlurayDds;
|
||||
case kMediaTagBlurayCartridgeStatus:
|
||||
return BlurayCartridgeStatus;
|
||||
return kDataTypeBlurayCartridgeStatus;
|
||||
case kMediaTagBluraySpareArea:
|
||||
return BluraySpareArea;
|
||||
return kDataTypeBluraySpareArea;
|
||||
case kMediaTagAacsVolumeIdentifier:
|
||||
return AacsVolumeIdentifier;
|
||||
return kDataTypeAacsVolumeIdentifier;
|
||||
case kMediaTagAacsSerialNumber:
|
||||
return AacsSerialNumber;
|
||||
return kDataTypeAacsSerialNumber;
|
||||
case kMediaTagAacsMediaIdentifier:
|
||||
return AacsMediaIdentifier;
|
||||
return kDataTypeAacsMediaIdentifier;
|
||||
case kMediaTagAacsMkb:
|
||||
return AacsMediaKeyBlock;
|
||||
return kDataTypeAacsMkb;
|
||||
case kMediaTagAacsDataKeys:
|
||||
return AacsDataKeys;
|
||||
return kDataTypeAacsDataKeys;
|
||||
case kMediaTagAacsLbaExtents:
|
||||
return AacsLbaExtents;
|
||||
return kDataTypeAacsLbaExtents;
|
||||
case kMediaTagCprmMkb:
|
||||
return CprmMediaKeyBlock;
|
||||
return kDataTypeCprmMkb;
|
||||
case kMediaTagHybridRecognizedLayers:
|
||||
return HybridRecognizedLayers;
|
||||
return kDataTypeHybridRecognizedLayers;
|
||||
case kMediaTagMmcWriteProtection:
|
||||
return ScsiMmcWriteProtection;
|
||||
return kDataTypeMmcWriteProtection;
|
||||
case kMediaTagMmcDiscInformation:
|
||||
return ScsiMmcDiscInformation;
|
||||
return kDataTypeMmcDiscInformation;
|
||||
case kMediaTagMmcTrackResourcesInformation:
|
||||
return ScsiMmcTrackResourcesInformation;
|
||||
return kDataTypeMmcTrackResourcesInformation;
|
||||
case kMediaTagMmcPowResourcesInformation:
|
||||
return ScsiMmcPowResourcesInformation;
|
||||
return kDataTypeMmcPowResourcesInformation;
|
||||
case kMediaTagScsiInquiry:
|
||||
return ScsiInquiry;
|
||||
return kDataTypeScsiInquiry;
|
||||
case kMediaTagScsiModePage2A:
|
||||
return ScsiModePage2A;
|
||||
return kDataTypeScsiModePage2A;
|
||||
case kMediaTagAtaIdentify:
|
||||
return AtaIdentify;
|
||||
return kDataTypeAtaIdentify;
|
||||
case kMediaTagAtapiIdentify:
|
||||
return AtapiIdentify;
|
||||
return kDataTypeAtapiIdentify;
|
||||
case kMediaTagPcmciaCis:
|
||||
return PcmciaCis;
|
||||
return kDataTypePcmciaCis;
|
||||
case kMediaTagSdCid:
|
||||
return SecureDigitalCid;
|
||||
return kDataTypeSdCid;
|
||||
case kMediaTagSdCsd:
|
||||
return SecureDigitalCsd;
|
||||
return kDataTypeSdCsd;
|
||||
case kMediaTagSdScr:
|
||||
return SecureDigitalScr;
|
||||
return kDataTypeSdScr;
|
||||
case kMediaTagSdOcr:
|
||||
return SecureDigitalOcr;
|
||||
return kDataTypeSdOcr;
|
||||
case kMediaTagMmcCid:
|
||||
return MultiMediaCardCid;
|
||||
return kDataTypeMmcCid;
|
||||
case kMediaTagMmcCsd:
|
||||
return MultiMediaCardCsd;
|
||||
return kDataTypeMmcCsd;
|
||||
case kMediaTagMmcOcr:
|
||||
return MultiMediaCardOcr;
|
||||
return kDataTypeMmcOcr;
|
||||
case kMediaTagExtendedCsd:
|
||||
return MultiMediaCardExtendedCsd;
|
||||
return kDataTypeExtendedCsd;
|
||||
case kMediaTagXboxSecuritySector:
|
||||
return XboxSecuritySector;
|
||||
return kDataTypeXboxSecuritySector;
|
||||
case kMediaTagFloppyLeadOut:
|
||||
return FloppyLeadOut;
|
||||
return kDataTypeFloppyLeadOut;
|
||||
case kMediaTagDiscControlBlock:
|
||||
return DvdDiscControlBlock;
|
||||
return kDataTypeDiscControlBlock;
|
||||
case kMediaTagCdFirstTrackPregap:
|
||||
return CompactDiscFirstTrackPregap;
|
||||
return kDataTypeCdFirstTrackPregap;
|
||||
case kMediaTagCdLeadOut:
|
||||
return CompactDiscLeadOut;
|
||||
return kDataTypeCdLeadOut;
|
||||
case kMediaTagScsiModeSense6:
|
||||
return ScsiModeSense6;
|
||||
return kDataTypeScsiModeSense6;
|
||||
case kMediaTagScsiModeSense10:
|
||||
return ScsiModeSense10;
|
||||
return kDataTypeScsiModeSense10;
|
||||
case kMediaTagUsbDescriptors:
|
||||
return UsbDescriptors;
|
||||
return kDataTypeUsbDescriptors;
|
||||
case kMediaTagXboxDmi:
|
||||
return XboxDmi;
|
||||
return kDataTypeXboxDmi;
|
||||
case kMediaTagXboxPfi:
|
||||
return XboxPfi;
|
||||
return kDataTypeXboxPfi;
|
||||
case kMediaTagCdMcn:
|
||||
return CompactDiscMediaCatalogueNumber;
|
||||
return kDataTypeCdMcn;
|
||||
case kMediaTagCdLeadIn:
|
||||
return CompactDiscLeadIn;
|
||||
return kDataTypeCdLeadIn;
|
||||
case kMediaTagDvdDiscKeyDecrypted:
|
||||
return DvdDiscKeyDecrypted;
|
||||
return kDataTypeDvdDiscKeyDecrypted;
|
||||
case kMediaTagFloppyWriteProtect:
|
||||
return FloppyWriteProtectStatus;
|
||||
return kDataTypeFloppyWriteProtect;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
@@ -575,7 +575,7 @@ int inject_media_tag(const char *tag_type_str, const char *media_tag_file, const
|
||||
|
||||
HASH_ITER(hh, index_hash, current, tmp)
|
||||
{
|
||||
if(current->blockType == DeDuplicationTable2 && current->dataType == UserData)
|
||||
if(current->blockType == DeDuplicationTable2 && current->dataType == kDataTypeUserData)
|
||||
{
|
||||
userdata_ddt = current;
|
||||
break;
|
||||
|
||||
@@ -487,7 +487,7 @@ int upgrade_ddt_to_alpha21(const char *path)
|
||||
ddt_v2_header_alpha20 *userdata_ddt_header = NULL;
|
||||
for(uint64_t i = 0; i < processed_count; i++)
|
||||
{
|
||||
if(ddt_upgrades[i].dataType == UserData)
|
||||
if(ddt_upgrades[i].dataType == kDataTypeUserData)
|
||||
{
|
||||
userdata_ddt_header = ddt_upgrades[i].old_header;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user