#ifndef LLVM_BINARYFORMAT_COFF_H
#define LLVM_BINARYFORMAT_COFF_H
#include "llvm/Support/DataTypes.h"
#include <cassert>
namespace llvm {
namespace COFF {
const int32_t MaxNumberOfSections16 = …;
static const char PEMagic[] = …;
static const char BigObjMagic[] = …;
static const char ClGlObjMagic[] = …;
static const char WinResMagic[] = …;
enum { … };
struct header { … };
struct BigObjHeader { … };
enum MachineTypes : unsigned { … };
template <typename T> bool isArm64EC(T Machine) { … }
template <typename T> bool isAnyArm64(T Machine) { … }
template <typename T> bool is64Bit(T Machine) { … }
enum Characteristics : unsigned { … };
enum ResourceTypeID : unsigned { … };
struct symbol { … };
enum SymbolSectionNumber : int32_t { … };
enum SymbolStorageClass { … };
enum SymbolBaseType : unsigned { … };
enum SymbolComplexType : unsigned { … };
enum AuxSymbolType { … };
struct section { … };
enum SectionCharacteristics : uint32_t { … };
struct relocation { … };
enum RelocationTypeI386 : unsigned { … };
enum RelocationTypeAMD64 : unsigned { … };
enum RelocationTypesARM : unsigned { … };
enum RelocationTypesARM64 : unsigned { … };
enum DynamicRelocationType : unsigned { … };
enum Arm64XFixupType : uint8_t { … };
enum COMDATType : uint8_t { … };
struct AuxiliaryFunctionDefinition { … };
struct AuxiliarybfAndefSymbol { … };
struct AuxiliaryWeakExternal { … };
enum WeakExternalCharacteristics : unsigned { … };
struct AuxiliarySectionDefinition { … };
struct AuxiliaryCLRToken { … };
Auxiliary;
struct ImportDirectoryTableEntry { … };
struct ImportLookupTableEntry32 { … };
struct DOSHeader { … };
struct PE32Header { … };
struct DataDirectory { … };
enum DataDirectoryIndex : unsigned { … };
enum WindowsSubsystem : unsigned { … };
enum DLLCharacteristics : unsigned { … };
enum ExtendedDLLCharacteristics : unsigned { … };
enum DebugType : unsigned { … };
enum BaseRelocationType : unsigned { … };
enum ImportType : unsigned { … };
enum ImportNameType : unsigned { … };
enum class GuardFlags : uint32_t { … };
struct ImportHeader { … };
enum CodeViewIdentifiers { … };
enum Feat00Flags : uint32_t { … };
enum Arm64ECThunkType : uint8_t { … };
inline bool isReservedSectionNumber(int32_t SectionNumber) { … }
bool encodeSectionName(char *Out, uint64_t Offset);
}
}
#endif