]> gitweb.factorcode.org Git - factor.git/blob - vm/os-windows.hpp
03dec4bb0288e38df3ffce11116176922f94a40f
[factor.git] / vm / os-windows.hpp
1 #include <ctype.h>
2
3 #ifndef wcslen
4         /* for cygwin */
5         #include <wchar.h>
6 #endif
7
8 namespace factor
9 {
10
11 typedef wchar_t vm_char;
12
13 #define STRING_LITERAL(string) L##string
14
15 #define MAX_UNICODE_PATH 32768
16 #define VM_C_API extern "C" __declspec(dllexport)
17 #define SSCANF swscanf
18 #define STRCMP wcscmp
19 #define STRNCMP wcsncmp
20 #define STRDUP _wcsdup
21
22 #ifdef _MSC_VER
23         #define FTELL ftell
24         #define FSEEK fseek
25         #define SNPRINTF _snprintf
26 #else
27         #define FTELL ftello64
28         #define FSEEK fseeko64
29         #define SNPRINTF snprintf
30 #endif
31
32 #define OPEN_READ(path) _wfopen((path),L"rb")
33 #define OPEN_WRITE(path) _wfopen((path),L"wb")
34
35 /* Difference between Jan 1 00:00:00 1601 and Jan 1 00:00:00 1970 */
36 #define EPOCH_OFFSET 0x019db1ded53e8000LL
37
38 inline static void early_init() {}
39
40 u64 nano_count();
41 void sleep_nanos(u64 nsec);
42 long getpagesize();
43 void move_file(const vm_char *path1, const vm_char *path2);
44
45 }