aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2011-08-04 21:27:29 +0200
committerYang Tse <yangsita@gmail.com>2011-08-04 21:27:29 +0200
commita6ed2b8426675115d6d29bfec4d8597cf715b33c (patch)
treea73aca9deec5d58a60f800fd523f3b53598146ef /src
parentb56bbabee0b49abef4d163b203f6e2e4f6651066 (diff)
BSD-style lwIP TCP/IP stack support:
Allow compilation of libcurl and curl using BSD-style lwIP on Win32. In order to compile libcurl and curl with this support it is necessary to edit files lib/config-win32.h and src/config-win32.h and uncomment a line to make definition of preprocessor symbol USE_LWIPSOCK visible. Afterwards you can compile as usual. In order to use compiled library with BSD-style lwIP TCP/IP stack in your program it is mandatory that you include lwIP header file <lwip/opt.h> before including <curl/curl.h> or <curl/multi.h> Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from: http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip Have fun!
Diffstat (limited to 'src')
-rw-r--r--src/config-win32.h25
-rw-r--r--src/setup.h5
2 files changed, 30 insertions, 0 deletions
diff --git a/src/config-win32.h b/src/config-win32.h
index e5cbcf0df..4b92a2b66 100644
--- a/src/config-win32.h
+++ b/src/config-win32.h
@@ -263,6 +263,31 @@
#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* ---------------------------------------------------------------- */
+/* BSD-style lwIP TCP/IP stack SPECIFIC */
+/* ---------------------------------------------------------------- */
+
+/* Define this to use BSD-style lwIP TCP/IP stack */
+/* #define USE_LWIPSOCK 1 */
+
+#ifdef USE_LWIPSOCK
+# undef USE_WINSOCK
+# undef HAVE_WINSOCK_H
+# undef HAVE_WINSOCK2_H
+# undef HAVE_WS2TCPIP_H
+# undef HAVE_ERRNO_H
+# undef HAVE_GETHOSTNAME
+# undef HAVE_GETNAMEINFO
+# undef LWIP_POSIX_SOCKETS_IO_NAMES
+# define HAVE_FREEADDRINFO
+# define HAVE_GETADDRINFO
+# define HAVE_GETHOSTBYNAME
+# define HAVE_GETHOSTBYNAME_R
+# define HAVE_GETHOSTBYNAME_R_6
+# define LWIP_POSIX_SOCKETS_IO_NAMES 0
+# define SOCKET int
+#endif
+
+/* ---------------------------------------------------------------- */
/* Watt-32 tcp/ip SPECIFIC */
/* ---------------------------------------------------------------- */
diff --git a/src/setup.h b/src/setup.h
index b510fd9b5..d2562a244 100644
--- a/src/setup.h
+++ b/src/setup.h
@@ -135,6 +135,11 @@
# endif
#endif
+#ifdef USE_LWIPSOCK
+# include <lwip/sockets.h>
+# include <lwip/netdb.h>
+#endif
+
#ifdef TPF
# include <sys/socket.h>
/* change which select is used for the curl command line tool */