getrpcent

Autres langues

Langue: ja

Version: 2007-05-18 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

名前

getrpcent, getrpcbyname, getrpcbynumber - RPC エントリを取得する

書式

 #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 */
 };
 

この構造体のメンバーは:

r_name
この rpc プログラムのサーバの名前
r_aliases
rpc プログラムの別名のリスト。ゼロで終端されている。
r_number
このサービスの rpc プログラム番号。

getrpcent() はファイルの次の行を読み込む。もし必要ならばファイルをオープンする。

setrpcent() はファイルをオープンして巻戻す。 stayopen フラグがゼロでなければ getrpcent() の呼び出しの後にネット・データベースはクローズされない。 (直接または間接的に他の ``getrpc'' 呼び出しどれかから呼び出される。)

endrpcent はファイルをクローズする。

getrpcbyname() と getrpcbynumber() はファイルの最初から一致する rpc プログラム名かプログラム番号が 見つかるか、ファイルの最後(end-of-file)に到達するまで、順番に 探していく。

返り値

EOF か エラーに遭遇した場合には NULL ポインターを返す。

ファイル

/etc/rpc

準拠

POSIX.1-2001 にはない。 BSD 系、Solaris や他の多くのシステムに存在する。

バグ

全ての情報は静的領域に格納される。 保存するためには全てをコピーする必要がある。

関連項目

rpc(5), rpcinfo(8), ypserv(8)