summaryrefslogtreecommitdiff
path: root/binaryview.cpp
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 /binaryview.cpp
parent02cedcd92ab8ac054e82ed1c72d9e0107aecf2ae (diff)
Add new API to query active analysis info and set analysis limits.
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index 9aaf3595..bebfb801 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -1014,6 +1014,21 @@ vector<Ref<Function>> BinaryView::GetAnalysisFunctionList()
}
+AnalysisInfo BinaryView::GetAnalysisInfo()
+{
+ AnalysisInfo result;
+ BNAnalysisInfo* info = BNGetAnalysisInfo(m_object);
+ result.state = info->state;
+ result.analysisTime = info->analysisTime;
+ result.activeInfo.reserve(info->count);
+ for (size_t i = 0; i < info->count; i++)
+ result.activeInfo.emplace_back(new Function(BNNewFunctionReference(info->activeInfo[i].func)),
+ info->activeInfo[i].analysisTime, info->activeInfo[i].submitCount, info->activeInfo[i].updateCount);
+ BNFreeAnalysisInfo(info);
+ return result;
+}
+
+
bool BinaryView::HasFunctions() const
{
return BNHasFunctions(m_object);
@@ -1969,6 +1984,18 @@ uint64_t BinaryView::GetUIntMetadata(const string& key)
}
+BNAnalysisParameters BinaryView::GetParametersForAnalysis()
+{
+ return BNGetParametersForAnalysis(m_object);
+}
+
+
+void BinaryView::SetParametersForAnalysis(BNAnalysisParameters params)
+{
+ BNSetParametersForAnalysis(m_object, params);
+}
+
+
uint64_t BinaryView::GetMaxFunctionSizeForAnalysis()
{
return BNGetMaxFunctionSizeForAnalysis(m_object);