summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2022-03-02 13:42:32 -0500
committerBrian Potchik <brian@vector35.com>2022-03-02 13:42:32 -0500
commit5bddd6ff72cd1aff613f76b952ef35b31776fd2e (patch)
tree4e8c7ad1c74ad4cff6e565c65db6a16081caf006 /binaryninjacore.h
parenta79ea22f3b271c8834f616403f2400b4597a9dc7 (diff)
Add function update request API.
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index e72830a1..4783fed0 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -28,14 +28,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 18
+#define BN_CURRENT_CORE_ABI_VERSION 19
// 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 18
+#define BN_MINIMUM_CORE_ABI_VERSION 19
#ifdef __GNUC__
#ifdef BINARYNINJACORE_LIBRARY
@@ -2182,6 +2182,13 @@ extern "C"
BNPossibleValueSet value;
};
+ enum BNFunctionUpdateType
+ {
+ UserFunctionUpdate,
+ FullAutoFunctionUpdate,
+ IncrementalAutoFunctionUpdate
+ };
+
enum BNWorkflowState
{
WorkflowInitial,
@@ -4064,7 +4071,9 @@ extern "C"
BINARYNINJACOREAPI void BNRegisterPlatformTypes(BNBinaryView* view, BNPlatform* platform);
BINARYNINJACOREAPI void BNReanalyzeAllFunctions(BNBinaryView* view);
- BINARYNINJACOREAPI void BNReanalyzeFunction(BNFunction* func);
+ BINARYNINJACOREAPI void BNReanalyzeFunction(BNFunction* func, BNFunctionUpdateType type);
+ BINARYNINJACOREAPI void BNMarkUpdatesRequired(BNFunction* func, BNFunctionUpdateType type);
+ BINARYNINJACOREAPI void BNMarkCallerUpdatesRequired(BNFunction* func, BNFunctionUpdateType type);
BINARYNINJACOREAPI BNWorkflow* BNGetWorkflowForBinaryView(BNBinaryView* view);
BINARYNINJACOREAPI BNWorkflow* BNGetWorkflowForFunction(BNFunction* func);