if_nametoindex(3) ネットワークインターフェースの名前とインデックスのマッピングを行う

Other Alias

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 初めて登場した。

この文書について

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