名 前
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/ に 書 か れ て い る 。