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];
}
}