namespace SabreTools.Data.Models.WIA
{
///
/// WIA / RVZ first header (0x48 bytes at the start of the file).
/// All multi-byte fields are big-endian on disk; the reader converts to host order.
///
///
public sealed class WiaHeader1
{
///
/// Format magic: 0x01414957 ("WIA\x01") or 0x015A5652 ("RVZ\x01")
///
public uint Magic { get; set; }
///
/// Format version (e.g. 0x01000000)
///
/// Big-endian
public uint Version { get; set; }
///
/// Minimum version required to read this file
///
/// Big-endian
public uint VersionCompatible { get; set; }
///
/// Size of WiaHeader2 in bytes
///
/// Big-endian
public uint Header2Size { get; set; }
///
/// SHA-1 hash of WiaHeader2
///
/// 20 bytes
public byte[] Header2Hash { get; set; } = new byte[20];
///
/// Total size of the equivalent uncompressed ISO image in bytes
///
/// Big-endian
public ulong IsoFileSize { get; set; }
///
/// Total size of this WIA / RVZ file in bytes
///
/// Big-endian
public ulong WiaFileSize { get; set; }
///
/// SHA-1 hash of this header, excluding this field itself
///
/// 20 bytes
public byte[] Header1Hash { get; set; } = new byte[20];
}
}