getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent - RPC
エントリーを取得する
#include <netdb.h>
struct rpcent *getrpcent(void);
struct rpcent *getrpcbyname(const 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
プログラム番号データベース
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
getrpcent(), getrpcbyname(), getrpcbynumber() |
Thread safety |
MT-Unsafe |
setrpcent(), endrpcent() |
Thread safety |
MT-Safe locale |
POSIX.1 にはない。 BSD 系、Solaris
や他の多くのシステムに存在する。
全ての情報は静的領域に格納される。
保存するためには全てをコピーする必要がある。
getrpcent_r(3),
rpc(5),
rpcinfo(8),
ypserv(8)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。