Squid Web Cache master
Loading...
Searching...
No Matches
mingw.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#ifndef SQUID_COMPAT_OS_MINGW_H
10#define SQUID_COMPAT_OS_MINGW_H
11
12#if _SQUID_MINGW_
13
14/****************************************************************************
15 *--------------------------------------------------------------------------*
16 * DO *NOT* MAKE ANY CHANGES below here unless you know what you're doing...*
17 *--------------------------------------------------------------------------*
18 ****************************************************************************/
19
20// include this header before winsock2.h
21#if HAVE_WS2TCPIP_H
22#include <ws2tcpip.h>
23#endif
24
25// error: #warning Please include winsock2.h before windows.h
26#if HAVE_WINSOCK2_H
27#include <winsock2.h>
28#endif
29
30// all windows native code requires windows.h
31#if HAVE_WINDOWS_H
32#include <windows.h>
33#endif
34
35// needed for _commmit and _get_osfhandle
36#if HAVE_IO_H
37#include <io.h>
38#endif
39
40#if !HAVE_FSYNC
41// _commit(fd) is API-compatible with fsync(fd) and has equivalent behaviour
42inline int
43fsync(int fd)
44{
45 return _commit(fd);
46}
47#endif
48
49#define mkdir(p,F) mkdir((p))
50
51#endif /* _SQUID_MINGW_*/
52#endif /* SQUID_COMPAT_OS_MINGW_H */