diff options
| author | unknowntrojan <14975032+unknowntrojan@users.noreply.github.com> | 2023-07-11 16:13:53 +0200 |
|---|---|---|
| committer | Kyle Martin <krm504@nyu.edu> | 2023-07-11 10:42:50 -0400 |
| commit | a5dab55736c01a6b3805c62f5ec950f51fe37461 (patch) | |
| tree | bc3dfc3d50f66475ee8e5f17291a23951f5a2d08 /rust/src/binaryview.rs | |
| parent | a9e98c7e6deaea0fdd271caba78a89f14dd3a2b7 (diff) | |
add BinaryView::functions_containing
Diffstat (limited to 'rust/src/binaryview.rs')
| -rw-r--r-- | rust/src/binaryview.rs | 11 |
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); |
