summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2025-07-11 17:55:04 -0400
committerRusty Wagner <rusty.wagner@gmail.com>2025-07-15 13:55:33 -0400
commit6894a946b1fa5ad24e64d24bb7f606bae14c300a (patch)
tree1caa51b5e5ddab129462dc245c70377aedd800ae /binaryninjacore.h
parente83374c78ccb8f7351fa3fdbaa0cbb099281898d (diff)
Add API to get all type references at the same time to avoid duplicating work
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index b4c29816..fbdcf4f5 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -3732,6 +3732,16 @@ extern "C"
bool higherToLowerDirect;
} BNExprMapInfo;
+ typedef struct BNAllTypeReferences
+ {
+ BNReferenceSource* codeRefs;
+ size_t codeRefCount;
+ uint64_t* dataRefs;
+ size_t dataRefCount;
+ BNTypeReferenceSource* typeRefs;
+ size_t typeRefCount;
+ } BNAllTypeReferences;
+
typedef struct BNAllTypeFieldReferences
{
BNTypeFieldReference* codeRefs;
@@ -5055,6 +5065,8 @@ extern "C"
BINARYNINJACOREAPI BNTypeReferenceSource* BNGetTypeReferencesForTypeField(
BNBinaryView* view, BNQualifiedName* type, uint64_t offset, size_t* count);
+ BINARYNINJACOREAPI BNAllTypeReferences BNGetAllReferencesForType(BNBinaryView* view, BNQualifiedName* type);
+ BINARYNINJACOREAPI void BNFreeAllTypeReferences(BNAllTypeReferences* refs);
BINARYNINJACOREAPI BNAllTypeFieldReferences BNGetAllReferencesForTypeField(
BNBinaryView* view, BNQualifiedName* type, uint64_t offset);
BINARYNINJACOREAPI void BNFreeAllTypeFieldReferences(BNAllTypeFieldReferences* refs);