summaryrefslogtreecommitdiff
path: root/rust/src/binaryview.rs
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2021-12-02 04:20:45 -0500
committerKyleMiles <krm504@nyu.edu>2021-12-02 04:25:39 -0500
commit4aeb55836f26dc9614264bb3b3ce48a8ba5122e8 (patch)
tree296cc04b8fd86d4c78db8c38719812fbe6e43659 /rust/src/binaryview.rs
parentbbf4d616ebdec77538832c1353b8e200a1ad9bbf (diff)
Rust API - Add BinaryView::data_variables
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);