1 /* mingw32.h: declarations for mingw32.
3 Copyright 2009-2014 Taco Hoekwater <taco@luatex.org>.
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public License
16 along with this library; if not, see <http://www.gnu.org/licenses/>. */
21 /* We need GetLongPathName and perhaps others. */
22 #if !defined WINVER || WINVER < 0x0500
28 /* The embedded rndnpc.h defines boolean as 'unsigned char',
29 and we do not want that.
30 This should be safe as long as we don't use npc ourselves. */
31 #define boolean saved_boolean
32 /* With WINVER >= 0x0403 winuser.h declares INPUT as `struct tagINPUT`,
33 and we do not want that. */
34 #define INPUT saved_INPUT
45 /* sys/types.h defines off_t as `long' and we do not want that.
46 We need to include unistd.h and sys/stat.h using off_t
47 before defining off_t (no need to include wchar.h). */
51 #define ftello ftello64
52 #define fseeko fseeko64
55 #define MAXPATHLEN _MAX_PATH
66 #ifdef MAKE_KPSE_DLL /* libkpathsea internal only */
68 extern void init_user_info (void);
69 extern BOOL
look_for_cmd (const char *, char **);
70 extern char *quote_args(char **);
72 #endif /* MAKE_KPSE_DLL */
74 extern KPSEDLL BOOL
win32_get_long_filename (char *, char *, int);
75 extern KPSEDLL
void texlive_gs_init (void);
76 extern KPSEDLL
double win32_floor (double);
79 win32_popen (const char *command
, const char *fmode
)
83 /* We always use binary mode */
88 return _popen (command
, mode
);
91 #define popen(cmd, mode) win32_popen(cmd, mode)