summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2022-01-20 18:02:35 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2022-01-20 20:57:20 -0500
commit12659a7e2227a2277b0ca62f7866921a70f7ea4d (patch)
treec920dadce72430f1c27cff3e3b80fdb27721d3f0 /binaryninjaapi.h
parent836848724094f8ae98c31c886ca827a41a366b21 (diff)
Async IL fetching in stack, variables, and xref views
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index fe499587..0b1949d7 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -3494,10 +3494,16 @@ __attribute__ ((format (printf, 1, 2)))
std::vector<ILReferenceSource> GetMediumLevelILVariableReferences(const Variable& var);
std::vector<VariableReferenceSource> GetMediumLevelILVariableReferencesFrom(Architecture* arch, uint64_t addr);
std::vector<VariableReferenceSource> GetMediumLevelILVariableReferencesInRange(Architecture* arch, uint64_t addr, uint64_t len);
+ std::vector<ILReferenceSource> GetMediumLevelILVariableReferencesIfAvailable(const Variable& var);
+ std::vector<VariableReferenceSource> GetMediumLevelILVariableReferencesFromIfAvailable(Architecture* arch, uint64_t addr);
+ std::vector<VariableReferenceSource> GetMediumLevelILVariableReferencesInRangeIfAvailable(Architecture* arch, uint64_t addr, uint64_t len);
std::vector<ILReferenceSource> GetHighLevelILVariableReferences(const Variable& var);
std::vector<VariableReferenceSource> GetHighLevelILVariableReferencesFrom(Architecture* arch, uint64_t addr);
std::vector<VariableReferenceSource> GetHighLevelILVariableReferencesInRange(Architecture* arch, uint64_t addr, uint64_t len);
+ std::vector<ILReferenceSource> GetHighLevelILVariableReferencesIfAvailable(const Variable& var);
+ std::vector<VariableReferenceSource> GetHighLevelILVariableReferencesFromIfAvailable(Architecture* arch, uint64_t addr);
+ std::vector<VariableReferenceSource> GetHighLevelILVariableReferencesInRangeIfAvailable(Architecture* arch, uint64_t addr, uint64_t len);
Ref<LowLevelILFunction> GetLiftedIL() const;
Ref<LowLevelILFunction> GetLiftedILIfAvailable() const;
@@ -3568,6 +3574,13 @@ __attribute__ ((format (printf, 1, 2)))
std::set<Variable> GetHighLevelILAliasedVariables();
std::set<SSAVariable> GetHighLevelILSSAVariables();
+ std::set<Variable> GetMediumLevelILVariablesIfAvailable();
+ std::set<Variable> GetMediumLevelILAliasedVariablesIfAvailable();
+ std::set<SSAVariable> GetMediumLevelILSSAVariablesIfAvailable();
+ std::set<Variable> GetHighLevelILVariablesIfAvailable();
+ std::set<Variable> GetHighLevelILAliasedVariablesIfAvailable();
+ std::set<SSAVariable> GetHighLevelILSSAVariablesIfAvailable();
+
void CreateAutoVariable(const Variable& var, const Confidence<Ref<Type>>& type, const std::string& name,
bool ignoreDisjointUses = false);
void CreateUserVariable(const Variable& var, const Confidence<Ref<Type>>& type, const std::string& name,