LLVM  8.0.1
Classes | Namespaces | Typedefs | Enumerations
COFF.h File Reference
#include "llvm/ADT/iterator_range.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/CVDebugRecord.h"
#include "llvm/Object/Error.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/BinaryByteStream.h"
#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <system_error>
Include dependency graph for COFF.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::ArrayRef< T >
 ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...
 
struct  llvm::object::dos_header
 The DOS compatible header at the front of all PE/COFF executables. More...
 
struct  llvm::object::coff_file_header
 
struct  llvm::object::coff_bigobj_file_header
 
struct  llvm::object::pe32_header
 The 32-bit PE header that follows the COFF header. More...
 
struct  llvm::object::pe32plus_header
 The 64-bit PE header that follows the COFF header. More...
 
struct  llvm::object::data_directory
 
struct  llvm::object::debug_directory
 
struct  llvm::object::import_lookup_table_entry< IntTy >
 
struct  llvm::object::delay_import_directory_table_entry
 
struct  llvm::object::export_directory_table_entry
 
union  llvm::object::export_address_table_entry
 
struct  llvm::object::StringTableOffset
 
struct  llvm::object::coff_symbol< SectionNumberType >
 
struct  llvm::object::coff_symbol_generic
 
class  llvm::object::COFFSymbolRef
 
struct  llvm::object::coff_section
 
struct  llvm::object::coff_relocation
 
struct  llvm::object::coff_aux_function_definition
 
struct  llvm::object::coff_aux_bf_and_ef_symbol
 
struct  llvm::object::coff_aux_weak_external
 
struct  llvm::object::coff_aux_section_definition
 
struct  llvm::object::coff_aux_clr_token
 
struct  llvm::object::coff_import_header
 
struct  llvm::object::coff_import_directory_table_entry
 
struct  llvm::object::coff_tls_directory< IntTy >
 
struct  llvm::object::coff_load_config_code_integrity
 
struct  llvm::object::coff_load_configuration32
 32-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY32) More...
 
struct  llvm::object::coff_load_configuration64
 64-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY64) More...
 
struct  llvm::object::coff_runtime_function_x64
 
struct  llvm::object::coff_base_reloc_block_header
 
struct  llvm::object::coff_base_reloc_block_entry
 
struct  llvm::object::coff_resource_dir_entry
 
struct  llvm::object::coff_resource_data_entry
 
struct  llvm::object::coff_resource_dir_table
 
struct  llvm::object::debug_h_header
 
class  llvm::object::COFFObjectFile
 
class  llvm::object::ImportDirectoryEntryRef
 
class  llvm::object::DelayImportDirectoryEntryRef
 
class  llvm::object::ExportDirectoryEntryRef
 
class  llvm::object::ImportedSymbolRef
 
class  llvm::object::BaseRelocRef
 
class  llvm::object::ResourceSectionRef
 
struct  llvm::object::FpoData
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::object
 

Typedefs

using llvm::object::import_directory_iterator = content_iterator< ImportDirectoryEntryRef >
 
using llvm::object::delay_import_directory_iterator = content_iterator< DelayImportDirectoryEntryRef >
 
using llvm::object::export_directory_iterator = content_iterator< ExportDirectoryEntryRef >
 
using llvm::object::imported_symbol_iterator = content_iterator< ImportedSymbolRef >
 
using llvm::object::base_reloc_iterator = content_iterator< BaseRelocRef >
 
using llvm::object::import_lookup_table_entry32 = import_lookup_table_entry< support::little32_t >
 
using llvm::object::import_lookup_table_entry64 = import_lookup_table_entry< support::little64_t >
 
using llvm::object::export_name_pointer_table_entry = support::ulittle32_t
 
using llvm::object::export_ordinal_table_entry = support::ulittle16_t
 
using llvm::object::coff_symbol16 = coff_symbol< support::ulittle16_t >
 
using llvm::object::coff_symbol32 = coff_symbol< support::ulittle32_t >
 
using llvm::object::coff_tls_directory32 = coff_tls_directory< support::little32_t >
 
using llvm::object::coff_tls_directory64 = coff_tls_directory< support::little64_t >
 

Enumerations

enum  llvm::object::coff_guard_flags : uint32_t {
  llvm::object::coff_guard_flags::CFInstrumented = 0x00000100, llvm::object::coff_guard_flags::HasFidTable = 0x00000400, llvm::object::coff_guard_flags::ProtectDelayLoadIAT = 0x00001000, llvm::object::coff_guard_flags::DelayLoadIATSection = 0x00002000,
  llvm::object::coff_guard_flags::HasLongJmpTable = 0x00010000, llvm::object::coff_guard_flags::FidTableHasFlags = 0x10000000
}
 Bits in control flow guard flags as we understand them. More...
 
enum  llvm::object::frame_type : uint16_t { llvm::object::frame_type::Fpo = 0, llvm::object::frame_type::Trap = 1, llvm::object::frame_type::Tss = 2, llvm::object::frame_type::NonFpo = 3 }