EN JA
GETRPCENT(3)
GETRPCENT(3) Linux Programmer's Manual GETRPCENT(3)

名前

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

書式


#include <netdb.h>


struct rpcent *getrpcent(void);


struct rpcent *getrpcbyname(char *name);


struct rpcent *getrpcbynumber(int number);


void setrpcent(int stayopen);


void endrpcent(void);

説明

getrpcent(), getrpcbyname(), getrpcbynumber() はそれぞれ以下の構造体へのポインタを返す。この構造体は 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 が 0 でない場合、一つ一つの getrpc*() 関数の呼び出し間でデータベースへの接続をクローズしない。

endrpcent() はデータベースへの接続をクローズする。

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

返り値

成功すると、 getrpcent(), getrpcbyname(), getrpcbynumber() は、静的に割り当てられた rpcent 構造体へのポインタを返す。 EOF かエラーに遭遇した場合には NULL ポインタを返す。

ファイル

/etc/rpc
RPC プログラム番号データベース

準拠

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

バグ

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

関連項目

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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2008-08-19