summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorrollsafe <rollsafe@users.noreply.github.com>2019-07-30 21:48:38 -0400
committerrollsafe <rollsafe@users.noreply.github.com>2019-07-31 20:29:46 -0400
commit9bb1a15b800da0ac5b60c40e3b10321e4efc5a1b (patch)
tree9f24e377b1e2db29b0ce8aff5ec4b217010789db /binaryninjacore.h
parenta8e440c27cf81b91d040a6b3ac495b8dfb9ada8e (diff)
Cache function callee addresses and create an API to access them
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 0481c5f4..903e6a45 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -2725,7 +2725,6 @@ extern "C"
BINARYNINJACOREAPI void BNFreeCodeReferences(BNReferenceSource* refs, size_t count);
BINARYNINJACOREAPI uint64_t* BNGetCodeReferencesFrom(BNBinaryView* view, BNReferenceSource* src, size_t* count);
BINARYNINJACOREAPI uint64_t* BNGetCodeReferencesFromInRange(BNBinaryView* view, BNReferenceSource* src, uint64_t len, size_t* count);
- BINARYNINJACOREAPI void BNFreeCodeReferencesFrom(uint64_t* refs);
BINARYNINJACOREAPI uint64_t* BNGetDataReferences(BNBinaryView* view, uint64_t addr, size_t* count);
BINARYNINJACOREAPI uint64_t* BNGetDataReferencesInRange(BNBinaryView* view, uint64_t addr, uint64_t len, size_t* count);
@@ -2766,6 +2765,10 @@ extern "C"
BINARYNINJACOREAPI uint64_t BNToVariableIdentifier(const BNVariable* var);
BINARYNINJACOREAPI BNVariable BNFromVariableIdentifier(uint64_t id);
+ BINARYNINJACOREAPI BNReferenceSource* BNGetFunctionCallSites(BNFunction* func, size_t* count);
+ BINARYNINJACOREAPI uint64_t* BNGetCallees(BNBinaryView* view, BNReferenceSource* callSite, size_t* count);
+ BINARYNINJACOREAPI BNReferenceSource* BNGetCallers(BNBinaryView* view, uint64_t callee, size_t* count);
+
BINARYNINJACOREAPI void BNSetAutoIndirectBranches(BNFunction* func, BNArchitecture* sourceArch, uint64_t source,
BNArchitectureAndAddress* branches, size_t count);
BINARYNINJACOREAPI void BNSetUserIndirectBranches(BNFunction* func, BNArchitecture* sourceArch, uint64_t source,