summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-03-10 15:27:53 -0400
committerBrian Potchik <brian@vector35.com>2025-03-10 15:27:53 -0400
commitf5ff6f5dd53dd4f812bffebbed8484655bcbc48c (patch)
tree834c931999aad6b1f7857a4fb62f390cab95316f /binaryninjaapi.h
parent6a8a2d5f719506ffea5e4779b28924b211516671 (diff)
Add support for recoverable analysis abort.
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 4336febb..6b1d268e 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -5224,9 +5224,9 @@ namespace BinaryNinja {
*/
void UpdateAnalysis();
- /*! Abort the currently running analysis
+ /*! Abort analysis and suspend the workflow machine
- This method should be considered non-recoverable and generally only used when shutdown is imminent after stopping.
+ Stops analysis and transitions the workflow machine to the Suspend state. This operation is recoverable, and the workflow machine can be re-enabled via the WorkflowMachine Enable API.
*/
void AbortAnalysis();
@@ -10058,6 +10058,22 @@ namespace BinaryNinja {
WorkflowMachine(Ref<BinaryView> view);
WorkflowMachine(Ref<Function> function);
+ /*! Enable the workflow machine
+
+ Re-enables the workflow machine if it is in the Suspend state.
+ \return true if the command is accepted, false otherwise.
+ */
+ bool Enable();
+
+ /*! Disable the workflow machine
+
+ Disables analysis and suspends the workflow machine, equivalent to AbortAnalysis.
+ This operation is recoverable and the workflow machine can be re-enabled via the Enable API.
+ \return true if the command is accepted, false otherwise.
+ */
+ bool Disable();
+
+
std::optional<bool> QueryOverride(const std::string& activity);
bool SetOverride(const std::string& activity, bool enable);
bool ClearOverride(const std::string& activity);