LLVM
20.0.0git
include
llvm
Object
COFFModuleDefinition.h
Go to the documentation of this file.
1
//===--- COFFModuleDefinition.h ---------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// Windows-specific.
10
// A parser for the module-definition file (.def file).
11
// Parsed results are directly written to Config global variable.
12
//
13
// The format of module-definition files are described in this document:
14
// https://msdn.microsoft.com/en-us/library/28d6s79h.aspx
15
//
16
//===----------------------------------------------------------------------===//
17
18
#ifndef LLVM_OBJECT_COFFMODULEDEFINITION_H
19
#define LLVM_OBJECT_COFFMODULEDEFINITION_H
20
21
#include "
llvm/BinaryFormat/COFF.h
"
22
#include "
llvm/Object/COFFImportFile.h
"
23
24
namespace
llvm
{
25
namespace
object {
26
27
struct
COFFModuleDefinition
{
28
std::vector<COFFShortExport>
Exports
;
29
std::string
OutputFile
;
30
std::string
ImportName
;
31
uint64_t
ImageBase
= 0;
32
uint64_t
StackReserve
= 0;
33
uint64_t
StackCommit
= 0;
34
uint64_t
HeapReserve
= 0;
35
uint64_t
HeapCommit
= 0;
36
uint32_t
MajorImageVersion
= 0;
37
uint32_t
MinorImageVersion
= 0;
38
uint32_t
MajorOSVersion
= 0;
39
uint32_t
MinorOSVersion
= 0;
40
};
41
42
Expected<COFFModuleDefinition>
43
parseCOFFModuleDefinition
(
MemoryBufferRef
MB,
COFF::MachineTypes
Machine
,
44
bool
MingwDef =
false
,
bool
AddUnderscores =
true
);
45
46
}
// End namespace object.
47
}
// End namespace llvm.
48
49
#endif
COFF.h
COFFImportFile.h
Machine
COFF::MachineTypes Machine
Definition:
COFFYAML.cpp:371
llvm::Expected
Tagged union holding either a T or a Error.
Definition:
Error.h:481
llvm::MemoryBufferRef
Definition:
MemoryBufferRef.h:22
uint32_t
uint64_t
llvm::COFF::MachineTypes
MachineTypes
Definition:
COFF.h:92
llvm::object::parseCOFFModuleDefinition
Expected< COFFModuleDefinition > parseCOFFModuleDefinition(MemoryBufferRef MB, COFF::MachineTypes Machine, bool MingwDef=false, bool AddUnderscores=true)
Definition:
COFFModuleDefinition.cpp:365
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::object::COFFModuleDefinition
Definition:
COFFModuleDefinition.h:27
llvm::object::COFFModuleDefinition::MajorOSVersion
uint32_t MajorOSVersion
Definition:
COFFModuleDefinition.h:38
llvm::object::COFFModuleDefinition::MajorImageVersion
uint32_t MajorImageVersion
Definition:
COFFModuleDefinition.h:36
llvm::object::COFFModuleDefinition::StackCommit
uint64_t StackCommit
Definition:
COFFModuleDefinition.h:33
llvm::object::COFFModuleDefinition::MinorOSVersion
uint32_t MinorOSVersion
Definition:
COFFModuleDefinition.h:39
llvm::object::COFFModuleDefinition::ImportName
std::string ImportName
Definition:
COFFModuleDefinition.h:30
llvm::object::COFFModuleDefinition::StackReserve
uint64_t StackReserve
Definition:
COFFModuleDefinition.h:32
llvm::object::COFFModuleDefinition::OutputFile
std::string OutputFile
Definition:
COFFModuleDefinition.h:29
llvm::object::COFFModuleDefinition::HeapCommit
uint64_t HeapCommit
Definition:
COFFModuleDefinition.h:35
llvm::object::COFFModuleDefinition::HeapReserve
uint64_t HeapReserve
Definition:
COFFModuleDefinition.h:34
llvm::object::COFFModuleDefinition::MinorImageVersion
uint32_t MinorImageVersion
Definition:
COFFModuleDefinition.h:37
llvm::object::COFFModuleDefinition::ImageBase
uint64_t ImageBase
Definition:
COFFModuleDefinition.h:31
llvm::object::COFFModuleDefinition::Exports
std::vector< COFFShortExport > Exports
Definition:
COFFModuleDefinition.h:28
Generated on Tue Dec 3 2024 12:15:41 for LLVM by
1.9.6