From 4aeb55836f26dc9614264bb3b3ce48a8ba5122e8 Mon Sep 17 00:00:00 2001 From: KyleMiles Date: Thu, 2 Dec 2021 04:20:45 -0500 Subject: Rust API - Add BinaryView::data_variables --- rust/src/binaryview.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'rust/src/binaryview.rs') 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 { + unsafe { + let mut count = 0; + let vars = BNGetDataVariables(self.as_ref().handle, &mut count); + + Array::new(vars, count, ()) + } + } + fn define_user_type(&self, name: S, type_obj: &Type) { unsafe { let mut qualified_name = QualifiedName::from(name); -- cgit v1.3.1