IF_NAMETOINDEX(3)

ИМЯ
if_nametoindex, if_indextoname - соответствие имён и индексов сетевых интерфейсов

ОБЗОР
#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_nametoindex() может завершиться с ошибкой и изменить errno если:

ENODEV
    Не найден интерфейс с заданным именем.

Функция 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.

СМОТРИТЕ ТАКЖЕ
getifaddrs(3), if_nameindex(3), ifconfig(8)