From 170bd047f5f73ffa914ff21205018966f31e09c0 Mon Sep 17 00:00:00 2001 From: Zenju Date: Wed, 22 May 2019 11:11:36 +0200 Subject: [PATCH] config-win32: add support for if_nametoindex and getsockname Closes https://github.com/curl/curl/pull/3923 --- lib/config-win32.h | 18 ++++++++++++++++-- lib/url.c | 4 +++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/config-win32.h b/lib/config-win32.h index 24c35d339..08cfd0d4c 100644 --- a/lib/config-win32.h +++ b/lib/config-win32.h @@ -154,6 +154,11 @@ #define HAVE_WS2TCPIP_H 1 #endif +/* Define if you have the header file. */ +#ifndef __SALFORDC__ +#define HAVE_IPHLPAPI_H 1 +#endif + /* ---------------------------------------------------------------- */ /* OTHER HEADER INFO */ /* ---------------------------------------------------------------- */ @@ -188,6 +193,9 @@ /* Define to 1 if you have the `getpeername' function. */ #define HAVE_GETPEERNAME 1 +/* Define to 1 if you have the getsockname function. */ +#define HAVE_GETSOCKNAME 1 + /* Define if you have the gethostbyaddr function. */ #define HAVE_GETHOSTBYADDR 1 @@ -582,8 +590,9 @@ Vista # endif #endif -/* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is - quite convoluted, compiler dependent and even build target dependent. */ +/* Availability of freeaddrinfo, getaddrinfo, getnameinfo and if_nametoindex + functions is quite convoluted, compiler dependent and even build target + dependent. */ #if defined(HAVE_WS2TCPIP_H) # if defined(__POCC__) # define HAVE_FREEADDRINFO 1 @@ -602,6 +611,11 @@ Vista # define HAVE_GETNAMEINFO 1 # endif #endif +#if defined(HAVE_IPHLPAPI_H) + #if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600) + #define HAVE_IF_NAMETOINDEX 1 + #endif +#endif #if defined(__POCC__) # ifndef _MSC_VER diff --git a/lib/url.c b/lib/url.c index db76fa656..b5169485f 100644 --- a/lib/url.c +++ b/lib/url.c @@ -34,10 +34,12 @@ #ifdef HAVE_NET_IF_H #include #endif +#ifdef HAVE_IPHLPAPI_H +#include +#endif #ifdef HAVE_SYS_IOCTL_H #include #endif - #ifdef HAVE_SYS_PARAM_H #include #endif