using System.Runtime.InteropServices;
namespace SabreTools.Data.Models.CHD
{
///
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class HeaderV5 : Header
{
///
/// Which custom compressors are used?
///
/// There should be 4 entries
public CodecType[] Compressors { get; set; } = [];
///
/// Logical size of the data (in bytes)
///
public ulong LogicalBytes { get; set; }
///
/// Offset to the map
///
public ulong MapOffset { get; set; }
///
/// Offset to the first blob of metadata
///
public ulong MetaOffset { get; set; }
///
/// Number of bytes per hunk (512k maximum)
///
public uint HunkBytes { get; set; }
///
/// Number of bytes per unit within each hunk
///
public uint UnitBytes { get; set; }
///
/// Raw data SHA1
///
public byte[] RawSHA1 { get; set; } = new byte[20];
///
/// Combined raw+meta SHA1
///
public byte[] SHA1 { get; set; } = new byte[20];
///
/// Combined raw+meta SHA1 of parent
///
public byte[] ParentSHA1 { get; set; } = new byte[20];
}
}