GTIRB
v2.2.0
GrammaTech Intermediate Representation for Binaries: C++ API
|
Go to the documentation of this file.
16 #ifndef GTIRB_AUXDATASCHEMA_HPP
17 #define GTIRB_AUXDATASCHEMA_HPP
37 static constexpr
const char*
Name =
"functionBlocks";
38 typedef std::map<gtirb::UUID, std::set<gtirb::UUID>>
Type;
43 static constexpr
const char*
Name =
"functionEntries";
44 typedef std::map<gtirb::UUID, std::set<gtirb::UUID>>
Type;
49 static constexpr
const char*
Name =
"functionNames";
50 typedef std::map<gtirb::UUID, gtirb::UUID>
Type;
55 static constexpr
const char*
Name =
"types";
56 typedef std::map<gtirb::UUID, std::string>
Type;
61 static constexpr
const char*
Name =
"alignment";
62 typedef std::map<gtirb::UUID, uint64_t>
Type;
67 static constexpr
const char*
Name =
"comments";
68 typedef std::map<gtirb::Offset, std::string>
Type;
73 static constexpr
const char*
Name =
"symbolForwarding";
74 typedef std::map<gtirb::UUID, gtirb::UUID>
Type;
79 static constexpr
const char*
Name =
"padding";
80 typedef std::map<gtirb::Offset, uint64_t>
Type;
86 static constexpr
const char*
Name =
"elfDynamicInit";
93 static constexpr
const char*
Name =
"elfDynamicFini";
100 static constexpr
const char*
Name =
"elfSoname";
107 static constexpr
const char*
Name =
"elfStackExec";
114 static constexpr
const char*
Name =
"elfStackSize";
120 namespace provisional_schema {
124 static constexpr
const char*
Name =
"profile";
125 typedef std::map<gtirb::Offset, uint64_t>
Type;
138 std::map<SymbolVersionId, std::tuple<std::vector<std::string>, uint16_t>>;
142 std::map<std::string, std::map<SymbolVersionId, std::string>>;
146 std::map<gtirb::UUID, std::tuple<SymbolVersionId, bool>>;
152 static constexpr
const char*
Name =
"elfSymbolVersions";
153 typedef std::tuple<ElfSymVerDefs, ElfSymVerNeeded, ElfSymbolVersionsEntries>
160 #endif // GTIRB_AUXDATASCHEMA_HPP
static constexpr const char * Name
Definition: AuxDataSchema.hpp:107
static constexpr const char * Name
Definition: AuxDataSchema.hpp:49
gtirb::UUID Type
Definition: AuxDataSchema.hpp:94
uint64_t Type
Definition: AuxDataSchema.hpp:115
static constexpr const char * Name
Definition: AuxDataSchema.hpp:43
boost::uuids::uuid UUID
Represents a universally unique identifier used to identify Node objects across serialization boundar...
Definition: Context.hpp:36
static constexpr const char * Name
Definition: AuxDataSchema.hpp:61
static constexpr const char * Name
Definition: AuxDataSchema.hpp:114
Schema class for types auxiliary data.
Definition: AuxDataSchema.hpp:54
uint16_t SymbolVersionId
Version identifiers are 16 bit unsigned integers.
Definition: AuxDataSchema.hpp:129
static constexpr const char * Name
Definition: AuxDataSchema.hpp:124
Class gtirb::Context and related operators.
std::map< gtirb::Offset, uint64_t > Type
Definition: AuxDataSchema.hpp:125
Schema class for ELF file's dynamic entry DT_SONAME. It contains a SONAME as string.
Definition: AuxDataSchema.hpp:99
Schema class for alignment auxiliary data.
Definition: AuxDataSchema.hpp:60
std::tuple< ElfSymVerDefs, ElfSymVerNeeded, ElfSymbolVersionsEntries > Type
Definition: AuxDataSchema.hpp:154
Main namespace for the GTIRB API.
Definition: Addr.hpp:28
std::map< gtirb::UUID, std::string > Type
Definition: AuxDataSchema.hpp:56
std::map< gtirb::Offset, uint64_t > Type
Definition: AuxDataSchema.hpp:80
Schema class for ELF file's dynamic entry DT_FINI. It contains a CodeBlock's UUID.
Definition: AuxDataSchema.hpp:92
static constexpr const char * Name
Definition: AuxDataSchema.hpp:37
std::map< gtirb::UUID, std::set< gtirb::UUID > > Type
Definition: AuxDataSchema.hpp:44
Schema class for profile aux data.
Definition: AuxDataSchema.hpp:123
static constexpr const char * Name
Definition: AuxDataSchema.hpp:93
std::string Type
Definition: AuxDataSchema.hpp:101
std::map< gtirb::UUID, std::set< gtirb::UUID > > Type
Definition: AuxDataSchema.hpp:38
static constexpr const char * Name
Definition: AuxDataSchema.hpp:79
std::map< gtirb::UUID, uint64_t > Type
Definition: AuxDataSchema.hpp:62
bool Type
Definition: AuxDataSchema.hpp:108
static constexpr const char * Name
Definition: AuxDataSchema.hpp:152
Schema class for functionNames auxiliary data.
Definition: AuxDataSchema.hpp:48
Schema class for functionBlocks auxiliary data.
Definition: AuxDataSchema.hpp:36
static constexpr const char * Name
Definition: AuxDataSchema.hpp:100
static constexpr const char * Name
Definition: AuxDataSchema.hpp:55
Auxiliary data for ELF symbol versions. This includes the symbol version definitions,...
Definition: AuxDataSchema.hpp:151
Schema class for stack executable flag specified by PT_GNU_STACK segment in ELF files.
Definition: AuxDataSchema.hpp:106
static constexpr const char * Name
Definition: AuxDataSchema.hpp:73
static constexpr const char * Name
Definition: AuxDataSchema.hpp:86
gtirb::UUID Type
Definition: AuxDataSchema.hpp:87
std::map< gtirb::UUID, gtirb::UUID > Type
Definition: AuxDataSchema.hpp:50
std::map< gtirb::UUID, std::tuple< SymbolVersionId, bool > > ElfSymbolVersionsEntries
Definition: AuxDataSchema.hpp:146
std::map< SymbolVersionId, std::tuple< std::vector< std::string >, uint16_t > > ElfSymVerDefs
Definition: AuxDataSchema.hpp:138
Schema class for ELF file's dynamic entry DT_INIT. It contains a CodeBlock's UUID.
Definition: AuxDataSchema.hpp:85
Schema class for symbolForwarding auxiliary data.
Definition: AuxDataSchema.hpp:72
std::map< std::string, std::map< SymbolVersionId, std::string > > ElfSymVerNeeded
Definition: AuxDataSchema.hpp:142
Schema class for padding auxiliary data.
Definition: AuxDataSchema.hpp:78
Class gtirb::Addr and related functions.
Schema class for the size of the PT_GNU_STACK segment in ELF files, which may influence the runtime s...
Definition: AuxDataSchema.hpp:113
std::map< gtirb::UUID, gtirb::UUID > Type
Definition: AuxDataSchema.hpp:74
Schema class for functionEntries auxiliary data.
Definition: AuxDataSchema.hpp:42