#[repr(C)]pub struct RawPluginMetadata {
pub name_ptr: *const u8,
pub name_len: usize,
pub version_ptr: *const u8,
pub version_len: usize,
pub description_ptr: *const u8,
pub description_len: usize,
pub abi_version: u32,
}Expand description
#[repr(C)] metadata struct returned by audio_plugin_metadata.
Each string is a (ptr, len) pair pointing into a byte buffer owned by the
plugin for the lifetime of the loaded library ('static from the host’s
perspective). The host copies the bytes out into owned Strings
immediately (see raw_to_metadata) and never retains the pointers.
§Layout
The fields are ordered to match the C declaration plugin authors write:
struct raw_plugin_metadata {
const uint8_t *name_ptr; size_t name_len;
const uint8_t *version_ptr; size_t version_len;
const uint8_t *description_ptr; size_t description_len;
uint32_t abi_version;
};Fields§
§name_ptr: *const u8Pointer to the UTF-8 plugin name bytes.
name_len: usizeLength in bytes of the name_ptr range.
version_ptr: *const u8Pointer to the UTF-8 version bytes.
version_len: usizeLength in bytes of the version_ptr range.
description_ptr: *const u8Pointer to the UTF-8 description bytes.
description_len: usizeLength in bytes of the description_ptr range.
abi_version: u32Encoded ABI version the plugin was built against.
Auto Trait Implementations§
impl !Send for RawPluginMetadata
impl !Sync for RawPluginMetadata
impl Freeze for RawPluginMetadata
impl RefUnwindSafe for RawPluginMetadata
impl Unpin for RawPluginMetadata
impl UnsafeUnpin for RawPluginMetadata
impl UnwindSafe for RawPluginMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more