2009-05-02 05:04:19 -04:00
|
|
|
#undef _WIN32_WINNT
|
|
|
|
#define _WIN32_WINNT 0x0501 // For AddVectoredExceptionHandler
|
|
|
|
|
|
|
|
#ifndef UNICODE
|
|
|
|
#define UNICODE
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <windows.h>
|
2009-05-05 14:03:24 -04:00
|
|
|
#include <shellapi.h>
|
2009-05-02 05:04:19 -04:00
|
|
|
|
2010-01-16 09:43:22 -05:00
|
|
|
#ifdef _MSC_VER
|
|
|
|
#undef min
|
|
|
|
#undef max
|
|
|
|
#endif
|
|
|
|
|
2009-05-04 02:46:13 -04:00
|
|
|
namespace factor
|
|
|
|
{
|
|
|
|
|
2009-05-04 05:50:24 -04:00
|
|
|
typedef char symbol_char;
|
2009-05-02 05:04:19 -04:00
|
|
|
|
|
|
|
#define FACTOR_OS_STRING "winnt"
|
|
|
|
|
2010-04-02 00:03:26 -04:00
|
|
|
#define FACTOR_DLL NULL
|
2010-01-16 23:41:17 -05:00
|
|
|
|
2010-04-05 16:48:09 -04:00
|
|
|
VM_C_API LONG exception_handler(PEXCEPTION_RECORD e, void *frame, PCONTEXT c, void *dispatch);
|
2009-05-04 02:46:13 -04:00
|
|
|
|
2009-09-14 13:02:02 -04:00
|
|
|
// SSE traps raise these exception codes, which are defined in internal NT headers
|
|
|
|
// but not winbase.h
|
2009-12-13 21:00:02 -05:00
|
|
|
#ifndef STATUS_FLOAT_MULTIPLE_FAULTS
|
2009-09-14 13:02:02 -04:00
|
|
|
#define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4
|
2009-12-13 21:00:02 -05:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef STATUS_FLOAT_MULTIPLE_TRAPS
|
2009-09-14 13:02:02 -04:00
|
|
|
#define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5
|
2009-12-13 21:00:02 -05:00
|
|
|
#endif
|
2009-09-14 13:02:02 -04:00
|
|
|
|
2009-08-25 03:55:18 -04:00
|
|
|
typedef HANDLE THREADHANDLE;
|
|
|
|
|
|
|
|
THREADHANDLE start_thread(void *(*start_routine)(void *),void *args);
|
2009-10-02 13:00:01 -04:00
|
|
|
inline static THREADHANDLE thread_id() { return GetCurrentThread(); }
|
2009-08-28 16:46:47 -04:00
|
|
|
|
2009-05-04 02:46:13 -04:00
|
|
|
}
|