Neovim Home
src
nvim
os
win_defs.h
Go to the documentation of this file.
1
#ifndef NVIM_OS_WIN_DEFS_H
2
#define NVIM_OS_WIN_DEFS_H
3
4
#ifndef WIN32
5
# error Header must be included only when compiling for Windows.
6
#endif
7
8
// winsock2.h must be first to avoid incompatibilities
9
// with winsock.h (included by windows.h)
10
11
// uncrustify:off
12
#include <winsock2.h>
13
// uncrustify:on
14
#include <io.h>
15
#include <stdio.h>
16
#include <sys/stat.h>
17
#include <windows.h>
18
19
// Windows does not have S_IFLNK but libuv defines it
20
// and sets the flag for us when calling uv_fs_stat.
21
#include <uv.h>
22
23
#define NAME_MAX _MAX_PATH
24
25
#define TEMP_DIR_NAMES { "$TMPDIR", "$TMP", "$TEMP", "$USERPROFILE", "" }
26
#define TEMP_FILE_PATH_MAXLEN _MAX_PATH
27
28
#define FNAME_ILLEGAL "\"*?><|"
29
30
// Character that separates entries in $PATH.
31
#define ENV_SEPCHAR ';'
32
#define ENV_SEPSTR ";"
33
34
#define USE_CRNL
35
36
// Windows defines a RGB macro that produces 0x00bbggrr color values for use
37
// with GDI. Our macro is different, and we don't use GDI.
38
// Duplicated from macros.h to avoid include-order sensitivity.
39
#define RGB_(r, g, b) (((r) << 16) | ((g) << 8) | (b))
40
41
#ifdef _MSC_VER
42
# ifndef inline
43
# define inline __inline
44
# endif
45
# ifndef restrict
46
# define restrict __restrict
47
# endif
48
# ifndef STDIN_FILENO
49
# define STDIN_FILENO _fileno(stdin)
50
# endif
51
# ifndef STDOUT_FILENO
52
# define STDOUT_FILENO _fileno(stdout)
53
# endif
54
# ifndef STDERR_FILENO
55
# define STDERR_FILENO _fileno(stderr)
56
# endif
57
# ifndef S_IXUSR
58
# define S_IXUSR S_IEXEC
59
# endif
60
#endif
61
62
#define BACKSLASH_IN_FILENAME
63
64
#ifdef _MSC_VER
65
typedef
int
mode_t;
66
#endif
67
68
#ifndef SSIZE_MAX
69
# ifdef _WIN64
70
# define SSIZE_MAX _I64_MAX
71
# else
72
# define SSIZE_MAX LONG_MAX
73
# endif
74
#endif
75
76
#ifndef O_NOFOLLOW
77
# define O_NOFOLLOW 0
78
#endif
79
80
#ifndef STDIN_FILENO
81
# define STDIN_FILENO 0
82
#endif
83
#ifndef STDOUT_FILENO
84
# define STDOUT_FILENO 1
85
#endif
86
#ifndef STDERR_FILENO
87
# define STDERR_FILENO 2
88
#endif
89
90
#endif // NVIM_OS_WIN_DEFS_H