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() | Thread safety | MT-Safe

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

この関数は BSDi 初めて登場した。

関連項目
getifaddrs(3), if_nameindex(3), ifconfig(8)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。