Thunks: Support thunk init function on host

Allows library to have an additional initialization function
This commit is contained in:
Ryan Houdek committed 2021-10-02 17:54:30 -07:00
1 parent 4589876ebc
commit e2b24f7f59
1 file changed
+9
+9
View File
@@ -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) \