Namespace functions.

This commit is contained in:
2022-05-28 12:01:55 +01:00
parent d529a9631c
commit 660682bbd2
10 changed files with 107 additions and 107 deletions

View File

@@ -72,41 +72,41 @@
#define FORCE_INLINE static inline __attribute__((always_inline))
#endif
AARU_EXPORT int AARU_CALL identify(const char* filename);
AARU_EXPORT int AARU_CALL aaruf_identify(const char* filename);
AARU_EXPORT int AARU_CALL identifyStream(FILE* imageStream);
AARU_EXPORT int AARU_CALL aaruf_identify_stream(FILE* imageStream);
AARU_EXPORT void* AARU_CALL open(const char* filepath);
AARU_EXPORT void* AARU_CALL aaruf_open(const char* filepath);
AARU_EXPORT int AARU_CALL close(void* context);
AARU_EXPORT int AARU_CALL aaruf_close(void* context);
AARU_EXPORT int32_t AARU_CALL read_media_tag(void* context, uint8_t* data, int32_t tag, uint32_t* length);
AARU_EXPORT int32_t AARU_CALL aaruf_read_media_tag(void* context, uint8_t* data, int32_t tag, uint32_t* length);
AARU_EXPORT void* AARU_CALL crc64_init(uint64_t polynomial, uint64_t seed);
AARU_EXPORT void* AARU_CALL aaruf_crc64_init(uint64_t polynomial, uint64_t seed);
AARU_EXPORT void* AARU_CALL crc64_init_ecma(void);
AARU_EXPORT void* AARU_CALL aaruf_crc64_init_ecma(void);
AARU_EXPORT void AARU_CALL crc64_update(void* context, const uint8_t* data, size_t len);
AARU_EXPORT void AARU_CALL aaruf_crc64_update(void* context, const uint8_t* data, size_t len);
AARU_EXPORT uint64_t AARU_CALL crc64_final(void* context);
AARU_EXPORT uint64_t AARU_CALL aaruf_crc64_final(void* context);
AARU_EXPORT uint64_t AARU_CALL crc64_data(const uint8_t* data, size_t len, uint64_t polynomial, uint64_t seed);
AARU_EXPORT uint64_t AARU_CALL aaruf_crc64_data(const uint8_t* data, size_t len, uint64_t polynomial, uint64_t seed);
AARU_EXPORT uint64_t AARU_CALL crc64_data_ecma(const uint8_t* data, size_t len);
AARU_EXPORT uint64_t AARU_CALL aaruf_crc64_data_ecma(const uint8_t* data, size_t len);
AARU_EXPORT int32_t AARU_CALL read_sector(void* context, uint64_t sectorAddress, uint8_t* data, uint32_t* length);
AARU_EXPORT int32_t AARU_CALL aaruf_read_sector(void* context, uint64_t sectorAddress, uint8_t* data, uint32_t* length);
AARU_EXPORT int32_t AARU_CALL cst_transform(const uint8_t* interleaved, uint8_t* sequential, size_t length);
AARU_EXPORT int32_t AARU_CALL aaruf_cst_transform(const uint8_t* interleaved, uint8_t* sequential, size_t length);
AARU_EXPORT int32_t AARU_CALL cst_untransform(const uint8_t* sequential, uint8_t* interleaved, size_t length);
AARU_EXPORT int32_t AARU_CALL aaruf_cst_untransform(const uint8_t* sequential, uint8_t* interleaved, size_t length);
AARU_LOCAL void* AARU_CALL ecc_cd_init();
AARU_EXPORT void* AARU_CALL aaruf_ecc_cd_init();
AARU_EXPORT bool AARU_CALL ecc_cd_is_suffix_correct(void* context, const uint8_t* sector);
AARU_EXPORT bool AARU_CALL aaruf_ecc_cd_is_suffix_correct(void* context, const uint8_t* sector);
AARU_EXPORT bool AARU_CALL ecc_cd_is_suffix_correct_mode2(void* context, const uint8_t* sector);
AARU_EXPORT bool AARU_CALL aaruf_ecc_cd_is_suffix_correct_mode2(void* context, const uint8_t* sector);
AARU_EXPORT bool AARU_CALL ecc_cd_check(void* context,
AARU_EXPORT bool AARU_CALL aaruf_ecc_cd_check(void* context,
const uint8_t* address,
const uint8_t* data,
uint32_t majorCount,
@@ -118,7 +118,7 @@ AARU_EXPORT bool AARU_CALL ecc_cd_check(void* context,
int32_t dataOffset,
int32_t eccOffset);
AARU_EXPORT void AARU_CALL ecc_cd_write(void* context,
AARU_EXPORT void AARU_CALL aaruf_ecc_cd_write(void* context,
const uint8_t* address,
const uint8_t* data,
uint32_t majorCount,
@@ -130,7 +130,7 @@ AARU_EXPORT void AARU_CALL ecc_cd_write(void* context,
int32_t dataOffset,
int32_t eccOffset);
AARU_EXPORT void AARU_CALL ecc_cd_write_sector(void* context,
AARU_EXPORT void AARU_CALL aaruf_ecc_cd_write_sector(void* context,
const uint8_t* address,
const uint8_t* data,
uint8_t* ecc,
@@ -138,19 +138,19 @@ AARU_EXPORT void AARU_CALL ecc_cd_write_sector(void* context,
int32_t dataOffset,
int32_t eccOffset);
AARU_LOCAL void AARU_CALL cd_lba_to_msf(int64_t pos, uint8_t* minute, uint8_t* second, uint8_t* frame);
AARU_LOCAL void AARU_CALL aaruf_cd_lba_to_msf(int64_t pos, uint8_t* minute, uint8_t* second, uint8_t* frame);
AARU_EXPORT void AARU_CALL ecc_cd_reconstruct_prefix(uint8_t* sector, uint8_t type, int64_t lba);
AARU_EXPORT void AARU_CALL aaruf_ecc_cd_reconstruct_prefix(uint8_t* sector, uint8_t type, int64_t lba);
AARU_EXPORT void AARU_CALL ecc_cd_reconstruct(void* context, uint8_t* sector, uint8_t type);
AARU_EXPORT void AARU_CALL aaruf_ecc_cd_reconstruct(void* context, uint8_t* sector, uint8_t type);
AARU_EXPORT uint32_t AARU_CALL edc_cd_compute(void* context, uint32_t edc, const uint8_t* src, int size, int pos);
AARU_EXPORT uint32_t AARU_CALL aaruf_edc_cd_compute(void* context, uint32_t edc, const uint8_t* src, int size, int pos);
AARU_EXPORT int32_t AARU_CALL
read_track_sector(void* context, uint8_t* data, uint64_t sectorAddress, uint32_t* length, uint8_t track);
aaruf_read_track_sector(void* context, uint8_t* data, uint64_t sectorAddress, uint32_t* length, uint8_t track);
AARU_LOCAL int32_t AARU_CALL GetMediaTagTypeForDataType(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 GetXmlMediaType(int32_t type);
AARU_LOCAL int32_t AARU_CALL aaruf_get_xml_mediatype(int32_t type);
#endif // LIBAARUFORMAT_DECLS_H

View File

@@ -36,7 +36,7 @@
#include <stdio.h>
#include <sys/mman.h>
int close(void* context)
int aaruf_close(void* context)
{
int i;

View File

@@ -35,7 +35,7 @@
#include <stdint.h>
#include <string.h>
void* crc64_init(uint64_t polynomial, uint64_t seed)
void* aaruf_crc64_init(uint64_t polynomial, uint64_t seed)
{
Crc64Context* ctx;
int i, j;
@@ -64,9 +64,9 @@ void* crc64_init(uint64_t polynomial, uint64_t seed)
return ctx;
}
void* crc64_init_ecma(void) { return crc64_init(CRC64_ECMA_POLY, CRC64_ECMA_SEED); }
void* aaruf_crc64_init_ecma(void) { return aaruf_crc64_init(CRC64_ECMA_POLY, CRC64_ECMA_SEED); }
void crc64_update(void* context, const uint8_t* data, size_t len)
void aaruf_crc64_update(void* context, const uint8_t* data, size_t len)
{
Crc64Context* ctx = context;
size_t i;
@@ -74,14 +74,14 @@ void crc64_update(void* context, const uint8_t* data, size_t len)
for(i = 0; i < len; i++) ctx->hashInt = (ctx->hashInt >> 8) ^ ctx->table[data[i] ^ (ctx->hashInt & 0xFF)];
}
uint64_t crc64_final(void* context)
uint64_t aaruf_crc64_final(void* context)
{
Crc64Context* ctx = context;
return ctx->hashInt ^ ctx->finalSeed;
}
uint64_t crc64_data(const uint8_t* data, size_t len, uint64_t polynomial, uint64_t seed)
uint64_t aaruf_crc64_data(const uint8_t* data, size_t len, uint64_t polynomial, uint64_t seed)
{
uint64_t table[256];
uint64_t hashInt = seed;
@@ -105,7 +105,7 @@ uint64_t crc64_data(const uint8_t* data, size_t len, uint64_t polynomial, uint64
return hashInt ^ seed;
}
uint64_t crc64_data_ecma(const uint8_t* data, size_t len)
uint64_t aaruf_crc64_data_ecma(const uint8_t* data, size_t len)
{
return crc64_data(data, len, CRC64_ECMA_POLY, CRC64_ECMA_SEED);
return aaruf_crc64_data(data, len, CRC64_ECMA_POLY, CRC64_ECMA_SEED);
}

View File

@@ -35,7 +35,7 @@
#include <stdint.h>
#include <string.h>
int32_t cst_transform(const uint8_t* interleaved, uint8_t* sequential, size_t length)
int32_t aaruf_cst_transform(const uint8_t* interleaved, uint8_t* sequential, size_t length)
{
uint8_t *p, *q, *r, *s, *t, *u, *v, *w;
size_t qStart;
@@ -169,7 +169,7 @@ int32_t cst_transform(const uint8_t* interleaved, uint8_t* sequential, size_t le
return AARUF_STATUS_OK;
}
int32_t cst_untransform(const uint8_t* sequential, uint8_t* interleaved, size_t length)
int32_t aaruf_cst_untransform(const uint8_t* sequential, uint8_t* interleaved, size_t length)
{
uint8_t *p, *q, *r, *s, *t, *u, *v, *w;
size_t qStart;

View File

@@ -37,7 +37,7 @@
#include <stdint.h>
#include <string.h>
void* ecc_cd_init()
void* aaruf_ecc_cd_init()
{
CdEccContext* context;
uint32_t edc, i, j;
@@ -87,7 +87,7 @@ void* ecc_cd_init()
return context;
}
bool ecc_cd_is_suffix_correct(void* context, const uint8_t* sector)
bool aaruf_ecc_cd_is_suffix_correct(void* context, const uint8_t* sector)
{
CdEccContext* ctx;
uint32_t storedEdc, edc, calculatedEdc;
@@ -105,10 +105,10 @@ bool ecc_cd_is_suffix_correct(void* context, const uint8_t* sector)
sector[0x819] != 0x00 || sector[0x81A] != 0x00 || sector[0x81B] != 0x00)
return false;
bool correctEccP = ecc_cd_check(context, sector, sector, 86, 24, 2, 86, sector, 0xC, 0x10, 0x81C);
bool correctEccP = aaruf_ecc_cd_check(context, sector, sector, 86, 24, 2, 86, sector, 0xC, 0x10, 0x81C);
if(!correctEccP) return false;
bool correctEccQ = ecc_cd_check(context, sector, sector, 52, 43, 86, 88, sector, 0xC, 0x10, 0x81C + 0xAC);
bool correctEccQ = aaruf_ecc_cd_check(context, sector, sector, 52, 43, 86, 88, sector, 0xC, 0x10, 0x81C + 0xAC);
if(!correctEccQ) return false;
storedEdc = sector[0x810]; // TODO: Check casting
@@ -121,7 +121,7 @@ bool ecc_cd_is_suffix_correct(void* context, const uint8_t* sector)
return calculatedEdc == storedEdc;
}
bool ecc_cd_is_suffix_correct_mode2(void* context, const uint8_t* sector)
bool aaruf_ecc_cd_is_suffix_correct_mode2(void* context, const uint8_t* sector)
{
CdEccContext* ctx;
uint32_t storedEdc, edc, calculatedEdc;
@@ -136,10 +136,10 @@ bool ecc_cd_is_suffix_correct_mode2(void* context, const uint8_t* sector)
memset(&zeroaddress, 4, sizeof(uint8_t));
bool correctEccP = ecc_cd_check(context, zeroaddress, sector, 86, 24, 2, 86, sector, 0, 0x10, 0x81C);
bool correctEccP = aaruf_ecc_cd_check(context, zeroaddress, sector, 86, 24, 2, 86, sector, 0, 0x10, 0x81C);
if(!correctEccP) return false;
bool correctEccQ = ecc_cd_check(context, zeroaddress, sector, 52, 43, 86, 88, sector, 0, 0x10, 0x81C + 0xAC);
bool correctEccQ = aaruf_ecc_cd_check(context, zeroaddress, sector, 52, 43, 86, 88, sector, 0, 0x10, 0x81C + 0xAC);
if(!correctEccQ) return false;
storedEdc = sector[0x818]; // TODO: Check cast
@@ -152,7 +152,7 @@ bool ecc_cd_is_suffix_correct_mode2(void* context, const uint8_t* sector)
return calculatedEdc == storedEdc;
}
bool ecc_cd_check(void* context,
bool aaruf_ecc_cd_check(void* context,
const uint8_t* address,
const uint8_t* data,
uint32_t majorCount,
@@ -197,7 +197,7 @@ bool ecc_cd_check(void* context,
return true;
}
void ecc_cd_write(void* context,
void aaruf_ecc_cd_write(void* context,
const uint8_t* address,
const uint8_t* data,
uint32_t majorCount,
@@ -242,7 +242,7 @@ void ecc_cd_write(void* context,
}
}
void ecc_cd_write_sector(void* context,
void aaruf_ecc_cd_write_sector(void* context,
const uint8_t* address,
const uint8_t* data,
uint8_t* ecc,
@@ -250,18 +250,18 @@ void ecc_cd_write_sector(void* context,
int32_t dataOffset,
int32_t eccOffset)
{
ecc_cd_write(context, address, data, 86, 24, 2, 86, ecc, addressOffset, dataOffset, eccOffset); // P
ecc_cd_write(context, address, data, 52, 43, 86, 88, ecc, addressOffset, dataOffset, eccOffset + 0xAC); // Q
aaruf_ecc_cd_write(context, address, data, 86, 24, 2, 86, ecc, addressOffset, dataOffset, eccOffset); // P
aaruf_ecc_cd_write(context, address, data, 52, 43, 86, 88, ecc, addressOffset, dataOffset, eccOffset + 0xAC); // Q
}
void cd_lba_to_msf(int64_t pos, uint8_t* minute, uint8_t* second, uint8_t* frame)
void aaruf_cd_lba_to_msf(int64_t pos, uint8_t* minute, uint8_t* second, uint8_t* frame)
{
*minute = (uint8_t)((pos + 150) / 75 / 60);
*second = (uint8_t)((pos + 150) / 75 % 60);
*frame = (uint8_t)((pos + 150) % 75);
}
void ecc_cd_reconstruct_prefix(uint8_t* sector, // must point to a full 2352-byte sector
void aaruf_ecc_cd_reconstruct_prefix(uint8_t* sector, // must point to a full 2352-byte sector
uint8_t type,
int64_t lba)
{
@@ -285,7 +285,7 @@ void ecc_cd_reconstruct_prefix(uint8_t* sector, // must point to a full 2352-byt
sector[0x00A] = 0xFF;
sector[0x00B] = 0x00;
cd_lba_to_msf(lba, &minute, &second, &frame);
aaruf_cd_lba_to_msf(lba, &minute, &second, &frame);
sector[0x00C] = (uint8_t)(((minute / 10) << 4) + minute % 10);
sector[0x00D] = (uint8_t)(((second / 10) << 4) + second % 10);
@@ -318,7 +318,7 @@ void ecc_cd_reconstruct_prefix(uint8_t* sector, // must point to a full 2352-byt
}
}
void ecc_cd_reconstruct(void* context,
void aaruf_ecc_cd_reconstruct(void* context,
uint8_t* sector, // must point to a full 2352-byte sector
uint8_t type)
{
@@ -339,15 +339,15 @@ void ecc_cd_reconstruct(void* context,
// Compute EDC
//
case CdMode1:
computedEdc = edc_cd_compute(context, 0, sector, 0x810, 0);
computedEdc = aaruf_edc_cd_compute(context, 0, sector, 0x810, 0);
memcpy(sector + 0x810, &computedEdc, 4);
break;
case CdMode2Form1:
computedEdc = edc_cd_compute(context, 0, sector, 0x808, 0x10);
computedEdc = aaruf_edc_cd_compute(context, 0, sector, 0x808, 0x10);
memcpy(sector + 0x818, &computedEdc, 4);
break;
case CdMode2Form2:
computedEdc = edc_cd_compute(context, 0, sector, 0x91C, 0x10);
computedEdc = aaruf_edc_cd_compute(context, 0, sector, 0x91C, 0x10);
memcpy(sector + 0x92C, &computedEdc, 4);
break;
default: return;
@@ -372,9 +372,9 @@ void ecc_cd_reconstruct(void* context,
sector[0x819] = 0x00;
sector[0x81A] = 0x00;
sector[0x81B] = 0x00;
ecc_cd_write_sector(context, sector, sector, sector, 0xC, 0x10, 0x81C);
aaruf_ecc_cd_write_sector(context, sector, sector, sector, 0xC, 0x10, 0x81C);
break;
case CdMode2Form1: ecc_cd_write_sector(context, zeroaddress, sector, sector, 0, 0x10, 0x81C); break;
case CdMode2Form1: aaruf_ecc_cd_write_sector(context, zeroaddress, sector, sector, 0, 0x10, 0x81C); break;
default: return;
}
@@ -383,7 +383,7 @@ void ecc_cd_reconstruct(void* context,
//
}
uint32_t edc_cd_compute(void* context, uint32_t edc, const uint8_t* src, int size, int pos)
uint32_t aaruf_edc_cd_compute(void* context, uint32_t edc, const uint8_t* src, int size, int pos)
{
CdEccContext* ctx;

View File

@@ -34,7 +34,7 @@
#include <aaruformat.h>
// Converts between image data type and aaru media tag type
int32_t GetMediaTagTypeForDataType(int32_t type)
int32_t aaruf_get_media_tag_type_for_datatype(int32_t type)
{
switch(type)
{
@@ -112,7 +112,7 @@ int32_t GetMediaTagTypeForDataType(int32_t type)
}
// Get the CICM XML media type from AARU media type
int32_t GetXmlMediaType(int32_t type)
int32_t aaruf_get_xml_mediatype(int32_t type)
{
switch(type)
{

View File

@@ -37,11 +37,11 @@
//! Identifies a file as aaruformat, using path
/*!
*
* @param filename path to the file to identify
* @param filename path to the file to aaruf_identify
* @return If positive, confidence value, with 100 being maximum confidentiality, and 0 not recognizing the file.
* If negative, error value
*/
int identify(const char* filename)
int aaruf_identify(const char* filename)
{
FILE* stream;
@@ -49,7 +49,7 @@ int identify(const char* filename)
if(stream == NULL) return errno;
int ret = identifyStream(stream);
int ret = aaruf_identify_stream(stream);
fclose(stream);
@@ -59,11 +59,11 @@ int identify(const char* filename)
//! Identifies a file as aaruformat, using an already existing stream
/*!
*
* @param imageStream stream of the file to identify
* @param imageStream stream of the file to aaruf_identify
* @return If positive, confidence value, with 100 being maximum confidentiality, and 0 not recognizing the file.
* If negative, error value
*/
int identifyStream(FILE* imageStream)
int aaruf_identify_stream(FILE* imageStream)
{
fseek(imageStream, 0, SEEK_SET);

View File

@@ -38,7 +38,7 @@
#include <string.h>
#include <sys/mman.h>
void* open(const char* filepath)
void* aaruf_open(const char* filepath)
{
aaruformatContext* ctx;
int errorNo;
@@ -290,7 +290,7 @@ void* open(const char* filepath)
break;
}
crc64 = crc64_data_ecma(data, blockHeader.length);
crc64 = aaruf_crc64_data_ecma(data, blockHeader.length);
if(crc64 != blockHeader.crc64)
{
fprintf(stderr,
@@ -373,7 +373,7 @@ void* open(const char* filepath)
}
memset(mediaTag, 0, sizeof(dataLinkedList));
mediaTag->type = GetMediaTagTypeForDataType(blockHeader.type);
mediaTag->type = aaruf_get_media_tag_type_for_datatype(blockHeader.type);
mediaTag->data = data;
mediaTag->length = blockHeader.length;
@@ -759,8 +759,8 @@ void* open(const char* filepath)
fprintf(stderr, "libaaruformat: Could not read metadata block, continuing...");
}
crc64 =
crc64_data_ecma((const uint8_t*)ctx->trackEntries, ctx->tracksHeader.entries * sizeof(TrackEntry));
crc64 = aaruf_crc64_data_ecma((const uint8_t*)ctx->trackEntries,
ctx->tracksHeader.entries * sizeof(TrackEntry));
if(crc64 != ctx->tracksHeader.crc64)
{
fprintf(stderr,
@@ -874,7 +874,7 @@ void* open(const char* filepath)
if(readBytes == ctx->dumpHardwareHeader.length)
{
crc64 = crc64_data_ecma(data, ctx->dumpHardwareHeader.length);
crc64 = aaruf_crc64_data_ecma(data, ctx->dumpHardwareHeader.length);
if(crc64 != ctx->dumpHardwareHeader.crc64)
{
free(data);
@@ -1143,13 +1143,13 @@ void* open(const char* filepath)
if(!foundUserDataDdt)
{
fprintf(stderr, "libaaruformat: Could not find user data deduplication table, aborting...");
close(ctx);
aaruf_close(ctx);
return NULL;
}
ctx->imageInfo.CreationTime = ctx->header.creationTime;
ctx->imageInfo.LastModificationTime = ctx->header.lastWrittenTime;
ctx->imageInfo.XmlMediaType = GetXmlMediaType(ctx->header.mediaType);
ctx->imageInfo.XmlMediaType = aaruf_get_xml_mediatype(ctx->header.mediaType);
if(ctx->geometryBlock.identifier != GeometryBlock && ctx->imageInfo.XmlMediaType == BlockMedia)
{
@@ -1170,7 +1170,7 @@ void* open(const char* filepath)
// TODO: Cache tracks and sessions?
// Initialize ECC for Compact Disc
ctx->eccCdContext = (CdEccContext*)ecc_cd_init();
ctx->eccCdContext = (CdEccContext*)aaruf_ecc_cd_init();
ctx->magic = AARU_MAGIC;
ctx->libraryMajorVersion = LIBAARUFORMAT_MAJOR_VERSION;

View File

@@ -34,7 +34,7 @@
#include <malloc.h>
#include <string.h>
int32_t read_media_tag(void* context, uint8_t* data, int32_t tag, uint32_t* length)
int32_t aaruf_read_media_tag(void* context, uint8_t* data, int32_t tag, uint32_t* length)
{
aaruformatContext* ctx;
dataLinkedList* item;
@@ -69,7 +69,7 @@ int32_t read_media_tag(void* context, uint8_t* data, int32_t tag, uint32_t* leng
return AARUF_ERROR_MEDIA_TAG_NOT_PRESENT;
}
int32_t read_sector(void* context, uint64_t sectorAddress, uint8_t* data, uint32_t* length)
int32_t aaruf_read_sector(void* context, uint64_t sectorAddress, uint8_t* data, uint32_t* length)
{
aaruformatContext* ctx;
uint64_t ddtEntry;
@@ -148,7 +148,7 @@ int32_t read_sector(void* context, uint64_t sectorAddress, uint8_t* data, uint32
return AARUF_STATUS_OK;
}
int32_t read_track_sector(void* context, uint8_t* data, uint64_t sectorAddress, uint32_t* length, uint8_t track)
int32_t aaruf_read_track_sector(void* context, uint8_t* data, uint64_t sectorAddress, uint32_t* length, uint8_t track)
{
aaruformatContext* ctx;
int i;
@@ -165,7 +165,7 @@ int32_t read_track_sector(void* context, uint8_t* data, uint64_t sectorAddress,
for(i = 0; i < ctx->numberOfDataTracks; i++)
{
if(ctx->dataTracks[i].sequence == track)
{ return read_sector(context, ctx->dataTracks[i].start + sectorAddress, data, length); }
{ return aaruf_read_sector(context, ctx->dataTracks[i].start + sectorAddress, data, length); }
}
return AARUF_ERROR_TRACK_NOT_FOUND;
@@ -199,16 +199,16 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
}
if((ctx->sectorSuffix == NULL || ctx->sectorPrefix == NULL) &&
(ctx->sectorSuffixCorrected == NULL || ctx->sectorPrefixCorrected == NULL))
return read_sector(context, sectorAddress, data, length);
return aaruf_read_sector(context, sectorAddress, data, length);
bareLength = 0;
read_sector(context, sectorAddress, NULL, &bareLength);
aaruf_read_sector(context, sectorAddress, NULL, &bareLength);
bareData = (uint8_t*)malloc(bareLength);
if(bareData == NULL) return AARUF_ERROR_NOT_ENOUGH_MEMORY;
res = read_sector(context, sectorAddress, bareData, &bareLength);
res = aaruf_read_sector(context, sectorAddress, bareData, &bareLength);
if(res < AARUF_STATUS_OK) return res;
@@ -239,7 +239,7 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
{
if((ctx->sectorPrefixDdt[sectorAddress] & CD_XFIX_MASK) == Correct)
{
ecc_cd_reconstruct_prefix(data, trk.type, sectorAddress);
aaruf_ecc_cd_reconstruct_prefix(data, trk.type, sectorAddress);
res = AARUF_STATUS_OK;
}
else if((ctx->sectorPrefixDdt[sectorAddress] & CD_XFIX_MASK) == NotDumped)
@@ -263,7 +263,7 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
{
if((ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == Correct)
{
ecc_cd_reconstruct(ctx->eccCdContext, data, trk.type);
aaruf_ecc_cd_reconstruct(ctx->eccCdContext, data, trk.type);
res = AARUF_STATUS_OK;
}
else if((ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == NotDumped)
@@ -291,7 +291,7 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
{
if((ctx->sectorPrefixDdt[sectorAddress] & CD_XFIX_MASK) == Correct)
{
ecc_cd_reconstruct_prefix(data, trk.type, sectorAddress);
aaruf_ecc_cd_reconstruct_prefix(data, trk.type, sectorAddress);
res = AARUF_STATUS_OK;
}
else if((ctx->sectorPrefixDdt[sectorAddress] & CD_XFIX_MASK) == NotDumped)
@@ -316,14 +316,14 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
if((ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == Mode2Form1Ok)
{
memcpy(data + 24, bareData, 2048);
ecc_cd_reconstruct(ctx->eccCdContext, data, CdMode2Form1);
aaruf_ecc_cd_reconstruct(ctx->eccCdContext, data, CdMode2Form1);
}
else if((ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == Mode2Form2Ok ||
(ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == Mode2Form2NoCrc)
{
memcpy(data + 24, bareData, 2324);
if((ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == Mode2Form2Ok)
ecc_cd_reconstruct(ctx->eccCdContext, data, CdMode2Form2);
aaruf_ecc_cd_reconstruct(ctx->eccCdContext, data, CdMode2Form2);
}
else if((ctx->sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == NotDumped)
{
@@ -353,7 +353,7 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
case AppleSonyDS:
case AppleWidget:
case PriamDataTower:
if(ctx->sectorSubchannel == NULL) return read_sector(context, sectorAddress, data, length);
if(ctx->sectorSubchannel == NULL) return aaruf_read_sector(context, sectorAddress, data, length);
switch(ctx->imageInfo.MediaType)
{
@@ -378,7 +378,7 @@ int32_t read_sector_long(void* context, uint8_t* data, uint64_t sectorAddress, u
if(bareData == NULL) return AARUF_ERROR_NOT_ENOUGH_MEMORY;
res = read_sector(context, sectorAddress, bareData, &bareLength);
res = aaruf_read_sector(context, sectorAddress, bareData, &bareLength);
if(bareLength != 512) return res;

View File

@@ -61,78 +61,78 @@ class crc64Fixture : public ::testing::Test
TEST_F(crc64Fixture, crc64_auto)
{
void* ctx = crc64_init_ecma();
void* ctx = aaruf_crc64_init_ecma();
uint64_t crc;
EXPECT_NE(ctx, nullptr);
crc64_update(ctx, buffer, 1048576);
crc = crc64_final(ctx);
aaruf_crc64_update(ctx, buffer, 1048576);
crc = aaruf_crc64_final(ctx);
EXPECT_EQ(crc, EXPECTED_CRC64);
}
TEST_F(crc64Fixture, crc64_auto_misaligned)
{
void* ctx = crc64_init_ecma();
void* ctx = aaruf_crc64_init_ecma();
uint64_t crc;
EXPECT_NE(ctx, nullptr);
crc64_update(ctx, buffer_misaligned + 1, 1048576);
crc = crc64_final(ctx);
aaruf_crc64_update(ctx, buffer_misaligned + 1, 1048576);
crc = aaruf_crc64_final(ctx);
EXPECT_EQ(crc, EXPECTED_CRC64);
}
TEST_F(crc64Fixture, crc64_auto_15bytes)
{
void* ctx = crc64_init_ecma();
void* ctx = aaruf_crc64_init_ecma();
uint64_t crc;
EXPECT_NE(ctx, nullptr);
crc64_update(ctx, buffer, 15);
crc = crc64_final(ctx);
aaruf_crc64_update(ctx, buffer, 15);
crc = aaruf_crc64_final(ctx);
EXPECT_EQ(crc, EXPECTED_CRC64_15BYTES);
}
TEST_F(crc64Fixture, crc64_auto_31bytes)
{
void* ctx = crc64_init_ecma();
void* ctx = aaruf_crc64_init_ecma();
uint64_t crc;
EXPECT_NE(ctx, nullptr);
crc64_update(ctx, buffer, 31);
crc = crc64_final(ctx);
aaruf_crc64_update(ctx, buffer, 31);
crc = aaruf_crc64_final(ctx);
EXPECT_EQ(crc, EXPECTED_CRC64_31BYTES);
}
TEST_F(crc64Fixture, crc64_auto_63bytes)
{
void* ctx = crc64_init_ecma();
void* ctx = aaruf_crc64_init_ecma();
uint64_t crc;
EXPECT_NE(ctx, nullptr);
crc64_update(ctx, buffer, 63);
crc = crc64_final(ctx);
aaruf_crc64_update(ctx, buffer, 63);
crc = aaruf_crc64_final(ctx);
EXPECT_EQ(crc, EXPECTED_CRC64_63BYTES);
}
TEST_F(crc64Fixture, crc64_auto_2352bytes)
{
void* ctx = crc64_init_ecma();
void* ctx = aaruf_crc64_init_ecma();
uint64_t crc;
EXPECT_NE(ctx, nullptr);
crc64_update(ctx, buffer, 2352);
crc = crc64_final(ctx);
aaruf_crc64_update(ctx, buffer, 2352);
crc = aaruf_crc64_final(ctx);
EXPECT_EQ(crc, EXPECTED_CRC64_2352BYTES);
}