diff options
Diffstat (limited to 'rust/src/binaryview.rs')
| -rw-r--r-- | rust/src/binaryview.rs | 11 |
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); |
