From 9124b7bc37b2db85b6729c616e858930a5c16493 Mon Sep 17 00:00:00 2001 From: LukBukkit Date: Fri, 5 Sep 2025 15:07:48 +0200 Subject: [PATCH] [Rust] Support pointer base types and offsets --- rust/src/types.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/rust/src/types.rs b/rust/src/types.rs index ebc4328e40..33a0858323 100644 --- a/rust/src/types.rs +++ b/rust/src/types.rs @@ -48,6 +48,7 @@ pub type NamedTypeReferenceClass = BNNamedTypeReferenceClass; pub type MemberAccess = BNMemberAccess; pub type MemberScope = BNMemberScope; pub type IntegerDisplayType = BNIntegerDisplayType; +pub type PointerBaseType = BNPointerBaseType; #[derive(PartialEq, Eq, Hash)] pub struct TypeBuilder { @@ -95,6 +96,11 @@ impl TypeBuilder { self } + pub fn set_pointer_base(&self, base_type: PointerBaseType, base_offset: i64) -> &Self { + unsafe { BNSetTypeBuilderPointerBase(self.handle, base_type, base_offset) } + self + } + // Readable properties pub fn type_class(&self) -> TypeClass { @@ -231,6 +237,14 @@ impl TypeBuilder { unsafe { BNGetTypeBuilderStackAdjustment(self.handle).into() } } + pub fn pointer_base_type(&self) -> PointerBaseType { + unsafe { BNTypeBuilderGetPointerBaseType(self.handle) } + } + + pub fn pointer_base_offset(&self) -> i64 { + unsafe { BNTypeBuilderGetPointerBaseOffset(self.handle) } + } + // TODO : This and properties // pub fn tokens(&self) -> ? {} @@ -602,6 +616,14 @@ impl Type { } } + pub fn pointer_base_type(&self) -> BNPointerBaseType { + unsafe { BNTypeGetPointerBaseType(self.handle) } + } + + pub fn pointer_base_offset(&self) -> i64 { + unsafe { BNTypeGetPointerBaseOffset(self.handle) } + } + // TODO : This and properties // pub fn tokens(&self) -> ? {}