From 381f42bcf22fdb8f6fffd0fc44fe7284c4e33774 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Sun, 10 Apr 2011 03:45:13 +0000 Subject: [PATCH] fix mingw build --- include/libtorrent/config.hpp | 4 ++-- src/enum_net.cpp | 22 +++++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/include/libtorrent/config.hpp b/include/libtorrent/config.hpp index d4e5988e9..9e01c5f5f 100644 --- a/include/libtorrent/config.hpp +++ b/include/libtorrent/config.hpp @@ -168,10 +168,10 @@ POSSIBILITY OF SUCH DAMAGE. #define TORRENT_USE_LOCALE 1 #endif #define TORRENT_USE_RLIMIT 0 -#define TORRENT_USE_NETLINK 1 +#define TORRENT_USE_NETLINK 0 #define TORRENT_USE_GETADAPTERSADDRESSES 1 #define TORRENT_HAS_SALEN 0 -#define TORRENT_USE_GETIPFORWARDTABLE 0 +#define TORRENT_USE_GETIPFORWARDTABLE 1 // ==== WINDOWS === #elif defined WIN32 diff --git a/src/enum_net.cpp b/src/enum_net.cpp index 761951c83..bab1b1154 100644 --- a/src/enum_net.cpp +++ b/src/enum_net.cpp @@ -43,21 +43,21 @@ POSSIBILITY OF SUCH DAMAGE. #include #endif -#if defined TORRENT_BSD || defined TORRENT_SOLARIS +#if TORREN_USE_IFCONF #include #include #include #include -#include #include -#include #endif #if TORRENT_USE_SYSCTL #include +#include +#include #endif -#if defined TORRENT_WINDOWS || defined TORRENT_MINGW +#if TORRENT_USE_GETIPFORWARDTABLE || TORRENT_USE_GETADAPTERSADDRESSES #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif @@ -65,7 +65,9 @@ POSSIBILITY OF SUCH DAMAGE. #include #endif -#if defined TORRENT_LINUX +#if TORRENT_USE_NETLINK +#include +#include #include #include #include @@ -73,8 +75,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include -#include #include #include #include @@ -871,6 +871,14 @@ namespace libtorrent return std::vector(); } + typedef DWORD (WINAPI *GetIfEntry_t)(PMIB_IFROW pIfRow); + GetIfEntry_t GetIfEntry = (GetIfEntry_t)GetProcAddress(iphlp, "GetIfEntry"); + if (!GetIfEntry) + { + ec = asio::error::operation_not_supported; + return std::vector(); + } + #if _WIN32_WINNT >= 0x0600 typedef DWORD (WINAPI *GetIpForwardTable2_t)( ADDRESS_FAMILY, PMIB_IPFORWARD_TABLE2*);