#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 */ };
この構造体のメンバーは以下の通り。
getrpcent() はファイルの次のエントリを読み込む。 必要ならばデータベースへの接続がオープンされる。
setrpcent() はデータベースへの接続をオープンし、 次の読み込みエントリを先頭のエントリに設定する。 stayopen が 0 でない場合、 一つ一つの getrpc*() 関数の呼び出し間でデータベースへの接続をクローズしない。
endrpcent() はデータベースへの接続をクローズする。
getrpcbyname() と getrpcbynumber() はファイルの最初から一致する RPC プログラム名かプログラム番号が 見つかるか、ファイルの最後 (end-of-file) に到達するまで、順番に 探していく。