#include <netdb.h> struct rpcent *getrpcent() struct rpcent *getrpcbyname(name) char *name; struct rpcent *getrpcbynumber(number) int number; setrpcent(stayopen) int stayopen; endrpcent()
getrpcent(), getrpcbyname(), getrpcbynumber() はそれぞれ以下の構造体へのポインターを返す。 この構造体は rpc プログラム番号データベース /etc/rpc の各行のフィールドを含んでいる。
struct rpcent { char *r_name; /* name of server for this rpc program */ char **r_aliases; /* alias list */ long r_number; /* rpc program number */ };
この構造体のメンバーは:
getrpcent() はファイルの次の行を読み込む。もし必要ならばファイルをオープンする。
setrpcent() はファイルをオープンして巻戻す。 stayopen フラグがゼロでなければ getrpcent() の呼び出しの後にネット・データベースはクローズされない。 (直接または間接的に他の ``getrpc'' 呼び出しどれかから呼び出される。)
endrpcent はファイルをクローズする。
getrpcbyname() と getrpcbynumber() はファイルの最初から一致する rpc プログラム名かプログラム番号が 見つかるか、ファイルの最後(end-of-file)に到達するまで、順番に 探していく。
EOF か エラーに遭遇した場合には NULL ポインターを返す。
全ての情報は静的領域に格納される。 保存するためには全てをコピーする必要がある。