| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- //----------------------------------------------------------
- //
- // SA:MP Multiplayer Modification For GTA:SA
- // Copyright 2004-2006 SA:MP Team
- //
- //----------------------------------------------------------
- #ifndef _PLUGINCOMMON_H_INCLUDED
- #define _PLUGINCOMMON_H_INCLUDED
- //----------------------------------------------------------
- #define SAMP_PLUGIN_VERSION 0x0200
- //----------------------------------------------------------
- #ifdef __cplusplus
- #define PLUGIN_EXTERN_C extern "C"
- #else
- #define PLUGIN_EXTERN_C
- #endif
- #if defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD__) || defined(__OpenBSD__)
- #ifndef __GNUC__
- #pragma message "Warning: Not using a GNU compiler."
- #endif
- #define PLUGIN_CALL
- #ifndef SAMPSVR
- // Compile code with -fvisibility=hidden to hide non-exported functions.
- #define PLUGIN_EXPORT PLUGIN_EXTERN_C __attribute__((visibility("default")))
- #else
- #define PLUGIN_EXPORT PLUGIN_EXTERN_C
- #endif
- #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
- #ifndef _MSC_VER
- #pragma message "Warning: Not using a VC++ compiler."
- #endif
- #define PLUGIN_CALL __stdcall
- #define PLUGIN_EXPORT PLUGIN_EXTERN_C
- #else
- #error "You must define one of WIN32, LINUX or FREEBSD"
- #endif
- //----------------------------------------------------------
- enum SUPPORTS_FLAGS
- {
- SUPPORTS_VERSION = SAMP_PLUGIN_VERSION,
- SUPPORTS_VERSION_MASK = 0xffff,
- SUPPORTS_AMX_NATIVES = 0x10000,
- };
- //----------------------------------------------------------
- enum PLUGIN_DATA_TYPE
- {
- // For some debugging
- PLUGIN_DATA_LOGPRINTF = 0x00, // void (*logprintf)(char* format, ...)
- // AMX
- PLUGIN_DATA_AMX_EXPORTS = 0x10, // void* AmxFunctionTable[] (see PLUGIN_AMX_EXPORT)
- PLUGIN_DATA_CALLPUBLIC_FS = 0x11, // int (*AmxCallPublicFilterScript)(char *szFunctionName)
- PLUGIN_DATA_CALLPUBLIC_GM = 0x12, // int (*AmxCallPublicGameMode)(char *szFunctionName)
- };
- //----------------------------------------------------------
- enum PLUGIN_AMX_EXPORT
- {
- PLUGIN_AMX_EXPORT_Align16 = 0,
- PLUGIN_AMX_EXPORT_Align32 = 1,
- PLUGIN_AMX_EXPORT_Align64 = 2,
- PLUGIN_AMX_EXPORT_Allot = 3,
- PLUGIN_AMX_EXPORT_Callback = 4,
- PLUGIN_AMX_EXPORT_Cleanup = 5,
- PLUGIN_AMX_EXPORT_Clone = 6,
- PLUGIN_AMX_EXPORT_Exec = 7,
- PLUGIN_AMX_EXPORT_FindNative = 8,
- PLUGIN_AMX_EXPORT_FindPublic = 9,
- PLUGIN_AMX_EXPORT_FindPubVar = 10,
- PLUGIN_AMX_EXPORT_FindTagId = 11,
- PLUGIN_AMX_EXPORT_Flags = 12,
- PLUGIN_AMX_EXPORT_GetAddr = 13,
- PLUGIN_AMX_EXPORT_GetNative = 14,
- PLUGIN_AMX_EXPORT_GetPublic = 15,
- PLUGIN_AMX_EXPORT_GetPubVar = 16,
- PLUGIN_AMX_EXPORT_GetString = 17,
- PLUGIN_AMX_EXPORT_GetTag = 18,
- PLUGIN_AMX_EXPORT_GetUserData = 19,
- PLUGIN_AMX_EXPORT_Init = 20,
- PLUGIN_AMX_EXPORT_InitJIT = 21,
- PLUGIN_AMX_EXPORT_MemInfo = 22,
- PLUGIN_AMX_EXPORT_NameLength = 23,
- PLUGIN_AMX_EXPORT_NativeInfo = 24,
- PLUGIN_AMX_EXPORT_NumNatives = 25,
- PLUGIN_AMX_EXPORT_NumPublics = 26,
- PLUGIN_AMX_EXPORT_NumPubVars = 27,
- PLUGIN_AMX_EXPORT_NumTags = 28,
- PLUGIN_AMX_EXPORT_Push = 29,
- PLUGIN_AMX_EXPORT_PushArray = 30,
- PLUGIN_AMX_EXPORT_PushString = 31,
- PLUGIN_AMX_EXPORT_RaiseError = 32,
- PLUGIN_AMX_EXPORT_Register = 33,
- PLUGIN_AMX_EXPORT_Release = 34,
- PLUGIN_AMX_EXPORT_SetCallback = 35,
- PLUGIN_AMX_EXPORT_SetDebugHook = 36,
- PLUGIN_AMX_EXPORT_SetString = 37,
- PLUGIN_AMX_EXPORT_SetUserData = 38,
- PLUGIN_AMX_EXPORT_StrLen = 39,
- PLUGIN_AMX_EXPORT_UTF8Check = 40,
- PLUGIN_AMX_EXPORT_UTF8Get = 41,
- PLUGIN_AMX_EXPORT_UTF8Len = 42,
- PLUGIN_AMX_EXPORT_UTF8Put = 43,
- };
- //----------------------------------------------------------
- #endif // _PLUGINCOMMON_H_INCLUDED
- //----------------------------------------------------------
- // EOF
|