samp_codegen/
lib.rs

1#![recursion_limit = "128"]
2
3extern crate proc_macro;
4use proc_macro::TokenStream;
5
6mod native;
7mod plugin;
8
9pub(crate) const NATIVE_PREFIX: &str = "__samp_native_";
10pub(crate) const REG_PREFIX: &str = "__samp_reg_";
11
12/// Generate C function that parses passed argument and calls current function.
13#[proc_macro_attribute]
14pub fn native(args: TokenStream, input: TokenStream) -> TokenStream {
15    native::create_native(args, input)
16}
17
18/// Generates common plugin C interface.
19#[proc_macro]
20pub fn initialize_plugin(input: TokenStream) -> TokenStream {
21    plugin::create_plugin(input)
22}