]>
Commit | Line | Data |
---|---|---|
e8cc449f RJ |
1 | #ifndef INCLUDE_msvc_compat__ |
2 | #define INCLUDE_msvc_compat__ | |
3 | ||
4 | #if defined(_MSC_VER) | |
5 | ||
6 | /* access() mode parameter #defines */ | |
7 | # define F_OK 0 /* existence check */ | |
8 | # define W_OK 2 /* write mode check */ | |
9 | # define R_OK 4 /* read mode check */ | |
10 | ||
e8cc449f RJ |
11 | # define lseek _lseeki64 |
12 | # define stat _stat64 | |
13 | # define fstat _fstat64 | |
14 | ||
15 | /* stat: file mode type testing macros */ | |
16 | # define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) | |
17 | # define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG) | |
18 | # define S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO) | |
19 | ||
8133afef | 20 | /* case-insensitive string comparison */ |
07234716 SS |
21 | # define strcasecmp _stricmp |
22 | # define strncasecmp _strnicmp | |
23 | ||
824f4acd VM |
24 | #if (_MSC_VER >= 1600) |
25 | # include <stdint.h> | |
26 | #else | |
e8cc449f RJ |
27 | /* add some missing <stdint.h> typedef's */ |
28 | typedef signed char int8_t; | |
29 | typedef unsigned char uint8_t; | |
30 | ||
31 | typedef short int16_t; | |
32 | typedef unsigned short uint16_t; | |
33 | ||
34 | typedef long int32_t; | |
35 | typedef unsigned long uint32_t; | |
36 | ||
37 | typedef long long int64_t; | |
38 | typedef unsigned long long uint64_t; | |
39 | ||
40 | typedef long long intmax_t; | |
41 | typedef unsigned long long uintmax_t; | |
824f4acd | 42 | #endif |
e8cc449f RJ |
43 | |
44 | #endif | |
45 | ||
46 | #endif /* INCLUDE_msvc_compat__ */ |