namespace SabreTools.Data.Models.XZ
{
///
/// Represents the post-block data in the stream
///
public class Footer
{
///
/// The CRC32 is calculated from the Backward Size and Stream Flags
/// fields. It is stored as an unsigned 32-bit little endian
/// integer.
///
public uint Crc32 { get; set; }
///
/// Backward Size is stored as a 32-bit little endian integer,
/// which indicates the size of the Index field as multiple of
/// four bytes, minimum value being four bytes.
///
///
/// The real index size can be calculated by the following:
/// (BackwardSize + 1) * 4
///
public uint BackwardSize { get; set; }
///
/// This is a copy of the Stream Flags field from the Stream
/// Header. The information stored to Stream Flags is needed
/// when parsing the Stream backwards.
///
public HeaderFlags Flags { get; set; }
///
/// Header magic number ("YZ")
///
/// 2 bytes
public byte[] Signature { get; set; } = new byte[2];
}
}