summaryrefslogtreecommitdiffstats
path: root/e_os.h
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2006-01-02 13:44:06 +0000
committerAndy Polyakov <appro@openssl.org>2006-01-02 13:44:06 +0000
commit61aa2134a48a6a436f498cc69ce895cd8456e080 (patch)
tree06c045b6646f452226d02734a2009bfcc3034bd0 /e_os.h
parent4eb76e23970d65c0587e1b0ba5e9630c4571aec5 (diff)
Compile Windows with winsock2.h. But note that we still link with wsock32!
This works because wsock32 commonly loads ws2_32 anyway and we [intend to] check upon presense of winsock2-specific API at run-time.
Diffstat (limited to 'e_os.h')
-rw-r--r--e_os.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/e_os.h b/e_os.h
index df72c7454a..78753de970 100644
--- a/e_os.h
+++ b/e_os.h
@@ -259,6 +259,18 @@ extern "C" {
*/
# define _WIN32_WINNT 0x0400
# endif
+# if !defined(OPENSSL_NO_SOCK) && defined(_WIN32_WINNT)
+ /*
+ * Just like defining _WIN32_WINNT including winsock2.h implies
+ * certain "discipline" for maintaing [broad] binary compatibility.
+ * As long as structures are invariant among Winsock versions,
+ * it's sufficient to check for specific Winsock2 API availability
+ * at run-time [DSO_global_lookup is recommended]...
+ */
+# include <winsock2.h>
+# include <ws2tcpip.h>
+ /* yes, they have to be #included prior <windows.h> */
+# endif
# include <windows.h>
# include <stddef.h>
# include <errno.h>