diff options
| author | Mason Reed <mason@vector35.com> | 2025-06-16 14:45:30 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-07-02 01:56:53 -0400 |
| commit | 4c303921c859eaf2a316b1c0fe9f64b12293455f (patch) | |
| tree | ee97c73f1daa5441cf8632b2e201011ced5a397b /rust/src/binary_view.rs | |
| parent | 1e46970989da83dd50a052cc1d023c70d5ed127f (diff) | |
[Rust] Add `BinaryViewExt::workflow`
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() { |
