tail head cat sleep
QR code linking to this page

manページ  — GETNETENT

名称

getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent – ネットワークエントリの取得

内容

ライブラリ

Standard C Library (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
  ネットワークの別名 (エイリアス) の 0 で終わるリスト。
n_addrtype
  返されるネットワーク番号のタイプであり、現在は AF_INET だけです。
n_net
  ネットワーク番号。 ネットワーク番号は、マシンバイトオーダで返されます。

getnetent() 関数はファイルの次の行を読み込みます。 この際、必要ならば目的のファイルをオープンします。

setnetent() 関数は、目的のファイルをオープンしリワインドします。 stayopen フラグが 0 でなければ、 getnetbyname() または getnetbyaddr() のそれぞれの呼び出しの後でも、ネットデータベースはクローズされません。

endnetent() 関数はファイルをクローズします。

getnetbyname() 関数および getnetbyaddr() は、適合するネット名またはネットアドレスおよびタイプが見つかるか、または EOF に達するまで、ファイルを最初から順次検索します。 type AF_INET でなければなりません。 ネットワーク番号はホストオーダで返されます。

関連ファイル

/etc/networks
 

診断

EOF またはエラーの場合は、 ヌルポインタ (0) が返ります。

関連項目

networks(5)

RFC 1101

歴史

getnetent(), getnetbyaddr(), getnetbyname(), setnetent(), endnetent() 関数は、 BSD 4.2 で登場しました。

バグ

これらの関数で使用されるデータ空間は静的です。 後でこのデータを使う必要がある場合は、以後のこれら関数の呼び出しで データが上書きされる前に、コピーして保存する必要があります。 データとして受け入れられるのは現在、インターネットネットワーク番号だけです。 ネットワーク番号が 32 ビットを超えない範囲に収まっていると期待するのは、 おそらく素朴過ぎます。

GETNETENT (3) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

UNIX has been evolving feverishly for close to 30 years, sort of like bacteria in a cesspool — only not as attractive
— John Levine, "Unix for Dummies"