Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00043 #ifndef _orxPLUGIN_TYPE_H_
00044 #define _orxPLUGIN_TYPE_H_
00045
00046 #include "orxInclude.h"
00047
00048
00049
00050
00051
00052
00053 #define orxPLUGIN_KU32_FLAG_CORE_ID 0x10000000
00055 #define orxPLUGIN_KU32_MASK_PLUGIN_ID 0x0000FF00
00056 #define orxPLUGIN_KU32_SHIFT_PLUGIN_ID 8
00058 #define orxPLUGIN_KU32_MASK_FUNCTION_ID 0x000000FF
00060
00061 #define orxPLUGIN_KU32_FUNCTION_ARG_SIZE 128
00062
00063
00064
00065 #define orxPLUGIN_MAKE_FUNCTION_ID(PLUGIN_ID, FUNCTION_BASE_ID) \
00066 (orxPLUGIN_FUNCTION_ID)(((PLUGIN_ID << orxPLUGIN_KU32_SHIFT_PLUGIN_ID) & orxPLUGIN_KU32_MASK_PLUGIN_ID) | (FUNCTION_BASE_ID & orxPLUGIN_KU32_MASK_FUNCTION_ID))
00067
00068
00069 #define orxPLUGIN_MAKE_CORE_FUNCTION_ID(PLUGIN_CORE_ID, FUNCTION_BASE_ID) \
00070 (orxPLUGIN_FUNCTION_ID)(orxPLUGIN_KU32_FLAG_CORE_ID | orxPLUGIN_MAKE_FUNCTION_ID(PLUGIN_CORE_ID, FUNCTION_BASE_ID))
00071
00072
00073 #define orxPLUGIN_K_INIT_FUNCTION_NAME orxPlugin_MainInit
00076
00077 #ifdef __orxEMBEDDED__
00078
00079 #define orxPLUGIN_K_CORE_INIT_FUNCTION_NAME(SUFFIX) orxPlugin_##SUFFIX##_Init
00081 #else
00082
00083 #define orxPLUGIN_K_CORE_INIT_FUNCTION_NAME(SUFFIX) orxPlugin_MainInit
00085 #endif
00086
00087
00088
00089
00090
00091
00092 typedef enum __orxPLUGIN_FUNCTION_ID_t
00093 {
00094 orxPLUGIN_FUNCTION_ID_NONE = orxENUM_NONE
00095
00096 } orxPLUGIN_FUNCTION_ID;
00097
00098 typedef orxSTATUS (orxFASTCALL *orxPLUGIN_FUNCTION)();
00099
00100
00101
00102
00103
00104
00105 #endif
00106