mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2026-07-08 18:06:18 +00:00
Rename sector tags.
This commit is contained in:
@@ -955,29 +955,29 @@ typedef struct ImageInfo // NOLINT
|
||||
// NOLINTBEGIN(readability-identifier-naming)
|
||||
typedef enum
|
||||
{
|
||||
AppleSonyTagAaru = 0, ///< Apple's Sony sector tags, 12 bytes (address prolog + checksum)
|
||||
CdSectorSync = 1, ///< 12-byte CD sync pattern (00 FF*10 00)
|
||||
CdSectorHeader = 2, ///< 4-byte CD header (minute, second, frame, mode)
|
||||
CdSectorSubHeader = 3, ///< Mode 2 Form subheader (8 bytes: copy, submode, channel)
|
||||
CdSectorEdc = 4, ///< 32-bit CRC (EDC)
|
||||
CdSectorEccP = 5, ///< 172 bytes Reed-Solomon ECC (P)
|
||||
CdSectorEccQ = 6, ///< 104 bytes Reed-Solomon ECC (Q)
|
||||
CdSectorEcc = 7, ///< Combined P+Q ECC (276 bytes)
|
||||
CdSectorSubchannelAaru = 8, ///< 96 raw subchannel bytes (P-W)
|
||||
CdTrackIsrc = 9, ///< Track ISRC (12 ASCII chars, no terminator)
|
||||
CdTrackText = 10, ///< Track text (CD-Text fragment, 13 bytes)
|
||||
CdTrackFlags = 11, ///< Track flags (audio/data, copy permitted, pre-emphasis)
|
||||
DvdCmi = 12, ///< DVD Copyright Management Information (CSS)
|
||||
FloppyAddressMark = 13, ///< Raw address mark & sync preamble (format dependent)
|
||||
DvdSectorTitleKey = 14, ///< DVD sector title key, 5 bytes
|
||||
DvdTitleKeyDecrypted = 15, ///< Decrypted DVD sector title key, 5 bytes
|
||||
DvdSectorInformation = 16, ///< DVD sector information, 1 bytes
|
||||
DvdSectorNumber = 17, ///< DVD sector number, 3 bytes
|
||||
DvdSectorIedAaru = 18, ///< DVD sector ID error detection, 2 bytes
|
||||
DvdSectorEdcAaru = 19, ///< DVD sector EDC, 4 bytes
|
||||
AppleProfileTagAaru = 20, ///< Apple's Profile sector tags, 20 bytes
|
||||
PriamDataTowerTagAaru = 21, ///< Priam DataTower sector tags, 24 bytes
|
||||
MaxSectorTag = PriamDataTowerTagAaru
|
||||
kSectorTagAppleSony = 0, ///< Apple's Sony sector tags, 12 bytes (address prolog + checksum)
|
||||
kSectorTagCdSync = 1, ///< 12-byte CD sync pattern (00 FF*10 00)
|
||||
kSectorTagCdHeader = 2, ///< 4-byte CD header (minute, second, frame, mode)
|
||||
kSectorTagCdSubHeader = 3, ///< Mode 2 Form subheader (8 bytes: copy, submode, channel)
|
||||
kSectorTagCdEdc = 4, ///< 32-bit CRC (EDC)
|
||||
kSectorTagCdEccP = 5, ///< 172 bytes Reed-Solomon ECC (P)
|
||||
kSectorTagCdEccQ = 6, ///< 104 bytes Reed-Solomon ECC (Q)
|
||||
kSectorTagCdEcc = 7, ///< Combined P+Q ECC (276 bytes)
|
||||
kSectorTagCdSubchannel = 8, ///< 96 raw subchannel bytes (P-W)
|
||||
kSectorTagCdTrackIsrc = 9, ///< Track ISRC (12 ASCII chars, no terminator)
|
||||
kSectorTagCdTrackText = 10, ///< Track text (CD-Text fragment, 13 bytes)
|
||||
kSectorTagCdTrackFlags = 11, ///< Track flags (audio/data, copy permitted, pre-emphasis)
|
||||
kSectorTagDvdCmi = 12, ///< DVD Copyright Management Information (CSS)
|
||||
kSectorTagFloppyAddressMark = 13, ///< Raw address mark & sync preamble (format dependent)
|
||||
kSectorTagDvdTitleKey = 14, ///< DVD sector title key, 5 bytes
|
||||
kSectorTagDvdTitleKeyDecrypted = 15, ///< Decrypted DVD sector title key, 5 bytes
|
||||
kSectorTagDvdSectorInformation = 16, ///< DVD sector information, 1 bytes
|
||||
kSectorTagDvdSectorNumber = 17, ///< DVD sector number, 3 bytes
|
||||
kSectorTagDvdSectorIed = 18, ///< DVD sector ID error detection, 2 bytes
|
||||
kSectorTagDvdSectorEdc = 19, ///< DVD sector EDC, 4 bytes
|
||||
kSectorTagAppleProfile = 20, ///< Apple's Profile sector tags, 20 bytes
|
||||
kSectorTagPriamDataTower = 21, ///< Priam DataTower sector tags, 24 bytes
|
||||
MaxSectorTag = kSectorTagPriamDataTower
|
||||
} SectorTagType;
|
||||
|
||||
/** @} */ /* end of SectorTags group */
|
||||
@@ -1072,12 +1072,12 @@ typedef enum
|
||||
DVD_DiscKey_Decrypted = 73, ///< Decrypted DVD disc key,
|
||||
DVD_PFI_2ndLayer = 74, ///< DVD Physical Format Information for the second layer
|
||||
Floppy_WriteProtect = 75, ///< Write protection status of the floppy disk
|
||||
WiiUDiscKey = 76, ///< Nintendo Wii U disc key (16 bytes, from non-readable disc area)
|
||||
PS3_DiscKey = 77, ///< PS3 derived disc key (16 bytes)
|
||||
PS3_Data1 = 78, ///< PS3 data1 key (16 bytes, from disc)
|
||||
PS3_Data2 = 79, ///< PS3 data2 key (16 bytes, from disc)
|
||||
PS3_PIC = 80, ///< PS3 PIC data (115 bytes, from disc lead-in)
|
||||
PS3_EncryptionMap = 81, ///< PS3 encryption region map (serialized from sector 0)
|
||||
WiiUDiscKey = 76, ///< Nintendo Wii U disc key (16 bytes, from non-readable disc area)
|
||||
PS3_DiscKey = 77, ///< PS3 derived disc key (16 bytes)
|
||||
PS3_Data1 = 78, ///< PS3 data1 key (16 bytes, from disc)
|
||||
PS3_Data2 = 79, ///< PS3 data2 key (16 bytes, from disc)
|
||||
PS3_PIC = 80, ///< PS3 PIC data (115 bytes, from disc lead-in)
|
||||
PS3_EncryptionMap = 81, ///< PS3 encryption region map (serialized from sector 0)
|
||||
MaxMediaTag = PS3_EncryptionMap
|
||||
} MediaTagType;
|
||||
|
||||
|
||||
@@ -343,8 +343,8 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
else
|
||||
ctx->sector_prefix = data;
|
||||
|
||||
ctx->readableSectorTags[CdSectorSync] = true;
|
||||
ctx->readableSectorTags[CdSectorHeader] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdSync] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdHeader] = true;
|
||||
|
||||
break;
|
||||
case CdSectorSuffix:
|
||||
@@ -354,49 +354,49 @@ int32_t process_data_block(aaruformat_context *ctx, IndexEntry *entry)
|
||||
else
|
||||
ctx->sector_suffix = data;
|
||||
|
||||
ctx->readableSectorTags[CdSectorSubHeader] = true;
|
||||
ctx->readableSectorTags[CdSectorEcc] = true;
|
||||
ctx->readableSectorTags[CdSectorEccP] = true;
|
||||
ctx->readableSectorTags[CdSectorEccQ] = true;
|
||||
ctx->readableSectorTags[CdSectorEdc] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdSubHeader] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEcc] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEccP] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEccQ] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEdc] = true;
|
||||
break;
|
||||
case CdSectorSubchannel:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[CdSectorSubchannelAaru] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdSubchannel] = true;
|
||||
break;
|
||||
case AppleProfileTag:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[AppleProfileTagAaru] = true;
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagAppleProfile] = true;
|
||||
break;
|
||||
case AppleSonyTag:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[PriamDataTowerTagAaru] = true;
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagPriamDataTower] = true;
|
||||
break;
|
||||
case PriamDataTowerTag:
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[AppleSonyTagAaru] = true;
|
||||
ctx->sector_subchannel = data;
|
||||
ctx->readableSectorTags[kSectorTagAppleSony] = true;
|
||||
break;
|
||||
case CompactDiscMode2Subheader:
|
||||
ctx->mode2_subheaders = data;
|
||||
break;
|
||||
case DvdSectorId:
|
||||
ctx->sector_id = data;
|
||||
ctx->readableSectorTags[DvdSectorNumber] = true;
|
||||
ctx->readableSectorTags[DvdSectorInformation] = true;
|
||||
ctx->sector_id = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorNumber] = true;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorInformation] = true;
|
||||
break;
|
||||
case DvdSectorIed:
|
||||
ctx->sector_ied = data;
|
||||
ctx->readableSectorTags[DvdSectorIedAaru] = true;
|
||||
ctx->sector_ied = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorIed] = true;
|
||||
break;
|
||||
case DvdSectorCprMai:
|
||||
ctx->sector_cpr_mai = data;
|
||||
ctx->readableSectorTags[DvdCmi] = true;
|
||||
ctx->sector_cpr_mai = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdCmi] = true;
|
||||
break;
|
||||
case DvdSectorEdc:
|
||||
ctx->sector_edc = data;
|
||||
ctx->readableSectorTags[DvdSectorEdcAaru] = true;
|
||||
ctx->sector_edc = data;
|
||||
ctx->readableSectorTags[kSectorTagDvdSectorEdc] = true;
|
||||
break;
|
||||
case DvdTitleKeyDecrypted:
|
||||
case kSectorTagDvdTitleKeyDecrypted:
|
||||
ctx->sector_decrypted_title_key = data;
|
||||
ctx->readableSectorTags[DvdSectorTitleKeyDecrypted] = true;
|
||||
break;
|
||||
|
||||
18
src/open.c
18
src/open.c
@@ -332,7 +332,6 @@ AARU_EXPORT void AARU_CALL *aaruf_open(const char *filepath, const bool resume_m
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// Check feature compatibility for V2+ images
|
||||
if(ctx->header.imageMajorVersion >= AARUF_VERSION_V2)
|
||||
{
|
||||
@@ -354,8 +353,7 @@ AARU_EXPORT void AARU_CALL *aaruf_open(const char *filepath, const bool resume_m
|
||||
{
|
||||
if(resume_mode)
|
||||
{
|
||||
FATAL("Image has unsupported read-only compatible features: 0x%016" PRIX64
|
||||
", cannot open for writing",
|
||||
FATAL("Image has unsupported read-only compatible features: 0x%016" PRIX64 ", cannot open for writing",
|
||||
unknown_rocompat);
|
||||
cleanup_open_failure(ctx);
|
||||
errno = AARUF_ERROR_INCOMPATIBLE_FEATURES;
|
||||
@@ -548,17 +546,17 @@ AARU_EXPORT void AARU_CALL *aaruf_open(const char *filepath, const bool resume_m
|
||||
{
|
||||
case CdSectorPrefix:
|
||||
case CdSectorPrefixCorrected:
|
||||
ctx->readableSectorTags[CdSectorSync] = true;
|
||||
ctx->readableSectorTags[CdSectorHeader] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdSync] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdHeader] = true;
|
||||
|
||||
break;
|
||||
case CdSectorSuffix:
|
||||
case CdSectorSuffixCorrected:
|
||||
ctx->readableSectorTags[CdSectorSubHeader] = true;
|
||||
ctx->readableSectorTags[CdSectorEcc] = true;
|
||||
ctx->readableSectorTags[CdSectorEccP] = true;
|
||||
ctx->readableSectorTags[CdSectorEccQ] = true;
|
||||
ctx->readableSectorTags[CdSectorEdc] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdSubHeader] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEcc] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEccP] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEccQ] = true;
|
||||
ctx->readableSectorTags[kSectorTagCdEdc] = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
24
src/read.c
24
src/read.c
@@ -1535,7 +1535,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
|
||||
switch(tag)
|
||||
{
|
||||
case CdTrackFlags:
|
||||
case kSectorTagCdTrackFlags:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1561,7 +1561,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
|
||||
FATAL("Track not found");
|
||||
return AARUF_ERROR_TRACK_NOT_FOUND;
|
||||
case CdTrackIsrc:
|
||||
case kSectorTagCdTrackIsrc:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1587,7 +1587,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
|
||||
FATAL("Track not found");
|
||||
return AARUF_ERROR_TRACK_NOT_FOUND;
|
||||
case CdSectorSubchannelAaru:
|
||||
case kSectorTagCdSubchannel:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1613,7 +1613,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_subchannel + corrected_sector_address * 96, 96);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdCmi:
|
||||
case kSectorTagDvdCmi:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1639,7 +1639,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_cpr_mai + corrected_sector_address * 6, 1);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorInformation:
|
||||
case kSectorTagDvdSectorInformation:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1665,7 +1665,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_id + corrected_sector_address * 4, 1);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorNumber:
|
||||
case kSectorTagDvdSectorNumber:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1691,7 +1691,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_id + corrected_sector_address * 4 + 1, 3);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorIedAaru:
|
||||
case kSectorTagDvdSectorIed:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1717,7 +1717,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_ied + corrected_sector_address * 2, 2);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorEdcAaru:
|
||||
case kSectorTagDvdSectorEdc:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1743,7 +1743,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_edc + corrected_sector_address * 4, 4);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdTitleKeyDecrypted:
|
||||
case kSectorTagDvdTitleKeyDecrypted:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1769,7 +1769,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_decrypted_title_key + corrected_sector_address * 5, 5);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case AppleSonyTagAaru:
|
||||
case kSectorTagAppleSony:
|
||||
if(ctx->image_info.MetadataMediaType != BlockMedia)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1795,7 +1795,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_subchannel + corrected_sector_address * 12, 12);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case AppleProfileTagAaru:
|
||||
case kSectorTagAppleProfile:
|
||||
if(ctx->image_info.MetadataMediaType != BlockMedia)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -1821,7 +1821,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_sector_tag(const void *context, const u
|
||||
memcpy(buffer, ctx->sector_subchannel + corrected_sector_address * 20, 20);
|
||||
TRACE("Exiting aaruf_read_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case PriamDataTowerTagAaru:
|
||||
case kSectorTagPriamDataTower:
|
||||
if(ctx->image_info.MetadataMediaType != BlockMedia)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
|
||||
24
src/write.c
24
src/write.c
@@ -2173,7 +2173,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
|
||||
switch(tag)
|
||||
{
|
||||
case CdTrackFlags:
|
||||
case kSectorTagCdTrackFlags:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2199,7 +2199,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
|
||||
FATAL("Track not found");
|
||||
return AARUF_ERROR_TRACK_NOT_FOUND;
|
||||
case CdTrackIsrc:
|
||||
case kSectorTagCdTrackIsrc:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2225,7 +2225,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
|
||||
FATAL("Track not found");
|
||||
return AARUF_ERROR_TRACK_NOT_FOUND;
|
||||
case CdSectorSubchannelAaru:
|
||||
case kSectorTagCdSubchannel:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2254,7 +2254,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_sector_subchannel_block = true; // Mark subchannel block as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdCmi:
|
||||
case kSectorTagDvdCmi:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2283,7 +2283,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_dvd_long_sector_blocks = true; // Mark DVD long sector blocks as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorInformation:
|
||||
case kSectorTagDvdSectorInformation:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2311,7 +2311,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
memcpy(ctx->sector_id + corrected_sector_address * 4, data, 1);
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorNumber:
|
||||
case kSectorTagDvdSectorNumber:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2340,7 +2340,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_dvd_long_sector_blocks = true; // Mark DVD long sector blocks as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorIedAaru:
|
||||
case kSectorTagDvdSectorIed:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2369,7 +2369,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_dvd_long_sector_blocks = true; // Mark DVD long sector blocks as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdSectorEdcAaru:
|
||||
case kSectorTagDvdSectorEdc:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2398,7 +2398,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_dvd_long_sector_blocks = true; // Mark DVD long sector blocks as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case DvdTitleKeyDecrypted:
|
||||
case kSectorTagDvdTitleKeyDecrypted:
|
||||
if(ctx->image_info.MetadataMediaType != OpticalDisc)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2427,7 +2427,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_dvd_title_key_decrypted_block = true; // Mark title key block as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case AppleSonyTagAaru:
|
||||
case kSectorTagAppleSony:
|
||||
if(ctx->image_info.MetadataMediaType != BlockMedia)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2456,7 +2456,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_sector_subchannel_block = true; // Mark subchannel block as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case AppleProfileTagAaru:
|
||||
case kSectorTagAppleProfile:
|
||||
if(ctx->image_info.MetadataMediaType != BlockMedia)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
@@ -2485,7 +2485,7 @@ AARU_EXPORT int32_t AARU_CALL aaruf_write_sector_tag(void *context, const uint64
|
||||
ctx->dirty_sector_subchannel_block = true; // Mark subchannel block as dirty
|
||||
TRACE("Exiting aaruf_write_sector_tag() = AARUF_STATUS_OK");
|
||||
return AARUF_STATUS_OK;
|
||||
case PriamDataTowerTagAaru:
|
||||
case kSectorTagPriamDataTower:
|
||||
if(ctx->image_info.MetadataMediaType != BlockMedia)
|
||||
{
|
||||
FATAL("Invalid media type for tag");
|
||||
|
||||
@@ -936,7 +936,7 @@ TEST_F(CreateImageFixture, create_subchannel_uncompressed_image)
|
||||
for(size_t i = 0; i < 96; ++i) { subchannel_data[i] = static_cast<uint8_t>((sector * 96 + i) & 0xFF); }
|
||||
|
||||
const int32_t subchannel_result =
|
||||
aaruf_write_sector_tag(context, sector, false, subchannel_data, 96, CdSectorSubchannelAaru);
|
||||
aaruf_write_sector_tag(context, sector, false, subchannel_data, 96, kSectorTagCdSubchannel);
|
||||
ASSERT_EQ(subchannel_result, AARUF_STATUS_OK) << "Failed to write subchannel for sector " << sector;
|
||||
|
||||
// Update CRC64 with the subchannel data we just wrote
|
||||
@@ -1002,7 +1002,7 @@ TEST_F(CreateImageFixture, create_subchannel_uncompressed_image)
|
||||
uint32_t subchannel_length = sizeof(subchannel_buffer);
|
||||
|
||||
const int32_t subchannel_read_result =
|
||||
aaruf_read_sector_tag(context, i, false, subchannel_buffer, &subchannel_length, CdSectorSubchannelAaru);
|
||||
aaruf_read_sector_tag(context, i, false, subchannel_buffer, &subchannel_length, kSectorTagCdSubchannel);
|
||||
EXPECT_EQ(subchannel_read_result, AARUF_STATUS_OK) << "Failed to read subchannel for sector " << i;
|
||||
EXPECT_EQ(subchannel_length, 96U) << "Unexpected subchannel length for sector " << i;
|
||||
aaruf_crc64_update(subchannel_read_ctx, subchannel_buffer, 96);
|
||||
@@ -1099,7 +1099,7 @@ TEST_F(CreateImageFixture, create_subchannel_compressed_image)
|
||||
for(size_t i = 0; i < 96; ++i) { subchannel_data[i] = static_cast<uint8_t>((sector * 96 + i) & 0xFF); }
|
||||
|
||||
const int32_t subchannel_result =
|
||||
aaruf_write_sector_tag(context, sector, false, subchannel_data, 96, CdSectorSubchannelAaru);
|
||||
aaruf_write_sector_tag(context, sector, false, subchannel_data, 96, kSectorTagCdSubchannel);
|
||||
ASSERT_EQ(subchannel_result, AARUF_STATUS_OK) << "Failed to write subchannel for sector " << sector;
|
||||
|
||||
// Update CRC64 with the subchannel data we just wrote
|
||||
@@ -1165,7 +1165,7 @@ TEST_F(CreateImageFixture, create_subchannel_compressed_image)
|
||||
uint32_t subchannel_length = sizeof(subchannel_buffer);
|
||||
|
||||
const int32_t subchannel_read_result =
|
||||
aaruf_read_sector_tag(context, i, false, subchannel_buffer, &subchannel_length, CdSectorSubchannelAaru);
|
||||
aaruf_read_sector_tag(context, i, false, subchannel_buffer, &subchannel_length, kSectorTagCdSubchannel);
|
||||
EXPECT_EQ(subchannel_read_result, AARUF_STATUS_OK) << "Failed to read subchannel for sector " << i;
|
||||
EXPECT_EQ(subchannel_length, 96U) << "Unexpected subchannel length for sector " << i;
|
||||
aaruf_crc64_update(subchannel_read_ctx, subchannel_buffer, 96);
|
||||
|
||||
@@ -1543,49 +1543,49 @@ const char *sector_tag_type_to_string(int32_t type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case AppleSonyTagAaru:
|
||||
case kSectorTagAppleSony:
|
||||
return "Apple Sony Tag";
|
||||
case CdSectorSync:
|
||||
case kSectorTagCdSync:
|
||||
return "CD Sector Sync";
|
||||
case CdSectorHeader:
|
||||
case kSectorTagCdHeader:
|
||||
return "CD Sector Header";
|
||||
case CdSectorSubHeader:
|
||||
case kSectorTagCdSubHeader:
|
||||
return "CD Sector Sub-Header";
|
||||
case CdSectorEdc:
|
||||
case kSectorTagCdEdc:
|
||||
return "CD Sector EDC";
|
||||
case CdSectorEccP:
|
||||
case kSectorTagCdEccP:
|
||||
return "CD Sector ECC P";
|
||||
case CdSectorEccQ:
|
||||
case kSectorTagCdEccQ:
|
||||
return "CD Sector ECC Q";
|
||||
case CdSectorEcc:
|
||||
case kSectorTagCdEcc:
|
||||
return "CD Sector ECC (P+Q)";
|
||||
case CdSectorSubchannelAaru:
|
||||
case kSectorTagCdSubchannel:
|
||||
return "CD Sector Subchannel";
|
||||
case CdTrackIsrc:
|
||||
case kSectorTagCdTrackIsrc:
|
||||
return "CD Track ISRC";
|
||||
case CdTrackText:
|
||||
case kSectorTagCdTrackText:
|
||||
return "CD Track Text";
|
||||
case CdTrackFlags:
|
||||
case kSectorTagCdTrackFlags:
|
||||
return "CD Track Flags";
|
||||
case DvdCmi:
|
||||
case kSectorTagDvdCmi:
|
||||
return "DVD Copyright Management Information";
|
||||
case FloppyAddressMark:
|
||||
case kSectorTagFloppyAddressMark:
|
||||
return "Floppy Address Mark";
|
||||
case DvdSectorTitleKey:
|
||||
case kSectorTagDvdTitleKey:
|
||||
return "DVD Sector Title Key";
|
||||
case DvdTitleKeyDecrypted:
|
||||
case kSectorTagDvdTitleKeyDecrypted:
|
||||
return "DVD Title Key (Decrypted)";
|
||||
case DvdSectorInformation:
|
||||
case kSectorTagDvdSectorInformation:
|
||||
return "DVD Sector Information";
|
||||
case DvdSectorNumber:
|
||||
case kSectorTagDvdSectorNumber:
|
||||
return "DVD Sector Number";
|
||||
case DvdSectorIedAaru:
|
||||
case kSectorTagDvdSectorIed:
|
||||
return "DVD Sector IED";
|
||||
case DvdSectorEdcAaru:
|
||||
case kSectorTagDvdSectorEdc:
|
||||
return "DVD Sector EDC";
|
||||
case AppleProfileTagAaru:
|
||||
case kSectorTagAppleProfile:
|
||||
return "Apple Profile Tag";
|
||||
case PriamDataTowerTagAaru:
|
||||
case kSectorTagPriamDataTower:
|
||||
return "Priam DataTower Tag";
|
||||
default:
|
||||
return "Unknown Sector Tag";
|
||||
|
||||
Reference in New Issue
Block a user