samp_sdk/raw/
functions.rs1use super::types::{AMX, AMX_NATIVE_INFO};
12use std::ffi::{c_char, c_void};
13
14pub type AmxNative = extern "C" fn(*mut AMX, params: *mut i32) -> i32;
17
18pub type AmxCallback =
20 extern "C" fn(*mut AMX, index: i32, result: *mut i32, params: *mut i32) -> i32;
21
22pub type AmxDebug = extern "C" fn(*mut AMX) -> i32;
24
25pub type Align16 = extern "C" fn(*mut u16) -> *mut u16;
26pub type Align32 = extern "C" fn(*mut u32) -> *mut u32;
27pub type Allot = extern "C" fn(*mut AMX, i32, *mut i32, *mut i32) -> i32;
28pub type Callback = extern "C" fn(*mut AMX, i32, *mut i32, *mut i32) -> i32;
29pub type Cleanup = extern "C" fn(*mut AMX) -> i32;
30pub type Clone = extern "C" fn(*mut AMX, *mut AMX, *mut c_void) -> i32;
31pub type Exec = extern "C" fn(*mut AMX, *mut i32, i32) -> i32;
32pub type FindNative = extern "C" fn(*mut AMX, *const c_char, *mut i32) -> i32;
33pub type FindPublic = extern "C" fn(*mut AMX, *const c_char, *mut i32) -> i32;
34pub type FindPubVar = extern "C" fn(*mut AMX, *const c_char, *mut i32) -> i32;
35pub type FindTagId = extern "C" fn(*mut AMX, i32, *mut c_char) -> i32;
36pub type Flags = extern "C" fn(*mut AMX, *mut u16) -> i32;
37pub type GetAddr = extern "C" fn(*mut AMX, i32, *mut *mut i32) -> i32;
38pub type GetNative = extern "C" fn(*mut AMX, i32, *mut c_char) -> i32;
39pub type GetPublic = extern "C" fn(*mut AMX, i32, *mut c_char) -> i32;
40pub type GetPubVar = extern "C" fn(*mut AMX, i32, *mut c_char, *mut i32) -> i32;
41pub type GetString = extern "C" fn(*mut u8, *const i32, i32, usize) -> i32;
42pub type GetTag = extern "C" fn(*mut AMX, i32, *mut c_char, *mut i32) -> i32;
43pub type GetUserData = extern "C" fn(*mut AMX, i64, *mut *mut c_void) -> i32;
44pub type Init = extern "C" fn(*mut AMX, *mut c_void) -> i32;
45pub type InitJIT = extern "C" fn(*mut AMX, *mut c_void, *mut c_void) -> i32;
46pub type MemInfo = extern "C" fn(*mut AMX, *mut i32, *mut i32, *mut i32) -> i32;
47pub type NameLength = extern "C" fn(*mut AMX, *mut i32) -> i32;
48pub type NativeInfo = extern "C" fn(*const c_char, AmxNative) -> *mut AMX_NATIVE_INFO;
49pub type NumNatives = extern "C" fn(*mut AMX, *mut i32) -> i32;
50pub type NumPublics = extern "C" fn(*mut AMX, *mut i32) -> i32;
51pub type NumPubVars = extern "C" fn(*mut AMX, *mut i32) -> i32;
52pub type NumTags = extern "C" fn(*mut AMX, *mut i32) -> i32;
53pub type Push = extern "C" fn(*mut AMX, i32) -> i32;
54pub type PushArray = extern "C" fn(*mut AMX, *mut i32, *mut *mut i32, *const i32, i32) -> i32;
55pub type PushString =
56 extern "C" fn(*mut AMX, *mut i32, *mut *mut i32, *const c_char, i32, i32) -> i32;
57pub type RaiseError = extern "C" fn(*mut AMX, i32) -> i32;
58pub type Register = extern "C" fn(*mut AMX, *const AMX_NATIVE_INFO, i32) -> i32;
59pub type Release = extern "C" fn(*mut AMX, i32) -> i32;
60pub type SetCallback = extern "C" fn(*mut AMX, AmxCallback) -> i32;
61pub type SetDebugHook = extern "C" fn(*mut AMX, AmxDebug) -> i32;
62pub type SetString = extern "C" fn(*mut i32, *const c_char, i32, i32, usize) -> i32;
63pub type SetUserData = extern "C" fn(*mut AMX, i64, *mut c_void) -> i32;
64pub type StrLen = extern "C" fn(*const i32, *mut i32) -> i32;
65pub type UTF8Check = extern "C" fn(*const c_char, *mut i32) -> i32;
66pub type UTF8Get = extern "C" fn(*const c_char, *mut *const c_char, *mut i32) -> i32;
67pub type UTF8Len = extern "C" fn(*const i32, *mut i32) -> i32;
68pub type UTF8Put = extern "C" fn(*mut c_char, *mut *mut c_char, i32, i32) -> i32;
69
70pub type Logprintf = extern "C" fn(*const c_char);