]> git.proxmox.com Git - libgit2.git/blame - src/msvc-compat.h
Merge pull request #223 from carlosmn/valgrind
[libgit2.git] / src / msvc-compat.h
CommitLineData
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 */
28typedef signed char int8_t;
29typedef unsigned char uint8_t;
30
31typedef short int16_t;
32typedef unsigned short uint16_t;
33
34typedef long int32_t;
35typedef unsigned long uint32_t;
36
37typedef long long int64_t;
38typedef unsigned long long uint64_t;
39
40typedef long long intmax_t;
41typedef unsigned long long uintmax_t;
824f4acd 42#endif
e8cc449f
RJ
43
44#endif
45
46#endif /* INCLUDE_msvc_compat__ */