summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2018-06-26 23:30:22 -0400
committerBrian Potchik <brian@vector35.com>2018-06-26 23:30:22 -0400
commit08409f8e134b3d93fc56e5e29670f8a8f4def890 (patch)
tree9169b11fa4526f28368e9c141dc9acb60c461d5f /binaryninjaapi.h
parent02cedcd92ab8ac054e82ed1c72d9e0107aecf2ae (diff)
Add new API to query active analysis info and set analysis limits.
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 9c0b9bc4..f2c15fde 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1022,6 +1022,25 @@ namespace BinaryNinja
void Cancel();
};
+ struct ActiveAnalysisInfo
+ {
+ Ref<Function> func;
+ uint64_t analysisTime;
+ size_t updateCount;
+ size_t submitCount;
+
+ ActiveAnalysisInfo(Ref<Function> f, uint64_t t, size_t uc, size_t sc) : func(f), analysisTime(t), updateCount(uc), submitCount(sc)
+ {
+ }
+ };
+
+ struct AnalysisInfo
+ {
+ BNAnalysisState state;
+ uint64_t analysisTime;
+ std::vector<ActiveAnalysisInfo> activeInfo;
+ };
+
struct DataVariable
{
DataVariable() { }
@@ -1271,6 +1290,7 @@ namespace BinaryNinja
Ref<AnalysisCompletionEvent> AddAnalysisCompletionEvent(const std::function<void()>& callback);
+ AnalysisInfo GetAnalysisInfo();
BNAnalysisProgress GetAnalysisProgress();
Ref<BackgroundTask> GetBackgroundAnalysisTask();
@@ -1350,6 +1370,8 @@ namespace BinaryNinja
std::vector<uint8_t> GetRawMetadata(const std::string& key);
uint64_t GetUIntMetadata(const std::string& key);
+ BNAnalysisParameters GetParametersForAnalysis();
+ void SetParametersForAnalysis(BNAnalysisParameters params);
uint64_t GetMaxFunctionSizeForAnalysis();
void SetMaxFunctionSizeForAnalysis(uint64_t size);
};
@@ -2493,6 +2515,7 @@ namespace BinaryNinja
bool IsFunctionTooLarge();
bool IsAnalysisSkipped();
+ BNAnalysisSkipReason GetAnalysisSkipReason();
BNFunctionAnalysisSkipOverride GetAnalysisSkipOverride();
void SetAnalysisSkipOverride(BNFunctionAnalysisSkipOverride skip);
};