2 #define _WIN32_WINNT 0x0501 // For AddVectoredExceptionHandler
14 typedef char symbol_char;
16 #define FACTOR_OS_STRING "winnt"
17 #define FACTOR_DLL L"factor.dll"
18 #define FACTOR_DLL_NAME "factor.dll"
20 #define FACTOR_STDCALL __attribute__((stdcall))
22 FACTOR_STDCALL LONG exception_handler(PEXCEPTION_POINTERS pe);
24 // SSE traps raise these exception codes, which are defined in internal NT headers
26 #define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4
27 #define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5
29 typedef HANDLE THREADHANDLE;
31 THREADHANDLE start_thread(void *(*start_routine)(void *),void *args);
33 void init_platform_globals();
35 void register_vm_with_thread(factorvm *vm);