Hi Michael,
When you boot a linux box without an ethernet connection, and eth0 configuration fails, GetAdaptersInfo does not return MAC address info for eth0. The problem seems to be that enumerateInterfaces (in dlls/iphlpapi/ifenum.c) doesn't create a record for eth0, because SIOCGIFCONF doesn't return one.
Mmm. Yeah, I think an alternative to SIOCGIFCONF might be the thing.
Wait. This works better than getifaddrs. It successfully returns info for "down" devices on my RH8 based linux box, with my creaky old wine-20050419. get_ifaddrs makes the same calls that you were, in its implementation. So it has the same problem. But it's alot easier to program with than the ioctl you used.
You made comments in the source about if_indextoname having issues. So perhaps this patch won't be useful to you. But it works for us, so I'll apply it to our wine sources unless/until something better comes along. Have at it!
Cheers... mo