]> git.saurik.com Git - wxWidgets.git/blob - include/wx/private/fd.h
move more socket functions common to Winsock and BSD implementations to common code
[wxWidgets.git] / include / wx / private / fd.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/private/fd.h
3 // Purpose: private stuff for working with file descriptors
4 // Author: Vadim Zeitlin
5 // Created: 2008-11-23 (moved from wx/unix/private.h)
6 // RCS-ID: $Id$
7 // Copyright: (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_PRIVATE_FD_H_
12 #define _WX_PRIVATE_FD_H_
13
14 // standard Linux headers produce many warnings when used with icc so define
15 // our own replacements for FD_XXX macros
16 #if defined(__INTELC__) && defined(__LINUX__)
17 inline void wxFD_ZERO(fd_set *fds)
18 {
19 #pragma warning(push)
20 #pragma warning(disable:593)
21 FD_ZERO(fds);
22 #pragma warning(pop)
23 }
24
25 inline void wxFD_SET(int fd, fd_set *fds)
26 {
27 #pragma warning(push, 1)
28 #pragma warning(disable:1469)
29 FD_SET(fd, fds);
30 #pragma warning(pop)
31 }
32
33 inline bool wxFD_ISSET(int fd, fd_set *fds)
34 {
35 #pragma warning(push, 1)
36 #pragma warning(disable:1469)
37 return FD_ISSET(fd, fds);
38 #pragma warning(pop)
39 }
40 inline bool wxFD_CLR(int fd, fd_set *fds)
41 {
42 #pragma warning(push, 1)
43 #pragma warning(disable:1469)
44 return FD_CLR(fd, fds);
45 #pragma warning(pop)
46 }
47 #else // !__INTELC__
48 #define wxFD_ZERO(fds) FD_ZERO(fds)
49 #define wxFD_SET(fd, fds) FD_SET(fd, fds)
50 #define wxFD_ISSET(fd, fds) FD_ISSET(fd, fds)
51 #define wxFD_CLR(fd, fds) FD_CLR(fd, fds)
52 #endif // __INTELC__/!__INTELC__
53
54 #endif // _WX_PRIVATE_FD_H_