[−][src]Attribute Macro sm_ext::native
#[native]
Declares a function as a native callback and generates internal support code.
A valid native callback must be a free function that is not async, not unsafe, not extern, has
no generic parameters, the first argument takes a &IPluginContext, any
remaining arguments are convertible to cell_t using TryIntoPlugin (possibly wrapped in
an Option), and returns a type that satisfies the NativeResult trait.
When the native is invoked by SourceMod the input arguments will be checked to ensure all required
arguments have been passed and are of the correct type, and panics or error results will automatically
be converted into a SourceMod native error using safe_native_invoke.
Example
ⓘThis example is not tested
use sm_ext::{native, IPluginContext}; #[native] fn simple_add_native(_ctx: &IPluginContext, a: i32, b: i32) -> i32 { a + b }