using System.Runtime.InteropServices; namespace SabreTools.Data.Models.N3DS { /// [StructLayout(LayoutKind.Sequential)] public sealed class CIAHeader { /// /// Archive header size, usually 0x2020 bytes /// public uint HeaderSize; /// /// Type /// public ushort Type; /// /// Version /// public ushort Version; /// /// Certificate chain size /// public uint CertificateChainSize; /// /// Ticket size /// public uint TicketSize; /// /// TMD file size /// public uint TMDFileSize; /// /// Meta size (0 if no Meta data is present) /// public uint MetaSize; /// /// Content size /// public ulong ContentSize; /// /// Content Index /// /// 0x2000 bytes [MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x2000)] public byte[] ContentIndex = new byte[0x2000]; } }