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_indextoname() は以下の errno で失敗する場合がある。

ENXIO
    インデックスに対応するインターフェースがない。

if_nametoindex() と if_indextoname() は、 socket(2) と ioctl(2) に対して規定されているエラーのいずれかで失敗する場合がある。

属性

  マルチスレッディング (pthreads(7) 参照)
関数 if_nametoindex() と if_indextoname() はスレッドセーフである。

準拠
RFC 3493, POSIX.1-2001. この関数は BSDi 初めて登場した。

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

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