diff options
Diffstat (limited to 'src/include/threads.h')
| -rw-r--r-- | src/include/threads.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/threads.h b/src/include/threads.h index 8ed0e4c1..a35b02f3 100644 --- a/src/include/threads.h +++ b/src/include/threads.h @@ -4,11 +4,26 @@ typedef struct box64context_s box64context_t; typedef struct x64emu_s x64emu_t; +typedef struct emuthread_s { + uintptr_t fnc; + void* arg; + x64emu_t* emu; + int join; + uintptr_t self; + ulong_t hself; + int cancel_cap, cancel_size; + void** cancels; +} emuthread_t; + void CleanStackSize(box64context_t* context); void init_pthread_helper(void); void fini_pthread_helper(box64context_t* context); void clean_current_emuthread(void); +#ifdef BOX32 +void init_pthread_helper_32(void); +void fini_pthread_helper_32(box64context_t* context); +#endif // prepare an "emuthread structure" in pet and return address of function pointer for a "thread creation routine" void* my_prepare_thread(x64emu_t *emu, void* f, void* arg, int ssize, void** pet); |