Я пытаюсь портировать приложение MacOSX на окна, и я натолкнулся на проблему вокруг getifaddrs. В основном окна не поддерживают его. Я пытаюсь изобразить способ повторно реализовать его (для AF_INET и AF_INET6), но "эквивалентная" функциональность на окнах, кажется, ничто как поддержка MacOSX.
Кто-то сделал этот вид преобразования прежде? Раз так есть ли хороший способ, которым я могу заставить окна сообщать обо мне, интерфейсная информация как MacOSX делает?
Ближайшие функции в Windows - это GetAdaptersInfo и GetAdaptersAddresses . Документация MSDN довольно обширна, поэтому вы найдете все, что вам нужно.
Может быть, вам поможет win32-порт libpcap?
(или порт libnet, если он существует)
Я сделал это здесь, включая отдельную версию для Wine, поскольку процедуры, не зависящие от IP-версии, в настоящее время не работают должным образом ,
http: // code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/getifaddrs.c
Лицензия LGPL 2.1
редактировать: Wine 1.3 устраняет проблемы, возникающие при использовании дружественного к IPv4 и IPv6 API. .