Я пытаюсь реализовать приложение, которое использует функцию getifaddrs()
от <ifaddrs.h>
на нескольких платформах. Моя цель - получить информацию о связанных с сетевым интерфейсом (IP, IPv6, маску сети, широковещательную рассылку, область действия и HWAddress).Есть ли альтернатива getifaddrs() для HP-UX, Solaris или AIX?
Я успешно реализовал его в Linux, но кажется, что заголовок ifaddrs.h
отсутствует на вышеуказанных платформах (HP-UX, AIX, Solaris).
Каков рекомендуемый подход для этих платформ?
См. Http://stackoverflow.com/a/4139811/1187415, который также должен работать на Solaris и AIX и может быть расширен для IPv6 (я думаю). –
@MartinR: После того как вы прокомментировали запрос сетевой маски. он компилируется и запускается на 'HP-UX B.11.23 U ia64', перечисляя IP-адреса интерфейса (здесь IPv6 здесь не протестирован). – alk
Для AIX я бы нашел открытую реализацию BSD netstat или ifconfig. Концепции кода должны быть такими же, как у AIX. Старые книги Стива тоже помогли бы вам. Я не удивлюсь, если getifaddrs не сделает что-то подобное, если оно реализовано как библиотечная процедура. – pedz