RFC: depending on getifaddrs in iphlpapi

Juan Lang juan.lang at gmail.com
Thu Nov 10 10:50:41 CST 2011


Hi folks,
right now iphlpapi uses autoconf to detect if getifaddrs is available,
and only uses it to enumerate IPv6 addresses.

I'm thinking of replacing the current IPv4 enumeration code, which
uses ioctl/SIOCGIFCONF, with getifaddrs.  The reason I'm leaning
toward replacing, rather than adding side-by-side with the current
code, is that getifaddrs is commonly available:  it's available on all
recent versions of Linux, as well as on FreeBSD and MacOS.  There
might be some platform somewhere that's disenfranchised by this, but
I'm not sure it's worth the code complexity to maintain the current
code.

Any strenuous objections?

Reasons to use getifaddrs rather than ioctls:
1. SIOCGIFCONF is actually pretty fiddly, and is the current code is
broken on FreeBSD, or FreeBSD's support is broken (bug 27653.)
2. SIOCGIFFLAGS is apparently broken on current Linux versions.  I
haven't found any bug against Wine or Linux about that, I just noticed
it while testing the existing code.

Thanks,
--Juan



More information about the wine-devel mailing list