summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2023-11-06 15:28:59 -0500
committerGlenn Smith <glenn@vector35.com>2023-11-06 16:10:47 -0500
commit6436615567547349434351468012512505109552 (patch)
treee798973c25805377731c4a199f40379263bc128c /binaryninjaapi.h
parent4108964609171327618627477163339656037111 (diff)
Type Browser
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index d32af5ce..021069e5 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -30,6 +30,7 @@
#include <vector>
#include <map>
#include <unordered_map>
+#include <unordered_set>
#include <exception>
#include <functional>
#include <set>
@@ -3169,7 +3170,7 @@ namespace BinaryNinja {
{
BNTypeDefinitionLineType lineType;
std::vector<InstructionTextToken> tokens;
- Ref<Type> type, rootType;
+ Ref<Type> type, parentType, rootType;
std::string rootTypeName;
Ref<NamedTypeReference> baseType;
uint64_t baseOffset;
@@ -4505,6 +4506,13 @@ namespace BinaryNinja {
*/
std::vector<Confidence<Ref<Type>>> GetTypesReferenced(const QualifiedName& type, uint64_t offset);
+ std::unordered_set<QualifiedName> GetOutgoingDirectTypeReferences(const QualifiedName& type);
+ std::unordered_set<QualifiedName> GetOutgoingRecursiveTypeReferences(const QualifiedName& type);
+ std::unordered_set<QualifiedName> GetOutgoingRecursiveTypeReferences(const std::unordered_set<QualifiedName>& types);
+ std::unordered_set<QualifiedName> GetIncomingDirectTypeReferences(const QualifiedName& type);
+ std::unordered_set<QualifiedName> GetIncomingRecursiveTypeReferences(const QualifiedName& type);
+ std::unordered_set<QualifiedName> GetIncomingRecursiveTypeReferences(const std::unordered_set<QualifiedName>& types);
+
Ref<Structure> CreateStructureBasedOnFieldAccesses(const QualifiedName& type); // Unimplemented!
/*! Returns a list of virtual addresses called by the call site in the ReferenceSource