Solaris: программный интерфейс для ifconfig?

Я ищу программный интерфейс для Solaris ifconfig(1M) команда.

Очевидно, в Linux есть getifaddrs(3), но, насколько я могу судить, она не была перенесена в Solaris.

Помимо попытки использовать код по ссылке выше, есть ли способ определить ifconfig(1M) (сетевой интерфейс присутствие, состояние и т. д.) без разветвления системной команды и анализа вывода?


person David Citron    schedule 16.04.2010    source источник


Ответы (3)


У меня есть реализация здесь, только для IPv4, основанная на SIOCGIFCONF ioctl() и версии, не зависящей от семейства IP, с использованием SIOCGLIFCONF:

http://code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/getifaddrs.c

Протестировано на SPARC/Solaris 10 и x86/OpenSolaris 2008.11 и 2009.06, лицензия LGPL 2.1.

person Steve-o    schedule 09.08.2010

getifaddrs() недавно был интегрирован в исходный код будущих выпусков OpenSolaris и Solaris, но это не помогает вашему коду работать в текущих выпусках:

До тех пор вам нужно будет использовать SIOCGLIFCONF ioctl, множество примеров которых вы найдете в открытом исходном коде, включая опубликованную вами ссылку.

person alanc    schedule 16.04.2010
comment
getifaddrs() теперь доступен в Solaris 11 и более поздних версиях (это было в будущем, когда я писал выше в 2010 году, но был выпущен в 2011 году). - person alanc; 02.09.2014

Настоящие мужчины используют ioctl ;)

Взгляните на if(7P).

person Volker Stolz    schedule 16.04.2010