namespace SabreTools.Data.Models.XboxExecutable { /// /// XBox Executable format section header /// /// /// /// public class SectionHeader { /// /// Various flags for this .XBE section. /// public SectionFlags SectionFlags { get; set; } /// /// Address of memory to load this section at. /// public uint VirtualAddress { get; set; } /// /// Number of bytes in memory to fill with this section. /// public uint VirtualSize { get; set; } /// /// File address where this section resides in the .XBE file. /// public uint RawAddress { get; set; } /// /// Number of bytes of this section that exist in the .XBE file. /// public uint RawSize { get; set; } /// /// Address to the name for this section, after the .XBE is loaded into memory. /// public uint SectionNameAddress { get; set; } /// /// It is typically safe to set this to zero. /// public uint SectionNameReferenceCount { get; set; } /// /// It is typically safe to set this to point to a 2-byte WORD in memory with value zero. /// public uint HeadSharedPageReferenceCountAddress { get; set; } /// /// It is typically safe to set this to point to a 2-byte WORD in memory with value zero. /// public uint TailSharedPageReferenceCountAddress { get; set; } /// /// 20-byte digest for this section. For unsigned .XBE files, it is safe to set this to zeros. /// public byte[] SectionDigest { get; set; } = new byte[20]; } }