00001
00002
00003
00004 #ifdef DYNAMIC_LINKING
00005 #ifdef __ADDON
00006 #define EXPORTED_SYMBOL(_symbol,_offset,_var) memcpy(&_var,call_table+(_offset*sizeof(void *)),sizeof(void *))
00007 #else
00008 #define EXPORTED_SYMBOL(_symbol,_offset,_var) addon_tmp_pointer=_symbol; memcpy(call_table+(_offset*sizeof(void *)),&addon_tmp_pointer,sizeof(void *))
00009 #endif
00010 #else
00011 #define EXPORTED_SYMBOL(_symbol,_offset,_var) _var=_symbol
00012 #endif
00013
00014 #define MFNC_COUNT 7
00015
00016
00017
00018 #define MFNC_LOCAL_TABLE(_var) EXPORTED_SYMBOL(local_table, 0, _var)
00019 #define MFNC_DISPLAY_TITLE(_var) EXPORTED_SYMBOL(display_title, 1, _var)
00020 #define MFNC_ADD_TIMER(_var) EXPORTED_SYMBOL(add_timer, 2, _var)
00021 #define MFNC_ADD_TIMER_INTERVAL(_var) EXPORTED_SYMBOL(add_timer_interval, 3, _var)
00022 #define MFNC_DELETE_TIMER(_var) EXPORTED_SYMBOL(delete_timer, 4, _var)
00023 #define MFNC_ADDTICK_TIMER(_var) EXPORTED_SYMBOL(addtick_timer, 5, _var)
00024 #define MFNC_GET_VERSION(_var) EXPORTED_SYMBOL(get_version, 6, _var)
00025