using System;
namespace QuickLook.Plugin.PEViewer.PEImageParser;
///
/// Specifies the values for the property of a section header of a PE image file.
///
[Flags]
public enum ImageSectionFlags : uint
{
///
/// Specifies that the section should not be padded to the next boundary. This flag is obsolete and is replaced by . This is valid only for object files.
///
NoPadding = 0x8,
///
/// Specifies that the section contains executable code.
///
ContainsCode = 0x20,
///
/// Specifies that the section contains initialized data.
///
ContainsInitializedData = 0x40,
///
/// Specifies that the section contains uninitialized data.
///
ContainsUninitializedData = 0x80,
///
/// Specifies that the section contains comments or other information. The .drectve section has this type. This is valid for object files only.
///
ContainsInformation = 0x200,
///
/// Specifies that the section will not become part of the image. This is valid only for object files.
///
Remove = 0x800,
///
/// Specifies that the section contains COMDAT data. This is valid only for object files.
///
ContainsComdat = 0x1000,
///
/// Specifies that the section contains data referenced through the global pointer (GP).
///
ContainsGlobalPointerData = 0x8000,
///
/// Specifies to align data on a 1-byte boundary. Valid only for object files.
///
Align1 = 0x100000,
///
/// Specifies to align data on a 2-byte boundary. Valid only for object files.
///
Align2 = 0x200000,
///
/// Specifies to align data on a 4-byte boundary. Valid only for object files.
///
Align4 = 0x300000,
///
/// Specifies to align data on a 8-byte boundary. Valid only for object files.
///
Align8 = 0x400000,
///
/// Specifies to align data on a 16-byte boundary. Valid only for object files.
///
Align16 = 0x500000,
///
/// Specifies to align data on a 32-byte boundary. Valid only for object files.
///
Align32 = 0x600000,
///
/// Specifies to align data on a 64-byte boundary. Valid only for object files.
///
Align64 = 0x700000,
///
/// Specifies to align data on a 128-byte boundary. Valid only for object files.
///
Align128 = 0x800000,
///
/// Specifies to align data on a 256-byte boundary. Valid only for object files.
///
Align256 = 0x900000,
///
/// Specifies to align data on a 512-byte boundary. Valid only for object files.
///
Align512 = 0xa00000,
///
/// Specifies to align data on a 1024-byte boundary. Valid only for object files.
///
Align1024 = 0xb00000,
///
/// Specifies to align data on a 2048-byte boundary. Valid only for object files.
///
Align2048 = 0xc00000,
///
/// Specifies to align data on a 4096-byte boundary. Valid only for object files.
///
Align4096 = 0xd00000,
///
/// Specifies to align data on a 8192-byte boundary. Valid only for object files.
///
Align8192 = 0xe00000,
///
/// Specifies that the section contains extended relocations.
///
ContainsExtendedRelocations = 0x1000000,
///
/// Specifies that the section can be discarded as needed.
///
Discardable = 0x2000000,
///
/// Specifies that the section cannot be cached.
///
NotCached = 0x4000000,
///
/// Specifies that the section is not pageable.
///
NotPaged = 0x8000000,
///
/// Specifies that the section can be shared in memory.
///
Shared = 0x10000000,
///
/// Specifies that the section can be executed as code.
///
Execute = 0x20000000,
///
/// Specifies that the section can be read.
///
Read = 0x40000000,
///
/// Specifies that the section can be written to.
///
Write = 0x80000000,
}