using System.Runtime.InteropServices; namespace SabreTools.Data.Models.CHD { /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] public class HeaderV3 : Header { /// /// Flags /// [MarshalAs(UnmanagedType.U4)] public Flags Flags; /// /// Compression type /// [MarshalAs(UnmanagedType.U4)] public CompressionType Compression; /// /// Total # of hunks represented /// public uint TotalHunks; /// /// Logical size of the data (in bytes) /// public ulong LogicalBytes; /// /// Offset to the first blob of metadata /// public ulong MetaOffset; /// /// MD5 checksum of raw data /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] MD5 = new byte[16]; /// /// MD5 checksum of parent file /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] ParentMD5 = new byte[16]; /// /// Number of bytes per hunk /// public uint HunkBytes; /// /// SHA1 checksum of raw data /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] public byte[] SHA1 = new byte[20]; /// /// SHA1 checksum of parent file /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] public byte[] ParentSHA1 = new byte[20]; } }