structstd.coff.SectionHeaderFlags[src]

Fields

_reserved_0: u3 = 0
TYPE_NO_PAD: u1 = 0

The section should not be padded to the next boundary. This flag is obsolete and is replaced by IMAGE_SCN_ALIGN_1BYTES. This is valid only for object files.

_reserved_1: u1 = 0
CNT_CODE: u1 = 0

The section contains executable code.

CNT_INITIALIZED_DATA: u1 = 0

The section contains initialized data.

CNT_UNINITIALIZED_DATA: u1 = 0

The section contains uninitialized data.

LNK_OTHER: u1 = 0

Reserved for future use.

LNK_INFO: u1 = 0

The section contains comments or other information. The .drectve section has this type. This is valid for object files only.

_reserved_2: u1 = 0
LNK_REMOVE: u1 = 0

The section will not become part of the image. This is valid only for object files.

LNK_COMDAT: u1 = 0

The section contains COMDAT data. For more information, see COMDAT Sections (Object Only). This is valid only for object files.

_reserved_3: u2 = 0
GPREL: u1 = 0

The section contains data referenced through the global pointer (GP).

MEM_PURGEABLE: u1 = 0

Reserved for future use.

MEM_16BIT: u1 = 0

Reserved for future use.

MEM_LOCKED: u1 = 0

Reserved for future use.

MEM_PRELOAD: u1 = 0

Reserved for future use.

ALIGN: u4 = 0

Takes on multiple values according to flags: pub const IMAGE_SCN_ALIGN_1BYTES: u32 = 0x100000; pub const IMAGE_SCN_ALIGN_2BYTES: u32 = 0x200000; pub const IMAGE_SCN_ALIGN_4BYTES: u32 = 0x300000; pub const IMAGE_SCN_ALIGN_8BYTES: u32 = 0x400000; pub const IMAGE_SCN_ALIGN_16BYTES: u32 = 0x500000; pub const IMAGE_SCN_ALIGN_32BYTES: u32 = 0x600000; pub const IMAGE_SCN_ALIGN_64BYTES: u32 = 0x700000; pub const IMAGE_SCN_ALIGN_128BYTES: u32 = 0x800000; pub const IMAGE_SCN_ALIGN_256BYTES: u32 = 0x900000; pub const IMAGE_SCN_ALIGN_512BYTES: u32 = 0xA00000; pub const IMAGE_SCN_ALIGN_1024BYTES: u32 = 0xB00000; pub const IMAGE_SCN_ALIGN_2048BYTES: u32 = 0xC00000; pub const IMAGE_SCN_ALIGN_4096BYTES: u32 = 0xD00000; pub const IMAGE_SCN_ALIGN_8192BYTES: u32 = 0xE00000;

LNK_NRELOC_OVFL: u1 = 0

The section contains extended relocations.

MEM_DISCARDABLE: u1 = 0

The section can be discarded as needed.

MEM_NOT_CACHED: u1 = 0

The section cannot be cached.

MEM_NOT_PAGED: u1 = 0

The section is not pageable.

MEM_SHARED: u1 = 0

The section can be shared in memory.

MEM_EXECUTE: u1 = 0

The section can be executed as code.

MEM_READ: u1 = 0

The section can be read.

MEM_WRITE: u1 = 0

The section can be written to.

Source Code

Source code
pub const SectionHeaderFlags = packed struct {
    _reserved_0: u3 = 0,

    /// The section should not be padded to the next boundary.
    /// This flag is obsolete and is replaced by IMAGE_SCN_ALIGN_1BYTES.
    /// This is valid only for object files.
    TYPE_NO_PAD: u1 = 0,

    _reserved_1: u1 = 0,

    /// The section contains executable code.
    CNT_CODE: u1 = 0,

    /// The section contains initialized data.
    CNT_INITIALIZED_DATA: u1 = 0,

    /// The section contains uninitialized data.
    CNT_UNINITIALIZED_DATA: u1 = 0,

    /// Reserved for future use.
    LNK_OTHER: u1 = 0,

    /// The section contains comments or other information.
    /// The .drectve section has this type.
    /// This is valid for object files only.
    LNK_INFO: u1 = 0,

    _reserved_2: u1 = 0,

    /// The section will not become part of the image.
    /// This is valid only for object files.
    LNK_REMOVE: u1 = 0,

    /// The section contains COMDAT data.
    /// For more information, see COMDAT Sections (Object Only).
    /// This is valid only for object files.
    LNK_COMDAT: u1 = 0,

    _reserved_3: u2 = 0,

    /// The section contains data referenced through the global pointer (GP).
    GPREL: u1 = 0,

    /// Reserved for future use.
    MEM_PURGEABLE: u1 = 0,

    /// Reserved for future use.
    MEM_16BIT: u1 = 0,

    /// Reserved for future use.
    MEM_LOCKED: u1 = 0,

    /// Reserved for future use.
    MEM_PRELOAD: u1 = 0,

    /// Takes on multiple values according to flags:
    /// pub const IMAGE_SCN_ALIGN_1BYTES: u32 = 0x100000;
    /// pub const IMAGE_SCN_ALIGN_2BYTES: u32 = 0x200000;
    /// pub const IMAGE_SCN_ALIGN_4BYTES: u32 = 0x300000;
    /// pub const IMAGE_SCN_ALIGN_8BYTES: u32 = 0x400000;
    /// pub const IMAGE_SCN_ALIGN_16BYTES: u32 = 0x500000;
    /// pub const IMAGE_SCN_ALIGN_32BYTES: u32 = 0x600000;
    /// pub const IMAGE_SCN_ALIGN_64BYTES: u32 = 0x700000;
    /// pub const IMAGE_SCN_ALIGN_128BYTES: u32 = 0x800000;
    /// pub const IMAGE_SCN_ALIGN_256BYTES: u32 = 0x900000;
    /// pub const IMAGE_SCN_ALIGN_512BYTES: u32 = 0xA00000;
    /// pub const IMAGE_SCN_ALIGN_1024BYTES: u32 = 0xB00000;
    /// pub const IMAGE_SCN_ALIGN_2048BYTES: u32 = 0xC00000;
    /// pub const IMAGE_SCN_ALIGN_4096BYTES: u32 = 0xD00000;
    /// pub const IMAGE_SCN_ALIGN_8192BYTES: u32 = 0xE00000;
    ALIGN: u4 = 0,

    /// The section contains extended relocations.
    LNK_NRELOC_OVFL: u1 = 0,

    /// The section can be discarded as needed.
    MEM_DISCARDABLE: u1 = 0,

    /// The section cannot be cached.
    MEM_NOT_CACHED: u1 = 0,

    /// The section is not pageable.
    MEM_NOT_PAGED: u1 = 0,

    /// The section can be shared in memory.
    MEM_SHARED: u1 = 0,

    /// The section can be executed as code.
    MEM_EXECUTE: u1 = 0,

    /// The section can be read.
    MEM_READ: u1 = 0,

    /// The section can be written to.
    MEM_WRITE: u1 = 0,
}