GETNETENT(3N) — NEWS-OS Programmer’s Manual
名称
getnetent, getnetbyaddr, getnetent, setnetent, endnetent − ネットワークエントリを得る
形式
#include <netdb.h>
struct netent ∗getnetent()
struct netent ∗getnetbyname(name)
char ∗name;
struct netent ∗getnetbyaddr(net, type)
long net;
int type;
setnetent(stayopen)
int stayopen;
endnetent()
解説
getnetentおよび getnetbyname、 getnetbyaddr はそれぞれ、 次のような構造を 持つ構造体へのポインタを 返します。 構造体は、 ネットワークデータベースの /etc/networks の中の 1行を いくつかに区切ったフィールドを 含んでいます。
struct netent{
char∗n_name;/∗ ネットワークの公式名 ∗/
char∗∗n_aliases;/∗ 別名リスト ∗/
int∗n_addrtype;/∗ ネットワーク番号の型 ∗/
unsigned longn_net;/∗ ネットワーク番号 ∗/
};
この構造体のメンバは、 次の通りです。
n_name ネットワークの公式名。
n_aliases ネットワーク用の別名のゼロで終わるリスト。
n_addrtype 返されるネットワーク番号の型、 現在のところ AF_INET のみ。
n_net ネットワーク番号。 ネットワーク番号は、 マシンのバイト順で返されます。
getnetent は、 必要ならファイルを オープンして、 ファイルの次の行を 読み込みます。
setnetent は、 ファイルをオープンして巻き戻します。 stayopen フラグがゼロでない値の場合、 ネットワークデータベースは、 getnetbyname または getnetbyaddr の各呼び出し後にクローズされることはありません。
endnetent は、ファイルを クローズします。
getnetbyname と getnetbyaddr は、 マッチするネットワーク名、 またはネットワークアドレスおよびタイプが見つかるまで、 あるいは EOF に出合うまで、 ファイルの先頭から順次に検索を行います。 ネットワーク番号は、 ホスト順に提供されます。
関連ファイル
/etc/networks
関連事項
networks(5), nis.conf(5), ypserv(8)
診断
EOF またはエラーのときには、 NULL ポインタ(0)が返されます。
バグ
すべての情報は、 静的領域の中に含まれているため、 セーブしようとする場合には、 コピーしなければなりません。 現在のところ、 インターネット番号だけが認識されます。 32ビット内にネットワーク番号が納まるよう期待しても おそらく裏切られるでしょう。
NEWS-OSRelease 4.1C