diff options
| author | Ryan Snyder <ryan@vector35.com> | 2025-07-03 01:48:11 -0400 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2025-07-03 04:30:58 -0400 |
| commit | e96a7a078a9909fc1212861c9669e6af0b034e46 (patch) | |
| tree | 412f072f118f7f784e8500f8bb46dfad0354bc82 /binaryninjacore.h | |
| parent | 3bfeb0e19d97c71022bb5c50c2a21e129f675e1b (diff) | |
api: indirect branch inlining support
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 114eb191..253330c0 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -37,14 +37,14 @@ // 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 116 +#define BN_CURRENT_CORE_ABI_VERSION 117 // 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 // will require rebuilding. The minimum version is increased when there are // incompatible changes that break binary compatibility, such as changes to // existing types or functions. -#define BN_MINIMUM_CORE_ABI_VERSION 116 +#define BN_MINIMUM_CORE_ABI_VERSION 117 #ifdef __GNUC__ #ifdef BINARYNINJACORE_LIBRARY @@ -1904,6 +1904,9 @@ extern "C" size_t haltedDisassemblyAddressesCount; BNArchitectureAndAddress* haltedDisassemblyAddresses; + + size_t inlinedUnresolvedIndirectBranchCount; + BNArchitectureAndAddress* inlinedUnresolvedIndirectBranches; } BNBasicBlockAnalysisContext; typedef struct BNCustomArchitecture @@ -5141,7 +5144,7 @@ extern "C" BINARYNINJACOREAPI BNFunction* BNGetCalleeForAnalysis(BNFunction* func, BNPlatform* platform, uint64_t addr, bool exact); - BINARYNINJACOREAPI uint64_t* BNGetUnresolvedIndirectBranches(BNFunction* func, size_t* count); + BINARYNINJACOREAPI BNArchitectureAndAddress* BNGetUnresolvedIndirectBranches(BNFunction* func, size_t* count); BINARYNINJACOREAPI bool BNHasUnresolvedIndirectBranches(BNFunction* func); BINARYNINJACOREAPI void BNFunctionToggleRegion(BNFunction* func, uint64_t hash); @@ -5214,6 +5217,7 @@ extern "C" BINARYNINJACOREAPI void BNAnalyzeBasicBlocksContextSetDirectNoReturnCalls(BNBasicBlockAnalysisContext* abb, BNArchitectureAndAddress* sources, size_t count); BINARYNINJACOREAPI void BNAnalyzeBasicBlocksContextSetContextualFunctionReturns(BNBasicBlockAnalysisContext* abb, BNArchitectureAndAddress* sources, bool* values, size_t count); BINARYNINJACOREAPI void BNAnalyzeBasicBlocksContextSetHaltedDisassemblyAddresses(BNBasicBlockAnalysisContext* abb, BNArchitectureAndAddress* sources, size_t count); + BINARYNINJACOREAPI void BNAnalyzeBasicBlocksContextSetInlinedUnresolvedIndirectBranches(BNBasicBlockAnalysisContext* abb, BNArchitectureAndAddress* locations, size_t count); BINARYNINJACOREAPI BNAnalysisParameters BNGetParametersForAnalysis(BNBinaryView* view); BINARYNINJACOREAPI void BNSetParametersForAnalysis(BNBinaryView* view, BNAnalysisParameters params); |
