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