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]; } }