mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 14:00:16 +02:00
Thunks: Support thunk init function on host
Allows library to have an additional initialization function
This commit is contained in:
1 parent
4589876ebc
commit
e2b24f7f59
1 file changed
+9
@@ -14,6 +14,15 @@ typedef void fex_call_callback_t(uintptr_t callback, void *arg0, void* arg1);
|
||||
static fex_call_callback_t* call_guest;
|
||||
|
||||
#define EXPORTS(name) extern "C" { ExportEntry* fexthunks_exports_##name(void *a0, uintptr_t a1) { call_guest = (fex_call_callback_t*)a0; fexldr_init_##name(); return exports; } }
|
||||
#define EXPORTS_INIT(name, init_fn) \
|
||||
extern "C" { \
|
||||
ExportEntry* fexthunks_exports_##name(void *a0, uintptr_t a1) { \
|
||||
call_guest = (fex_call_callback_t*)a0; \
|
||||
fexldr_init_##name(); \
|
||||
init_fn (); \
|
||||
return exports; \
|
||||
} }
|
||||
|
||||
#define EXPORTS_WITH_CALLBACKS(name) extern "C" { ExportEntry* fexthunks_exports_##name(void *a0, uintptr_t a1) { call_guest = (fex_call_callback_t*)a0; (uintptr_t&)callback_unpacks = a1; fexldr_init_##name(); return exports; } }
|
||||
|
||||
#define LOAD_LIB_INIT(init_fn) \
|
||||
|
||||
Reference in new issue
Block a user