ark-api-ffi 0.17.0-pre.15

Ark low-level Wasm FFI API
Documentation
/// API identifier containing unique id and name
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct ApiId {
    /// Globally unique 64-bit identifier value for an API
    pub id: u64,
    /// Full name of the API, in kebab-case
    pub name: &'static str,
}

/// Defines an API identifier
///
/// Usage: `define_api_id!(0xrandom_64bit, "kebab-case");`
#[doc(hidden)] // it is only for us in this crate
#[macro_export]
macro_rules! define_api_id {
    ($value:expr, $name:expr) => {
        /// FFI API
        pub static API: $crate::ApiId = $crate::ApiId {
            id: $value,
            name: $name,
        };
    };
}