summaryrefslogtreecommitdiff
path: root/rust/src/binaryview.rs
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-01-03 15:56:01 -0700
committerRusty Wagner <rusty.wagner@gmail.com>2024-01-04 12:42:14 -0700
commit7e8de24c479672261b8a5c9911cac8800bad180b (patch)
tree6992a8a6f59a46c4be93f7a4693b52fc871fbfce /rust/src/binaryview.rs
parenta9cfac7ff14d93ff22092366f99eb2dd3213ea7e (diff)
Add GetRelocationsAt API
Diffstat (limited to 'rust/src/binaryview.rs')
-rw-r--r--rust/src/binaryview.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/rust/src/binaryview.rs b/rust/src/binaryview.rs
index d6916e2c..9bcbbec2 100644
--- a/rust/src/binaryview.rs
+++ b/rust/src/binaryview.rs
@@ -42,6 +42,7 @@ use crate::linearview::LinearDisassemblyLine;
use crate::linearview::LinearViewCursor;
use crate::metadata::Metadata;
use crate::platform::Platform;
+use crate::relocation::Relocation;
use crate::section::{Section, SectionBuilder};
use crate::segment::{Segment, SegmentBuilder};
use crate::settings::Settings;
@@ -1272,6 +1273,14 @@ pub trait BinaryViewExt: BinaryViewBase {
Array::new(handle, count, ())
}
}
+
+ fn get_relocations_at(&self, addr: u64) -> Array<Relocation> {
+ unsafe {
+ let mut count = 0;
+ let handle = BNGetRelocationsAt(self.as_ref().handle, addr, &mut count);
+ Array::new(handle, count, ())
+ }
+ }
}
impl<T: BinaryViewBase> BinaryViewExt for T {}