diff options
Diffstat (limited to 'rust/src/platform.rs')
| -rw-r--r-- | rust/src/platform.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/rust/src/platform.rs b/rust/src/platform.rs index 11f76284..4e31a0a2 100644 --- a/rust/src/platform.rs +++ b/rust/src/platform.rs @@ -23,6 +23,7 @@ use crate::{ callingconvention::CallingConvention, rc::*, string::*, + typelibrary::TypeLibrary, types::{QualifiedName, QualifiedNameAndType, Type}, }; @@ -163,6 +164,15 @@ impl Platform { unsafe { CoreArchitecture::from_raw(BNGetPlatformArchitecture(self.handle)) } } + pub fn get_type_libraries_by_name(&self, name: &QualifiedName) -> Array<TypeLibrary> { + let mut count = 0; + let result = unsafe { + BNGetPlatformTypeLibrariesByName(self.handle, &name.0 as *const _ as *mut _, &mut count) + }; + assert!(!result.is_null()); + unsafe { Array::new(result, count, ()) } + } + pub fn register_os<S: BnStrCompatible>(&self, os: S) { let os = os.into_bytes_with_nul(); |
