From adb819496e5e447b7acf5336ffe5d0a18a03c448 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Sat, 29 Jul 2023 01:59:56 -0400 Subject: Core workflows feature update. --- binaryninjacore.h | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) (limited to 'binaryninjacore.h') diff --git a/binaryninjacore.h b/binaryninjacore.h index f17808c0..4e38b8a9 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 37 +#define BN_CURRENT_CORE_ABI_VERSION 38 // 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 36 +#define BN_MINIMUM_CORE_ABI_VERSION 38 #ifdef __GNUC__ #ifdef BINARYNINJACORE_LIBRARY @@ -2371,16 +2371,6 @@ extern "C" IncrementalAutoFunctionUpdate } BNFunctionUpdateType; - typedef enum BNWorkflowState - { - WorkflowInitial, - WorkflowIdle, - WorkflowRun, - WorkflowHalt, - WorkflowHold, - WorkflowInvalid - } BNWorkflowState; - typedef enum BNAnalysisState { InitialState, @@ -4415,6 +4405,8 @@ extern "C" BINARYNINJACOREAPI BNWorkflow* BNGetWorkflowForBinaryView(BNBinaryView* view); BINARYNINJACOREAPI BNWorkflow* BNGetWorkflowForFunction(BNFunction* func); + BINARYNINJACOREAPI char* BNPostWorkflowRequestForFunction(BNFunction* func, const char* request); + BINARYNINJACOREAPI char* BNGetProvenanceString(BNFunction* func); BINARYNINJACOREAPI BNHighlightColor BNGetInstructionHighlight( BNFunction* func, BNArchitecture* arch, uint64_t addr); @@ -4618,8 +4610,7 @@ extern "C" BINARYNINJACOREAPI bool BNAnalysisContextInform(BNAnalysisContext* analysisContext, const char* request); // Activity - BINARYNINJACOREAPI BNActivity* BNCreateActivity( - const char* name, void* ctxt, void (*action)(void*, BNAnalysisContext*)); + BINARYNINJACOREAPI BNActivity* BNCreateActivity(const char* configuration, void* ctxt, void (*action)(void*, BNAnalysisContext*)); BINARYNINJACOREAPI BNActivity* BNNewActivityReference(BNActivity* activity); BINARYNINJACOREAPI void BNFreeActivity(BNActivity* activity); @@ -4633,11 +4624,10 @@ extern "C" BINARYNINJACOREAPI BNWorkflow** BNGetWorkflowList(size_t* count); BINARYNINJACOREAPI void BNFreeWorkflowList(BNWorkflow** workflows, size_t count); BINARYNINJACOREAPI BNWorkflow* BNWorkflowInstance(const char* name); - BINARYNINJACOREAPI bool BNRegisterWorkflow(BNWorkflow* workflow, const char* description); + BINARYNINJACOREAPI bool BNRegisterWorkflow(BNWorkflow* workflow, const char* configuration); BINARYNINJACOREAPI BNWorkflow* BNWorkflowClone(BNWorkflow* workflow, const char* name, const char* activity); - BINARYNINJACOREAPI bool BNWorkflowRegisterActivity( - BNWorkflow* workflow, BNActivity* activity, const char** subactivities, size_t size, const char* description); + BINARYNINJACOREAPI BNActivity* BNWorkflowRegisterActivity(BNWorkflow* workflow, BNActivity* activity, const char** subactivities, size_t size); BINARYNINJACOREAPI bool BNWorkflowContains(BNWorkflow* workflow, const char* activity); BINARYNINJACOREAPI char* BNWorkflowGetConfiguration(BNWorkflow* workflow, const char* activity); @@ -4661,8 +4651,6 @@ extern "C" BINARYNINJACOREAPI BNFlowGraph* BNWorkflowGetGraph(BNWorkflow* workflow, const char* activity, bool sequential); BINARYNINJACOREAPI void BNWorkflowShowReport(BNWorkflow* workflow, const char* name); - // BINARYNINJACOREAPI bool BNWorkflowRun(const char* activity, BNAnalysisContext* analysisContext); - // Disassembly settings BINARYNINJACOREAPI BNDisassemblySettings* BNCreateDisassemblySettings(void); BINARYNINJACOREAPI BNDisassemblySettings* BNNewDisassemblySettingsReference(BNDisassemblySettings* settings); -- cgit v1.3.1