mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
Add function to convert Aaru media tag type to image data type
This commit is contained in:
@@ -137,6 +137,8 @@ AARU_EXPORT int32_t AARU_CALL aaruf_read_track_sector(void *context, uint8_t *da
|
|||||||
|
|
||||||
AARU_LOCAL int32_t AARU_CALL aaruf_get_media_tag_type_for_datatype(int32_t type);
|
AARU_LOCAL int32_t AARU_CALL aaruf_get_media_tag_type_for_datatype(int32_t type);
|
||||||
|
|
||||||
|
AARU_LOCAL int32_t AARU_CALL aaruf_get_datatype_for_media_tag_type(int32_t tag_type);
|
||||||
|
|
||||||
AARU_LOCAL int32_t AARU_CALL aaruf_get_xml_mediatype(int32_t type);
|
AARU_LOCAL int32_t AARU_CALL aaruf_get_xml_mediatype(int32_t type);
|
||||||
|
|
||||||
AARU_EXPORT spamsum_ctx *AARU_CALL aaruf_spamsum_init(void);
|
AARU_EXPORT spamsum_ctx *AARU_CALL aaruf_spamsum_init(void);
|
||||||
|
|||||||
162
src/helpers.c
162
src/helpers.c
@@ -28,7 +28,7 @@
|
|||||||
* @param type Image data type identifier.
|
* @param type Image data type identifier.
|
||||||
* @return Corresponding Aaru media tag type, or -1 if not found.
|
* @return Corresponding Aaru media tag type, or -1 if not found.
|
||||||
*/
|
*/
|
||||||
int32_t aaruf_get_media_tag_type_for_datatype(int32_t type)
|
int32_t aaruf_get_media_tag_type_for_datatype(const int32_t type)
|
||||||
{
|
{
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
@@ -177,8 +177,166 @@ int32_t aaruf_get_media_tag_type_for_datatype(int32_t type)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Converts an Aaru media tag type to an image data type.
|
||||||
|
*
|
||||||
|
* Maps the given Aaru media tag type to the corresponding image data type.
|
||||||
|
* This is the inverse function of aaruf_get_media_tag_type_for_datatype.
|
||||||
|
*
|
||||||
|
* @param tag_type Aaru media tag type identifier.
|
||||||
|
* @return Corresponding image data type, or -1 if not found.
|
||||||
|
*/
|
||||||
|
int32_t aaruf_get_datatype_for_media_tag_type(const int32_t tag_type)
|
||||||
|
{
|
||||||
|
switch(tag_type)
|
||||||
|
{
|
||||||
|
case CD_TOC:
|
||||||
|
return CompactDiscPartialToc;
|
||||||
|
case CD_SessionInfo:
|
||||||
|
return CompactDiscSessionInfo;
|
||||||
|
case CD_FullTOC:
|
||||||
|
return CompactDiscToc;
|
||||||
|
case CD_PMA:
|
||||||
|
return CompactDiscPma;
|
||||||
|
case CD_ATIP:
|
||||||
|
return CompactDiscAtip;
|
||||||
|
case CD_TEXT:
|
||||||
|
return CompactDiscLeadInCdText;
|
||||||
|
case DVD_PFI:
|
||||||
|
return DvdPfi;
|
||||||
|
case DVD_CMI:
|
||||||
|
return DvdLeadInCmi;
|
||||||
|
case DVD_DiscKey:
|
||||||
|
return DvdDiscKey;
|
||||||
|
case DVD_BCA:
|
||||||
|
return DvdBca;
|
||||||
|
case DVD_DMI:
|
||||||
|
return DvdDmi;
|
||||||
|
case DVD_MediaIdentifier:
|
||||||
|
return DvdMediaIdentifier;
|
||||||
|
case DVD_MKB:
|
||||||
|
return DvdMediaKeyBlock;
|
||||||
|
case DVDRAM_DDS:
|
||||||
|
return DvdRamDds;
|
||||||
|
case DVDRAM_MediumStatus:
|
||||||
|
return DvdRamMediumStatus;
|
||||||
|
case DVDRAM_SpareArea:
|
||||||
|
return DvdRamSpareArea;
|
||||||
|
case DVDR_RMD:
|
||||||
|
return DvdRRmd;
|
||||||
|
case DVDR_PreRecordedInfo:
|
||||||
|
return DvdRPrerecordedInfo;
|
||||||
|
case DVDR_MediaIdentifier:
|
||||||
|
return DvdRMediaIdentifier;
|
||||||
|
case DVDR_PFI:
|
||||||
|
return DvdRPfi;
|
||||||
|
case DVD_ADIP:
|
||||||
|
return DvdAdip;
|
||||||
|
case HDDVD_CPI:
|
||||||
|
return HdDvdCpi;
|
||||||
|
case HDDVD_MediumStatus:
|
||||||
|
return HdDvdMediumStatus;
|
||||||
|
case DVDDL_LayerCapacity:
|
||||||
|
return DvdDlLayerCapacity;
|
||||||
|
case DVDDL_MiddleZoneAddress:
|
||||||
|
return DvdDlMiddleZoneAddress;
|
||||||
|
case DVDDL_JumpIntervalSize:
|
||||||
|
return DvdDlJumpIntervalSize;
|
||||||
|
case DVDDL_ManualLayerJumpLBA:
|
||||||
|
return DvdDlManualLayerJumpLba;
|
||||||
|
case BD_DI:
|
||||||
|
return BlurayDi;
|
||||||
|
case BD_BCA:
|
||||||
|
return BlurayBca;
|
||||||
|
case BD_DDS:
|
||||||
|
return BlurayDds;
|
||||||
|
case BD_CartridgeStatus:
|
||||||
|
return BlurayCartridgeStatus;
|
||||||
|
case BD_SpareArea:
|
||||||
|
return BluraySpareArea;
|
||||||
|
case AACS_VolumeIdentifier:
|
||||||
|
return AacsVolumeIdentifier;
|
||||||
|
case AACS_SerialNumber:
|
||||||
|
return AacsSerialNumber;
|
||||||
|
case AACS_MediaIdentifier:
|
||||||
|
return AacsMediaIdentifier;
|
||||||
|
case AACS_MKB:
|
||||||
|
return AacsMediaKeyBlock;
|
||||||
|
case AACS_DataKeys:
|
||||||
|
return AacsDataKeys;
|
||||||
|
case AACS_LBAExtents:
|
||||||
|
return AacsLbaExtents;
|
||||||
|
case AACS_CPRM_MKB:
|
||||||
|
return CprmMediaKeyBlock;
|
||||||
|
case Hybrid_RecognizedLayers:
|
||||||
|
return HybridRecognizedLayers;
|
||||||
|
case MMC_WriteProtection:
|
||||||
|
return ScsiMmcWriteProtection;
|
||||||
|
case MMC_DiscInformation:
|
||||||
|
return ScsiMmcDiscInformation;
|
||||||
|
case MMC_TrackResourcesInformation:
|
||||||
|
return ScsiMmcTrackResourcesInformation;
|
||||||
|
case MMC_POWResourcesInformation:
|
||||||
|
return ScsiMmcPowResourcesInformation;
|
||||||
|
case SCSI_INQUIRY:
|
||||||
|
return ScsiInquiry;
|
||||||
|
case SCSI_MODEPAGE_2A:
|
||||||
|
return ScsiModePage2A;
|
||||||
|
case ATA_IDENTIFY:
|
||||||
|
return AtaIdentify;
|
||||||
|
case ATAPI_IDENTIFY:
|
||||||
|
return AtapiIdentify;
|
||||||
|
case PCMCIA_CIS:
|
||||||
|
return PcmciaCis;
|
||||||
|
case SD_CID:
|
||||||
|
return SecureDigitalCid;
|
||||||
|
case SD_CSD:
|
||||||
|
return SecureDigitalCsd;
|
||||||
|
case SD_SCR:
|
||||||
|
return SecureDigitalScr;
|
||||||
|
case SD_OCR:
|
||||||
|
return SecureDigitalOcr;
|
||||||
|
case MMC_CID:
|
||||||
|
return MultiMediaCardCid;
|
||||||
|
case MMC_CSD:
|
||||||
|
return MultiMediaCardCsd;
|
||||||
|
case MMC_OCR:
|
||||||
|
return MultiMediaCardOcr;
|
||||||
|
case MMC_ExtendedCSD:
|
||||||
|
return MultiMediaCardExtendedCsd;
|
||||||
|
case Xbox_SecuritySector:
|
||||||
|
return XboxSecuritySector;
|
||||||
|
case Floppy_LeadOut:
|
||||||
|
return FloppyLeadOut;
|
||||||
|
case DCB:
|
||||||
|
return DvdDiscControlBlock;
|
||||||
|
case CD_FirstTrackPregap:
|
||||||
|
return CompactDiscFirstTrackPregap;
|
||||||
|
case CD_LeadOut:
|
||||||
|
return CompactDiscLeadOut;
|
||||||
|
case SCSI_MODESENSE_6:
|
||||||
|
return ScsiModeSense6;
|
||||||
|
case SCSI_MODESENSE_10:
|
||||||
|
return ScsiModeSense10;
|
||||||
|
case USB_Descriptors:
|
||||||
|
return UsbDescriptors;
|
||||||
|
case Xbox_DMI:
|
||||||
|
return XboxDmi;
|
||||||
|
case Xbox_PFI:
|
||||||
|
return XboxPfi;
|
||||||
|
case CD_MCN:
|
||||||
|
return CompactDiscMediaCatalogueNumber;
|
||||||
|
case CD_LeadIn:
|
||||||
|
return CompactDiscLeadIn;
|
||||||
|
case DVD_DiscKey_Decrypted:
|
||||||
|
return DvdDiscKeyDecrypted;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Get the CICM XML media type from AARU media type
|
// Get the CICM XML media type from AARU media type
|
||||||
int32_t aaruf_get_xml_mediatype(int32_t type)
|
int32_t aaruf_get_xml_mediatype(const int32_t type)
|
||||||
{
|
{
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user