// dnlib: See LICENSE.txt for more info
using dnlib.IO;
namespace dnlib.PE {
///
/// Interface for PE optional header classes
///
public interface IImageOptionalHeader : IFileSection {
///
/// Returns the Magic field
///
ushort Magic { get; }
///
/// Returns the MajorLinkerVersion field
///
byte MajorLinkerVersion { get; }
///
/// Returns the MinorLinkerVersion field
///
byte MinorLinkerVersion { get; }
///
/// Returns the SizeOfCode field
///
uint SizeOfCode { get; }
///
/// Returns the SizeOfInitializedData field
///
uint SizeOfInitializedData { get; }
///
/// Returns the SizeOfUninitializedData field
///
uint SizeOfUninitializedData { get; }
///
/// Returns the AddressOfEntryPoint field
///
RVA AddressOfEntryPoint { get; }
///
/// Returns the BaseOfCode field
///
RVA BaseOfCode { get; }
///
/// Returns the BaseOfData field
///
RVA BaseOfData { get; }
///
/// Returns the ImageBase field
///
ulong ImageBase { get; }
///
/// Returns the SectionAlignment field
///
uint SectionAlignment { get; }
///
/// Returns the FileAlignment field
///
uint FileAlignment { get; }
///
/// Returns the MajorOperatingSystemVersion field
///
ushort MajorOperatingSystemVersion { get; }
///
/// Returns the MinorOperatingSystemVersion field
///
ushort MinorOperatingSystemVersion { get; }
///
/// Returns the MajorImageVersion field
///
ushort MajorImageVersion { get; }
///
/// Returns the MinorImageVersion field
///
ushort MinorImageVersion { get; }
///
/// Returns the MajorSubsystemVersion field
///
ushort MajorSubsystemVersion { get; }
///
/// Returns the MinorSubsystemVersion field
///
ushort MinorSubsystemVersion { get; }
///
/// Returns the Win32VersionValue field
///
uint Win32VersionValue { get; }
///
/// Returns the SizeOfImage field
///
uint SizeOfImage { get; }
///
/// Returns the SizeOfHeaders field
///
uint SizeOfHeaders { get; }
///
/// Returns the CheckSum field
///
uint CheckSum { get; }
///
/// Returns the Subsystem field
///
Subsystem Subsystem { get; }
///
/// Returns the DllCharacteristics field
///
DllCharacteristics DllCharacteristics { get; }
///
/// Returns the SizeOfStackReserve field
///
ulong SizeOfStackReserve { get; }
///
/// Returns the SizeOfStackCommit field
///
ulong SizeOfStackCommit { get; }
///
/// Returns the SizeOfHeapReserve field
///
ulong SizeOfHeapReserve { get; }
///
/// Returns the SizeOfHeapCommit field
///
ulong SizeOfHeapCommit { get; }
///
/// Returns the LoaderFlags field
///
uint LoaderFlags { get; }
///
/// Returns the NumberOfRvaAndSizes field
///
uint NumberOfRvaAndSizes { get; }
///
/// Returns the DataDirectories field. This array contains exactly 16 elements.
///
ImageDataDirectory[] DataDirectories { get; }
}
}