summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2017-07-14 14:45:55 -0400
committerBrian Potchik <brian@vector35.com>2017-07-14 14:45:55 -0400
commit9d19db2be1fa408217f4544e5a68312fcab44fad (patch)
tree9560101db6d17de9093a47302cef423d447c46e4
parentfcd3be2d973e9ecc9bbc95425cb2e1a261a3f18a (diff)
Add UpdateAnalysisAndWait to API.
-rw-r--r--binaryninjaapi.h1
-rw-r--r--binaryninjacore.h1
-rw-r--r--binaryview.cpp10
3 files changed, 12 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 01e5f986..2562334d 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -1001,6 +1001,7 @@ namespace BinaryNinja
void RemoveAnalysisFunction(Function* func);
void CreateUserFunction(Platform* platform, uint64_t start);
void RemoveUserFunction(Function* func);
+ void UpdateAnalysisAndWait();
void UpdateAnalysis();
void AbortAnalysis();
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 3a8b63df..5ee00003 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1910,6 +1910,7 @@ extern "C"
BINARYNINJACOREAPI void BNRemoveAnalysisFunction(BNBinaryView* view, BNFunction* func);
BINARYNINJACOREAPI void BNCreateUserFunction(BNBinaryView* view, BNPlatform* platform, uint64_t addr);
BINARYNINJACOREAPI void BNRemoveUserFunction(BNBinaryView* view, BNFunction* func);
+ BINARYNINJACOREAPI void BNUpdateAnalysisAndWait(BNBinaryView* view);
BINARYNINJACOREAPI void BNUpdateAnalysis(BNBinaryView* view);
BINARYNINJACOREAPI void BNAbortAnalysis(BNBinaryView* view);
BINARYNINJACOREAPI bool BNIsFunctionUpdateNeeded(BNFunction* func);
diff --git a/binaryview.cpp b/binaryview.cpp
index 1f6820ff..522dbe6a 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -872,6 +872,12 @@ void BinaryView::RemoveUserFunction(Function* func)
}
+void BinaryView::UpdateAnalysisAndWait()
+{
+ BNUpdateAnalysisAndWait(m_object);
+}
+
+
void BinaryView::UpdateAnalysis()
{
BNUpdateAnalysis(m_object);
@@ -1319,6 +1325,10 @@ uint64_t BinaryView::GetNextDataAfterAddress(uint64_t addr)
return BNGetNextDataAfterAddress(m_object, addr);
}
+uint64_t BinaryView::GetNextDataVariableAfterAddress(uint64_t addr)
+{
+ return BNGetNextDataVariableAfterAddress(m_object, addr);
+}
uint64_t BinaryView::GetPreviousFunctionStartBeforeAddress(uint64_t addr)
{