Add support for V2 header.

This commit is contained in:
2025-08-02 18:00:05 +01:00
parent 8ba8c2b47a
commit 6ab06b316f

View File

@@ -53,7 +53,7 @@ import type.time;
#define DIC_MAGIC "DICMFRMT"
#define AARU_MAGIC "AARUFRMT"
enum MediaType : u32
enum MediaTypeOld : u32
{
Unknown = 0,
UnknownMO = 1,
@@ -773,10 +773,24 @@ struct AaruHeader
u8 imageMinorVersion;
u8 applicationMajorVersion;
u8 applicationMinorVersion;
MediaType mediaType;
if(imageMajorVersion == 1)
MediaTypeOld mediaType;
else
u32 mediaType;
Index *indexOffset : u64;
type::FILETIME creationTime;
type::FILETIME lastWrittenTime;
if(imageMajorVersion >= 2)
{
type::GUID guid;
u8 blockAlignmentShift;
u8 dataShift;
u8 tableShift;
u64 featureCompatible;
u64 featureCompatibleRo;
u64 featureIncompatible;
}
};
struct DdtHeader
@@ -1085,4 +1099,4 @@ struct Index
AaruHeader header @ 0x00;
if(header.identifier != DIC_MAGIC && header.identifier != AARU_MAGIC)
std::error("Incorrect signature!");
std::error("Incorrect signature!");