Commit e6fa347e authored by Christopher Dykes's avatar Christopher Dykes Committed by Facebook Github Bot

Support if_indextoname in the socket portability header

Summary: Windows doesn't have `net/if.h` and instead needs `iphlpapi.h` included, and `ntddndis.h` is ultimately needed to get the definition of `IF_NAMESIZE`.

Reviewed By: yfeldblum

Differential Revision: D5438188

fbshipit-source-id: 48a786f7d10ca4b8479bb20b257ed1e857431654
parent b10cedce
......@@ -144,6 +144,7 @@ set(FOLLY_LINK_LIBRARIES
${LIBEVENT_LIB}
${LIBGFLAGS_LIBRARY}
${LIBGLOG_LIBRARY}
Iphlpapi.lib
Ws2_32.lib
${FOLLY_SHINY_DEPENDENCIES}
......
......@@ -19,14 +19,25 @@
#include <ostream>
#include <string>
#include <net/if.h>
#include <folly/Format.h>
#include <folly/IPAddress.h>
#include <folly/IPAddressV4.h>
#include <folly/MacAddress.h>
#include <folly/detail/IPAddressSource.h>
#if !_WIN32
#include <net/if.h>
#else
// Because of the massive pain that is libnl, this can't go into the socket
// portability header as you can't include <linux/if.h> and <net/if.h> in
// the same translation unit without getting errors -_-...
#include <iphlpapi.h>
#include <ntddndis.h>
// Alias the max size of an interface name to what posix expects.
#define IFNAMSIZ IF_NAMESIZE
#endif
using std::ostream;
using std::string;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment