GETNETENT(3) FreeBSD ライブラリ関数マニュアル GETNETENT(3)
名称
getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent − ネットワー クエントリの取得 |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <netdb.h> struct netent * |
getnetent(void); struct netent * |
getnetbyname(const char *name); struct netent * |
getnetbyaddr(unsigned long net, int type); void |
setnetent(int stayopen); void |
endnetent(void); |
解説 |
getnetent(), getnetbyname(), getnetbyaddr() 関数はそれぞれ、次に示す構造 を持つオブジェクトへのポインタを返します。構造体には、ネットワークデータ ベース /etc/networks にある行の内訳フィールドが含まれます。 struct netent { char *n_name; /* ネットワークの正式名 */ char **n_aliases; /* 別名リスト */ int n_addrtype; /* ネット番号のタイプ */ unsigned long n_net; /* ネット番号 */ }; この構造体のメンバは次のとおりです。 |
n_name
ネットワークの正式名。 n_aliases n_addrtype n_net getnetent() 関数はファイルの次の行を読み込みます。この際、必要ならば目的 のファイルをオープンします。 setnetent() 関数は、目的のファイルをオープンしリワインドします。 stayopen フラグが 0 でなければ、 getnetbyname() または getnetbyaddr() のそれぞれの 呼び出しの後でも、ネットデータベースはクローズされません。 endnetent() 関数はファイルをクローズします。 getnetbyname() 関数および getnetbyaddr() は、適合するネット名またはネット アドレスおよびタイプが見つかるか、または EOF に達するまで、ファイルを最初 から順次検索します。 type は AF_INET でなければなりません。ネットワーク番 号はホストオーダで返されます。 関連ファイル |
/etc/networks
診断 |
EOF またはエラーの場合は、ヌルポインタ (0) が返ります。 |
関連項目
RFC 1101 |
歴史
getnetent(), getnetbyaddr(), getnetbyname(), setnetent(), endnetent() 関 数は、 4.2BSD で登場しました。 |
バグ
これらの関数で使用されるデータ空間は静的です。後でこのデータを使う必要が ある場合は、以後のこれら関数の呼び出しでデータが上書きされる前に、コピー して保存する必要があります。データとして受け入れられるのは現在、インター ネットネットワーク番号だけです。ネットワーク番号が 32 ビットを超えない範 囲に収まっていると期待するのは、おそらく素朴過ぎます。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |