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 8d7a2db4..bf14580c 100644
--- a/rust/src/binaryview.rs
+++ b/rust/src/binaryview.rs
@@ -564,6 +564,17 @@ pub trait BinaryViewExt: BinaryViewBase {
}
}
+ fn data_variable_at_address(&self, addr: u64) -> Option<Ref<DataVariable>> {
+ let dv = BNDataVariable::default();
+ unsafe {
+ if BNGetDataVariableAtAddress(self.as_ref().handle, addr, std::mem::transmute(&dv)) {
+ Some(DataVariable(dv).to_owned())
+ } else {
+ None
+ }
+ }
+ }
+
fn define_auto_data_var<'a, T: Into<Conf<&'a Type>>>(&self, addr: u64, ty: T) {
unsafe {
BNDefineDataVariable(self.as_ref().handle, addr, &mut ty.into().into());