summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-08-30 22:05:21 -0400
committerRusty Wagner <rusty@vector35.com>2016-08-30 22:05:21 -0400
commit5b9887694a608b263f58fecfc3fa747b5f8dddf8 (patch)
tree523d576b8b55693c0c495a7ba5f5f37b98ab6d98 /binaryninjaapi.h
parent3c19753e3ec474d4c84110b9e6ab8ef1f1971fe2 (diff)
parent3978e18b09ca745fd08defb8f00fbece267beaf2 (diff)
Merge branch 'analysis_cache' into dev
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index f79e9d75..7c417623 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -511,8 +511,14 @@ namespace BinaryNinja
bool IsBackedByDatabase() const;
bool CreateDatabase(const std::string& name, BinaryView* data);
+ bool CreateDatabase(const std::string& name, BinaryView* data,
+ const std::function<void(size_t progress, size_t total)>& progressCallback);
Ref<BinaryView> OpenExistingDatabase(const std::string& path);
+ Ref<BinaryView> OpenExistingDatabase(const std::string& path,
+ const std::function<void(size_t progress, size_t total)>& progressCallback);
bool SaveAutoSnapshot(BinaryView* data);
+ bool SaveAutoSnapshot(BinaryView* data,
+ const std::function<void(size_t progress, size_t total)>& progressCallback);
void BeginUndoActions();
void CommitUndoActions();
@@ -766,7 +772,10 @@ namespace BinaryNinja
bool IsAnalysisChanged() const;
bool IsBackedByDatabase() const;
bool CreateDatabase(const std::string& path);
+ bool CreateDatabase(const std::string& path,
+ const std::function<void(size_t progress, size_t total)>& progressCallback);
bool SaveAutoSnapshot();
+ bool SaveAutoSnapshot(const std::function<void(size_t progress, size_t total)>& progressCallback);
void BeginUndoActions();
void AddUndoAction(UndoAction* action);
@@ -910,6 +919,8 @@ namespace BinaryNinja
void UndefineUserType(const std::string& name);
bool FindNextData(uint64_t start, const DataBuffer& data, uint64_t& result, BNFindFlag flags = NoFindFlags);
+
+ void Reanalyze();
};
class BinaryData: public BinaryView
@@ -1602,6 +1613,7 @@ namespace BinaryNinja
bool WasAutomaticallyDiscovered() const;
bool CanReturn() const;
bool HasExplicitlyDefinedType() const;
+ bool NeedsUpdate() const;
std::vector<Ref<BasicBlock>> GetBasicBlocks() const;
void MarkRecentUse();
@@ -1626,6 +1638,7 @@ namespace BinaryNinja
std::vector<uint32_t> GetRegistersReadByInstruction(Architecture* arch, uint64_t addr);
std::vector<uint32_t> GetRegistersWrittenByInstruction(Architecture* arch, uint64_t addr);
std::vector<StackVariableReference> GetStackVariablesReferencedByInstruction(Architecture* arch, uint64_t addr);
+ std::vector<BNConstantReference> GetConstantsReferencedByInstruction(Architecture* arch, uint64_t addr);
Ref<LowLevelILFunction> GetLiftedIL() const;
size_t GetLiftedILForInstruction(Architecture* arch, uint64_t addr);
@@ -1661,6 +1674,8 @@ namespace BinaryNinja
size_t operand);
void SetIntegerConstantDisplayType(Architecture* arch, uint64_t instrAddr, uint64_t value, size_t operand,
BNIntegerDisplayType type);
+
+ void Reanalyze();
};
struct FunctionGraphEdge