mingw.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 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
42 inline int
43 fsync(int fd)
44 {
45  return _commit(fd);
46 }
47 #endif
48 
49 #endif /* _SQUID_MINGW_*/
50 #endif /* SQUID_COMPAT_OS_MINGW_H */

 

Introduction

Documentation

Support

Miscellaneous