namespace SabreTools.Data.Models.WIA
{
public static class Constants
{
/// WIA magic (little-endian u32): "WIA\x01"
public const uint WiaMagic = 0x01414957;
/// RVZ magic (little-endian u32): "RVZ\x01"
public const uint RvzMagic = 0x015A5652;
/// Size of WiaHeader1 in bytes
public const int Header1Size = 0x48;
/// Size of WiaHeader2 in bytes
public const int Header2Size = 0xDC;
/// Size of a PartitionEntry in bytes
public const int PartitionEntrySize = 0x30;
/// Size of a PartitionDataEntry in bytes
public const int PartitionDataEntrySize = 0x10;
/// Size of a RawDataEntry in bytes
public const int RawDataEntrySize = 0x18;
/// Size of a WiaGroupEntry in bytes
public const int WiaGroupEntrySize = 0x08;
/// Size of an RvzGroupEntry in bytes
public const int RvzGroupEntrySize = 0x0C;
/// Size of a HashExceptionEntry in bytes (2-byte offset + 20-byte SHA-1)
public const int HashExceptionEntrySize = 0x16;
/// Number of bytes of disc header stored in WiaHeader2.DiscHeader
public const int DiscHeaderStoredSize = 0x80;
// WIA version numbers
public const uint WiaVersion = 0x01000000;
public const uint WiaVersionWriteCompatible = 0x01000000;
public const uint RvzVersion = 0x01000000;
public const uint RvzVersionWriteCompatible = 0x00030000;
// Default chunk size (2 MiB = one Wii group)
public const uint DefaultChunkSize = 2 * 1024 * 1024;
}
}