![]() |
libzmq master
The Intelligent Transport Layer
|
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