| 総合手引 | セクション 4 | English | オプション |
ifmib 機能は sysctl(3) MIB の "net.link.generic" ブランチ経由でアクセスされます。 sysctl(3) name のそれぞれのレベルの明白な定数は < net/if_mib.h> で定義されます。 インタフェースの総数 (そしてつまり表の行数) は "net.link.generic.system.ifcount" (または、明白な定数である CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_SYSTEM, IFMIB_IFCOUNT) によって与えられます。 特定のインタフェースを検索する管理アプリケーションは、1 番目の行から 開始し、指定されたインタフェースが検出されるか、インタフェースの総数に 達するまで、行から行へと表を移動します。
すべてのインタフェースに共通な、一般的なインタフェース情報は下記の手順で アクセスできます:
int
get_ifmib_general(int row, struct ifmibdata *ifmd)
{
int name[6];
name[0] = CTL_NET;
name[1] = PF_LINK;
name[2] = NETLINK_GENERIC;
name[3] = IFMIB_IFDATA;
name[4] = row;
name[5] = IFDATA_GENERAL;
return sysctl(name, 6, ifmd, sizeof *ifmd, (void *)0, 0);
}
ifmibdata 構造体 のフィールドは下記のとおりです:
| ifmd_name | (char []) ユニット番号を含む、インタフェースの名前 |
| ifmd_pcount | (int) 無差別に接続を待っている数 |
| ifmd_flags | (int) インタフェースのフラグ ( < net/if.h> で定義されています) |
| ifmd_snd_len | (int) 送信キューの現在の瞬間的な長さ |
| ifmd_snd_drops | (int) 送信キューが一杯だったためこのインタフェースがドロップしたパケット数 |
| ifmd_data | (struct if_data) < net/if.h> に定義されている構造体からの詳細情報 (if_data(9) [英語] を参照して下さい) |
クラス固有な情報は IFDATA_LINKSPECIFIC 列を代わりに調べることによって取得できます。構造体の形式および長さは インタフェースのクラスに依存することに注意して下さい。 IFT_ETHER, IFT_ISO88023, IFT_STARLAN インタフェースについては, 構造体は "struct ifmib_iso_8802_3" ( < net/if_mib.h> で定義されています) と呼ばれていて、 イーサネットライクなネットワークのための RFC 1650 MIB のスーパセットを実装しています。 IFT_SLIP については, 構造体は "struct sl_softc" (< net/if_slvar.h>) です。
, RFC 1650, Definitions of Managed Objects for the Ethernet-like Interface Types Using SMIv2, 1994年 8月.
| FreeBSD 2.2 | IFMIB (4) | November 15, 1996 |
| 総合手引 | セクション 4 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
| “ | Do you laugh when the waiter drops a tray full of dishes? Unix weenies do. They're the first ones to laugh at hapless users, trying to figure out an error message that doesn't have anything to do with what they just typed. | ” |
| — The Unix Haters' handbook | ||