diff options
Diffstat (limited to 'rust/src/binary_view.rs')
| -rw-r--r-- | rust/src/binary_view.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/rust/src/binary_view.rs b/rust/src/binary_view.rs index 417b30ef..801884ac 100644 --- a/rust/src/binary_view.rs +++ b/rust/src/binary_view.rs @@ -68,6 +68,7 @@ pub mod memory_map; pub mod reader; pub mod writer; +use crate::workflow::Workflow; pub use memory_map::MemoryMap; pub use reader::BinaryReader; pub use writer::BinaryWriter; @@ -324,6 +325,14 @@ pub trait BinaryViewExt: BinaryViewBase { unsafe { BNAbortAnalysis(self.as_ref().handle) } } + fn workflow(&self) -> Ref<Workflow> { + unsafe { + let raw_ptr = BNGetWorkflowForBinaryView(self.as_ref().handle); + let nonnull = NonNull::new(raw_ptr).expect("All views must have a workflow"); + Workflow::ref_from_raw(nonnull) + } + } + fn analysis_info(&self) -> Result<AnalysisInfo> { let info_ref = unsafe { BNGetAnalysisInfo(self.as_ref().handle) }; if info_ref.is_null() { |
