mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-15 02:33:10 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
namespace SabreTools.Data.Models.XZ
|
|
{
|
|
/// <summary>
|
|
/// Represents the post-block data in the stream
|
|
/// </summary>
|
|
public class Footer
|
|
{
|
|
/// <summary>
|
|
/// The CRC32 is calculated from the Backward Size and Stream Flags
|
|
/// fields. It is stored as an unsigned 32-bit little endian
|
|
/// integer.
|
|
/// </summary>
|
|
public uint Crc32 { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// The real index size can be calculated by the following:
|
|
/// (BackwardSize + 1) * 4
|
|
/// </remarks>
|
|
public uint BackwardSize { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public HeaderFlags Flags { get; set; }
|
|
|
|
/// <summary>
|
|
/// Header magic number ("YZ")
|
|
/// </summary>
|
|
/// <remarks>2 bytes</remarks>
|
|
public byte[] Signature { get; set; } = new byte[2];
|
|
}
|
|
}
|