16 #define ECase(X) IO.enumCase(Value, #X, COFF::X);
191 #define BCase(X) IO.bitSetCase(Value, #X, COFF::X);
253 struct NSectionSelectionType {
254 NSectionSelectionType(
IO &)
256 NSectionSelectionType(IO &, uint8_t C)
262 struct NWeakExternalCharacteristics {
263 NWeakExternalCharacteristics(IO &)
265 NWeakExternalCharacteristics(IO &, uint32_t C)
271 struct NSectionCharacteristics {
272 NSectionCharacteristics(IO &)
274 NSectionCharacteristics(IO &, uint32_t C)
280 struct NAuxTokenType {
283 NAuxTokenType(IO &, uint8_t C)
285 uint32_t denormalize(IO &) {
return AuxType; }
289 struct NStorageClass {
300 uint16_t denormalize(IO &) {
return Machine; }
304 struct NHeaderCharacteristics {
306 NHeaderCharacteristics(IO &, uint16_t C)
313 template <
typename RelocType>
315 NType(IO &) :
Type(RelocType(0)) {}
316 NType(IO &, uint16_t
T) :
Type(RelocType(T)) {}
317 uint16_t denormalize(IO &) {
return Type; }
321 struct NWindowsSubsystem {
324 uint16_t denormalize(IO &) {
return Subsystem; }
329 struct NDLLCharacteristics {
331 NDLLCharacteristics(IO &, uint16_t C)
385 IO.
mapRequired(
"DLLCharacteristics", NDC->Characteristics);
418 IO.
mapOptional(
"Characteristics", NC->Characteristics);
441 IO.
mapRequired(
"Characteristics", NWEC->Characteristics);
485 IO.
mapRequired(
"Characteristics", NC->Characteristics);
A byte; unsigned 1-byte integer.
std::enable_if< has_SequenceTraits< T >::value, void >::type mapOptional(const char *Key, T &Val)
COFF::SymbolBaseType SimpleType
The Windows character subsystem.
Image can handle > 2GiB addresses.
Physical end of function.
uint32_t SymbolTableIndex
Device drivers and native Windows processes.
Optional< COFF::AuxiliarybfAndefSymbol > bfAndefSymbol
Aggressively trim working set. This is deprecated and must be 0.
Image supports Control Flow Guard.
Isolation aware, but do not isolate the image.
COFF::SymbolStorageClass StorageClass
The Windows GUI subsystem.
COFF symbol table entries for local symbols have been removed.
".bf" or ".ef" - beginning or end of function
No complex type; simple scalar variable.
ASLR with 64 bit address space.
std::vector< Relocation > Relocations
External symbol in dmert public lib.
std::vector< Section > Sections
An unsigned integer of natural size.
A 4-byte floating-point number.
This class should be specialized by any type that needs to be converted to/from a YAML mapping...
COFFYAML::COMDATType SelectionType
The OS/2 character subsytem.
COFF::MachineTypes Machine
uint16_t NumberOfRelocations
Used with void pointers and functions.
void enumCase(T &Val, const char *Str, const T ConstVal)
Machine is based on a 32bit word architecture.
An EFI driver with run-time services.
An EFI driver with boot services.
No type information or unknown base type.
COFF::WindowsSubsystem Subsystem
Line number, reformatted as symbol.
An 8-byte floating-point number.
A function that returns a base type.
If the image is on removable media, fully load it and copy it to swap.
A word; unsigned 2-byte integer.
yaml::BinaryRef SectionData
Little endian: the LSB precedes the MSB in memory.
An unsigned 4-byte integer.
Optional< COFF::AuxiliaryFunctionDefinition > FunctionDefinition
COFFYAML::AuxSymbolType AuxType
This file should only be run on a uniprocessor machine.
DLL can be relocated at load time.
This class should be specialized by any integral type that converts to/from a YAML scalar where there...
Optional< COFF::AuxiliaryCLRToken > CLRToken
If the image is on network media, fully load it and copy it to swap.
Debugging info has been removed.
uint32_t PointerToNextFunction
uint32_t RelativeVirtualAddress
SymbolStorageClass
Storage class tells where and what the symbol represents.
".bb" or ".eb" - beginning or end of block
COFF line numbers have been stripped.
Big endian: the MSB precedes the LSB in memory.
A character (signed byte).
The POSIX character subsystem.
Code integrity checks are enforced.
Optional< COFF::AuxiliaryWeakExternal > WeakExternal
COFFYAML::WeakExternalCharacteristics Characteristics
uint32_t PointerToNextFunction
Does not use structured exception handling (SEH).
The image file is a system file, not a user program.
uint32_t PointerToLinenumber
This class should be specialized by any integer type that is a union of bit values and the YAML repre...
LLVM Value Representation.
std::vector< Symbol > Symbols
A member of enumeration (a specific value).
StringRef - Represent a constant reference to a string, i.e.
The file does not contain base relocations and must be loaded at its preferred base.
void mapRequired(const char *Key, T &Val)
COFF::SymbolComplexType ComplexType
Optional< PEHeader > OptionalHeader
uint16_t NumberOfLinenumbers
WeakExternalCharacteristics
These are not documented in the spec, but are located in WinNT.h.
The file is valid and can be run.
Optional< COFF::AuxiliarySectionDefinition > SectionDefinition
Native Windows 9x driver.
A natural integer type on the target.