diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2025-07-02 18:53:31 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2025-07-03 12:44:56 -0400 |
| commit | 2cd19b867772f15d87eaee9560b94a9fd9ba13e4 (patch) | |
| tree | 00fc16b815a0c1176e96b388e9c11cb7621391a8 /binaryninjacore.h | |
| parent | b4918a512bef271d7f6e27980ea875208c7f2954 (diff) | |
Add API to get all type field references at the same time to avoid duplicating work
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index b65dac73..215cd6b2 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -37,7 +37,7 @@ // Current ABI version for linking to the core. This is incremented any time // there are changes to the API that affect linking, including new functions, // new types, or modifications to existing functions or types. -#define BN_CURRENT_CORE_ABI_VERSION 118 +#define BN_CURRENT_CORE_ABI_VERSION 119 // Minimum ABI version that is supported for loading of plugins. Plugins that // are linked to an ABI version less than this will not be able to load and @@ -3728,6 +3728,18 @@ extern "C" bool higherToLowerDirect; } BNExprMapInfo; + typedef struct BNAllTypeFieldReferences + { + BNTypeFieldReference* codeRefs; + size_t codeRefCount; + uint64_t* dataRefsTo; + size_t dataRefToCount; + uint64_t* dataRefsFrom; + size_t dataRefFromCount; + BNTypeReferenceSource* typeRefs; + size_t typeRefCount; + } BNAllTypeFieldReferences; + BINARYNINJACOREAPI char* BNAllocString(const char* contents); BINARYNINJACOREAPI char* BNAllocStringWithLength(const char* contents, size_t len); BINARYNINJACOREAPI void BNFreeString(char* str); @@ -5043,6 +5055,10 @@ extern "C" BINARYNINJACOREAPI BNTypeReferenceSource* BNGetTypeReferencesForTypeField( BNBinaryView* view, BNQualifiedName* type, uint64_t offset, size_t* count); + BINARYNINJACOREAPI BNAllTypeFieldReferences BNGetAllReferencesForTypeField( + BNBinaryView* view, BNQualifiedName* type, uint64_t offset); + BINARYNINJACOREAPI void BNFreeAllTypeFieldReferences(BNAllTypeFieldReferences* refs); + BINARYNINJACOREAPI BNTypeReferenceSource* BNGetCodeReferencesForTypeFrom( BNBinaryView* view, BNReferenceSource* addr, size_t* count); BINARYNINJACOREAPI BNTypeReferenceSource* BNGetCodeReferencesForTypeFromInRange( |
