if_nametoindex(3)

IF_NAMETOINDEX(3) Руководство программиста Linux 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)

2017-09-15 GNU