11 typedef wchar_t vm_char;
13 #define STRING_LITERAL(string) L##string
15 #define MAX_UNICODE_PATH 32768
16 #define VM_C_API extern "C" __declspec(dllexport)
17 #define SSCANF swscanf
19 #define STRNCMP wcsncmp
20 #define STRDUP _wcsdup
25 #define SNPRINTF _snprintf
26 #define SNWPRINTF _snwprintf
28 #define FTELL ftello64
29 #define FSEEK fseeko64
30 #define SNPRINTF snprintf
31 #define SNWPRINTF snwprintf
35 #define CELL_HEX_FORMAT "%Ix"
37 #define CELL_HEX_FORMAT "%lx"
40 #define OPEN_READ(path) _wfopen((path),L"rb")
41 #define OPEN_WRITE(path) _wfopen((path),L"wb")
42 #define MOVE_FILE(path1,path2)\
44 if(MoveFileEx((path1),(path2),MOVEFILE_REPLACE_EXISTING) == false)\
45 std::cout << "MoveFile() failed: error " << GetLastError() << std::endl;\
48 /* Difference between Jan 1 00:00:00 1601 and Jan 1 00:00:00 1970 */
49 #define EPOCH_OFFSET 0x019db1ded53e8000LL
51 inline static void init_signals() {}
52 inline static void early_init() {}
56 void sleep_nanos(u64 nsec);