summaryrefslogtreecommitdiff
path: root/rust/src/binaryview.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/binaryview.rs')
-rw-r--r--rust/src/binaryview.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/rust/src/binaryview.rs b/rust/src/binaryview.rs
index 07c079d2..a82db176 100644
--- a/rust/src/binaryview.rs
+++ b/rust/src/binaryview.rs
@@ -750,6 +750,17 @@ pub trait BinaryViewExt: BinaryViewBase {
}
}
+ // List of functions containing `addr`
+ fn functions_containing(&self, addr: u64) -> Array<Function> {
+ unsafe {
+ let mut count = 0;
+ let functions =
+ BNGetAnalysisFunctionsContainingAddress(self.as_ref().handle, addr, &mut count);
+
+ Array::new(functions, count, ())
+ }
+ }
+
fn function_at(&self, platform: &Platform, addr: u64) -> Result<Ref<Function>> {
unsafe {
let handle = BNGetAnalysisFunction(self.as_ref().handle, platform.handle, addr);