diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-08-30 22:05:21 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2016-08-30 22:05:21 -0400 |
| commit | 5b9887694a608b263f58fecfc3fa747b5f8dddf8 (patch) | |
| tree | 523d576b8b55693c0c495a7ba5f5f37b98ab6d98 /binaryninjaapi.h | |
| parent | 3c19753e3ec474d4c84110b9e6ab8ef1f1971fe2 (diff) | |
| parent | 3978e18b09ca745fd08defb8f00fbece267beaf2 (diff) | |
Merge branch 'analysis_cache' into dev
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 15 |
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 |
