Есть ли альтернатива getifaddrs() в HP-UX, Solaris или AIX?

Я пытаюсь реализовать приложение, которое использует функцию getifaddrs() из <ifaddrs.h> на нескольких платформах. Моя цель - получить информацию, связанную с сетевым интерфейсом (IP, IPv6, Netmask, Broadcast, Scope и HWAddress).

Я успешно реализовал его в Linux, но кажется, что заголовок ifaddrs.h отсутствует на вышеуказанных платформах (HP-UX, AIX, Solaris).

Каков рекомендуемый подход для этих платформ?


person Andrei Matei    schedule 09.12.2013    source источник
comment
См. stackoverflow.com/a/4139811/1187415, который также должен работать на Solaris и AIX и может быть расширен для IPv6 (думаю).   -  person Martin R    schedule 09.12.2013
comment
@MartinR: после того, как закомментировал запрос сетевой маски. он компилируется и запускается на HP-UX B.11.23 U ia64 со списком IP-адресов интерфейса (здесь нет IPv6, поэтому не тестировалось).   -  person alk    schedule 09.12.2013
comment
Для AIX я бы нашел открытую BSD-реализацию netstat или ifconfig. Концепции кода должны быть такими же, как и в AIX. Книги старого Стива тоже вам помогут. Я не удивлюсь, если getifaddrs не сделает ничего подобного, если он реализован в виде библиотечной процедуры.   -  person pedz    schedule 09.12.2013


Ответы (1)


Solaris 11 и более поздние версии имеют getifaddrs() уже в libsocket. Для более старых выпусков Solaris см. ответ на Solaris: программный интерфейс для ifconfig? здесь, на Переполнение стека.

person alanc    schedule 10.12.2013
comment
есть ли какая-нибудь библиотека для HP-UX, содержащая getifaddrs()? - person Andrei Matei; 27.02.2014