namespace SabreTools.Data.Models.ZArchive
{
///
/// Footer data stored at the end of a ZArchive file
///
///
public class Footer
{
///
/// Size and offset values for the CompressedData section
///
public OffsetInfo SectionCompressedData { get; set; } = new();
///
/// Size and offset values for the OffsetRecords section
///
public OffsetInfo SectionOffsetRecords { get; set; } = new();
///
/// Size and offset values for the NameTable section
///
public OffsetInfo SectionNameTable { get; set; } = new();
///
/// Size and offset values for the FileFree section
///
public OffsetInfo SectionFileTree { get; set; } = new();
///
/// Size and offset values for the MetaDirectory section
///
public OffsetInfo SectionMetaDirectory { get; set; } = new();
///
/// Size and offset values for the MetaData section
///
public OffsetInfo SectionMetaData { get; set; } = new();
///
/// SHA-256 hash of the ZArchive file prior the footer
///
public byte[] IntegrityHash { get; set; } = new byte[32];
///
/// Size of the entire ZArchive file
///
/// Big-endian
public ulong Size { get; set; }
///
/// Version indicator, also acts as extended magic
///
public byte[] Version { get; set; } = new byte[4];
///
/// Magic bytes to indicate ZArchive file
///
public byte[] Magic { get; set; } = new byte[4];
}
}