diff options
| author | KyleMiles <krm504@nyu.edu> | 2021-12-02 04:20:45 -0500 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2021-12-02 04:25:39 -0500 |
| commit | 4aeb55836f26dc9614264bb3b3ce48a8ba5122e8 (patch) | |
| tree | 296cc04b8fd86d4c78db8c38719812fbe6e43659 /rust/src/binaryview.rs | |
| parent | bbf4d616ebdec77538832c1353b8e200a1ad9bbf (diff) | |
Rust API - Add BinaryView::data_variables
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); |
