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, 10 insertions, 1 deletions
diff --git a/rust/src/binaryview.rs b/rust/src/binaryview.rs
index 98e7a7a2..17a2570c 100644
--- a/rust/src/binaryview.rs
+++ b/rust/src/binaryview.rs
@@ -34,7 +34,7 @@ use crate::section::{Section, SectionBuilder};
use crate::segment::{Segment, SegmentBuilder};
use crate::settings::Settings;
use crate::symbol::{Symbol, SymbolType};
-use crate::types::{QualifiedName, Type};
+use crate::types::{DataVariable, QualifiedName, Type};
use crate::Endianness;
use crate::rc::*;
@@ -420,6 +420,15 @@ pub trait BinaryViewExt: BinaryViewBase {
}
}
+ fn data_variables(&self) -> Array<DataVariable> {
+ unsafe {
+ let mut count = 0;
+ let vars = BNGetDataVariables(self.as_ref().handle, &mut count);
+
+ Array::new(vars, count, ())
+ }
+ }
+
fn define_user_type<S: BnStrCompatible>(&self, name: S, type_obj: &Type) {
unsafe {
let mut qualified_name = QualifiedName::from(name);