if_indextoname(3) соответствие имён и индексов сетевых

Other Alias

if_nametoindex

ОБЗОР

#include <net/if.h>


unsigned int if_nametoindex(const char *ifname);

char *if_indextoname(unsigned int ifindex, char *ifname);

ОПИСАНИЕ

Функция if_nametoindex() возвращает индекс сетевого интерфейса, соответствующего имени ifname.

Функция if_indextoname() возвращает имя сетевого интерфейса, соответствующего индексу интерфейса ifindex. Имя помещается в буфер, указанный в ifname. Буфер должен позволять хранить не менее IF_NAMESIZE байт.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении if_nametoindex() возвращается номер индекса сетевого интерфейса; при ошибке возвращается 0, а errno устанавливается в соответствующее значение.

При удачном завершении if_indextoname() возвращается ifname; при ошибке возвращается NULL, а значение errno устанавливается соответствующим образом.

ОШИБКИ

Функция if_indextoname() может завершиться с ошибкой и изменить errno если:
ENXIO
Интерфейс по индексу не найден.

Также функции if_nametoindex() и if_indextoname() могут завершиться с ошибками, перечисленными в socket(2) или ioctl(2).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
ИнтерфейсАтрибутЗначение
if_nametoindex(), if_indextoname() безвредность в нитяхбезвредно (MT-Safe)

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008, RFC 3493.

Эта функция впервые появилась в BSDi.