2 #define _WIN32_WINNT 0x0501 // For AddVectoredExceptionHandler
19 typedef char symbol_char;
21 #define FACTOR_OS_STRING "winnt"
23 #define FACTOR_DLL NULL
25 extern "C" LONG exception_handler(PEXCEPTION_RECORD e, void *frame, PCONTEXT c, void *dispatch);
27 // SSE traps raise these exception codes, which are defined in internal NT headers
29 #ifndef STATUS_FLOAT_MULTIPLE_FAULTS
30 #define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4
33 #ifndef STATUS_FLOAT_MULTIPLE_TRAPS
34 #define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5
37 typedef HANDLE THREADHANDLE;
39 THREADHANDLE start_thread(void *(*start_routine)(void *),void *args);
40 inline static THREADHANDLE thread_id() { return GetCurrentThread(); }