libzmq master
The Intelligent Transport Layer

windows.hpp

Go to the documentation of this file.
00001 /*
00002     Copyright (c) 2010-2011 250bpm s.r.o.
00003     Copyright (c) 2007-2009 iMatix Corporation
00004     Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
00005 
00006     This file is part of 0MQ.
00007 
00008     0MQ is free software; you can redistribute it and/or modify it under
00009     the terms of the GNU Lesser General Public License as published by
00010     the Free Software Foundation; either version 3 of the License, or
00011     (at your option) any later version.
00012 
00013     0MQ is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU Lesser General Public License for more details.
00017 
00018     You should have received a copy of the GNU Lesser General Public License
00019     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00020 */
00021 
00022 #ifndef __ZMQ_WINDOWS_HPP_INCLUDED__
00023 #define __ZMQ_WINDOWS_HPP_INCLUDED__
00024 
00025 //  The purpose of this header file is to turn on only the items actually
00026 //  needed on the windows platform.
00027 
00028 #ifndef WIN32_LEAN_AND_MEAN
00029 #define WIN32_LEAN_AND_MEAN
00030 #endif
00031 #ifndef NOGDICAPMASKS
00032 #define NOGDICAPMASKS     // CC_*, LC_*, PC_*, CP_*, TC_*, RC_
00033 #endif
00034 #ifndef NOVIRTUALKEYCODES
00035 #define NOVIRTUALKEYCODES // VK_*
00036 #endif
00037 #ifndef NOWINMESSAGES
00038 #define NOWINMESSAGES     // WM_*, EM_*, LB_*, CB_*
00039 #endif
00040 #ifndef NOWINSTYLES
00041 #define NOWINSTYLES       // WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_*
00042 #endif
00043 #ifndef NOSYSMETRICS
00044 #define NOSYSMETRICS      // SM_*
00045 #endif
00046 #ifndef NOMENUS
00047 #define NOMENUS           // MF_*
00048 #endif
00049 #ifndef NOICONS
00050 #define NOICONS           // IDI_*
00051 #endif
00052 #ifndef NOKEYSTATES
00053 #define NOKEYSTATES       // MK_*
00054 #endif
00055 #ifndef NOSYSCOMMANDS
00056 #define NOSYSCOMMANDS     // SC_*
00057 #endif
00058 #ifndef NORASTEROPS
00059 #define NORASTEROPS       // Binary and Tertiary raster ops
00060 #endif
00061 #ifndef NOSHOWWINDOW
00062 #define NOSHOWWINDOW      // SW_*
00063 #endif
00064 #ifndef OEMRESOURCE
00065 #define OEMRESOURCE       // OEM Resource values
00066 #endif
00067 #ifndef NOATOM
00068 #define NOATOM            // Atom Manager routines
00069 #endif
00070 #ifndef NOCLIPBOARD
00071 #define NOCLIPBOARD       // Clipboard routines
00072 #endif
00073 #ifndef NOCOLOR
00074 #define NOCOLOR           // Screen colors
00075 #endif
00076 #ifndef NOCTLMGR
00077 #define NOCTLMGR          // Control and Dialog routines
00078 #endif
00079 #ifndef NODRAWTEXT
00080 #define NODRAWTEXT        // DrawText() and DT_*
00081 #endif
00082 #ifndef NOGDI
00083 #define NOGDI             // All GDI defines and routines
00084 #endif
00085 #ifndef NOKERNEL
00086 #define NOKERNEL          // All KERNEL defines and routines
00087 #endif
00088 #ifndef NOUSER
00089 #define NOUSER            // All USER defines and routines
00090 #endif
00091 #ifndef NONLS
00092 #define NONLS             // All NLS defines and routines
00093 #endif
00094 #ifndef NOMB
00095 #define NOMB              // MB_* and MessageBox()
00096 #endif
00097 #ifndef NOMEMMGR
00098 #define NOMEMMGR          // GMEM_*, LMEM_*, GHND, LHND, associated routines
00099 #endif
00100 #ifndef NOMETAFILE
00101 #define NOMETAFILE        // typedef METAFILEPICT
00102 #endif
00103 #ifndef NOMINMAX
00104 #define NOMINMAX          // Macros min(a,b) and max(a,b)
00105 #endif
00106 #ifndef NOMSG
00107 #define NOMSG             // typedef MSG and associated routines
00108 #endif
00109 #ifndef NOOPENFILE
00110 #define NOOPENFILE        // OpenFile(), OemToAnsi, AnsiToOem, and OF_*
00111 #endif
00112 #ifndef NOSCROLL
00113 #define NOSCROLL          // SB_* and scrolling routines
00114 #endif
00115 #ifndef NOSERVICE
00116 #define NOSERVICE         // All Service Controller routines, SERVICE_ equates, etc.
00117 #endif
00118 #ifndef NOSOUND
00119 #define NOSOUND           // Sound driver routines
00120 #endif
00121 #ifndef NOTEXTMETRIC
00122 #define NOTEXTMETRIC      // typedef TEXTMETRIC and associated routines
00123 #endif
00124 #ifndef NOWH
00125 #define NOWH              // SetWindowsHook and WH_*
00126 #endif
00127 #ifndef NOWINOFFSETS
00128 #define NOWINOFFSETS      // GWL_*, GCL_*, associated routines
00129 #endif
00130 #ifndef NOCOMM
00131 #define NOCOMM            // COMM driver routines
00132 #endif
00133 #ifndef NOKANJI
00134 #define NOKANJI           // Kanji support stuff.
00135 #endif
00136 #ifndef NOHELP
00137 #define NOHELP            // Help engine interface.
00138 #endif
00139 #ifndef NOPROFILER
00140 #define NOPROFILER        // Profiler interface.
00141 #endif
00142 #ifndef NODEFERWINDOWPOS
00143 #define NODEFERWINDOWPOS  // DeferWindowPos routines
00144 #endif
00145 #ifndef NOMCX
00146 #define NOMCX             // Modem Configuration ExtensionsA
00147 #endif
00148 
00149 //  Set target version to Windows Server 2003, Windows XP/SP1 or higher.
00150 #ifndef _WIN32_WINNT
00151 #define _WIN32_WINNT 0x0501
00152 #endif
00153 
00154 #include <windows.h>
00155 
00156 #ifdef __MINGW32__
00157 //  Require Windows XP or higher with MinGW for getaddrinfo().
00158 #if(_WIN32_WINNT >= 0x0501)
00159 #else
00160 #undef _WIN32_WINNT
00161 #define _WIN32_WINNT 0x0501
00162 #endif
00163 #endif
00164  
00165 #include <winsock2.h>
00166 #include <mswsock.h>
00167 
00168 #include <ws2tcpip.h>
00169 #include <ipexport.h>
00170 #include <process.h>
00171 
00172 //  In MinGW environment AI_NUMERICSERV is not defined.
00173 #ifndef AI_NUMERICSERV
00174 #define AI_NUMERICSERV 0x0400
00175 #endif
00176 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines