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.65 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。