aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man3/getrpcent.3
blob: a0fd2d1189d9d4aecc9651c107c8b67c39f49aa5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
.\" @(#)getrpcent.3n	2.2 88/08/02 4.0 RPCSRC; from 1.11 88/03/14 SMI
.\" $FreeBSD$
.Dd December 14, 1987
.Dt GETRPCENT 3
.Os
.Sh 名称
.Nm getrpcent ,
.Nm getrpcbyname ,
.Nm getrpcbynumber ,
.Nm endrpcent ,
.Nm setrpcent
.Nd RPC エントリを取得
.Sh 書式
.Fd #include <rpc/rpc.h>
.Ft struct rpcent *
.Fn getrpcent void
.Ft struct rpcent *
.Fn getrpcbyname "char *name"
.Ft struct rpcent *
.Fn getrpcbynumber "int number"
.Ft void
.Fn setrpcent "int stayopen"
.Ft void
.Fn endrpcent void
.Sh 解説
.Fn getrpcent
、
.Fn getrpcbyname
および
.Fn getrpcbynumber
関数はそれぞれ、次に
示す構造体を持つオブジェクトのポインタを返します。構造体には
rpc
プログラム番号データベース
.Pa /etc/rpc
にある、行の内訳フィールドが
含まれます。
.Bd -literal
struct  rpcent {
	char	*r_name;	/* この rpc プログラムのサーバ名 */
	char	**r_aliases;	/* エイリアスリスト */
	long	r_number;	/* rpc プログラム番号 */
};
.Ed
.Pp
この構造体のメンバは次のとおりです。
.Bl -tag -width r_aliasesxxx
.It Fa r_name
この rpc プログラムのサーバ名。
.It Fa r_aliases
rpc プログラムの、ゼロで終わる別名 (エイリアス) リスト。
.It Fa r_number
このサービスの rpc プログラム番号。
.El
.Pp
.Fn getrpcent
関数は、必要ならばファイルをオープンして次の行を読み込みます。
.Nm getrpcent
関数はファイルをオープンしリワインドします。
.Fa stayopen
フラグがゼロでなければ、 (直接呼び出しかまたは、ほかの
.Fn getrpcent
関数ファミリの 1 つを介しての間接呼び出しかにかかわらず) 、
.Fn getrpcent
の各呼び出しの後でネットデータベースはクローズされません。
.Pp
.Fn endrpcent
はファイルをクローズします。
.Pp
.Fn getrpcbyname
および
.Fn getrpcbynumber
関数は、適合する 
rpc 
プログラム名またはプログラム番号が見付かるか、またはエンドオブファイルに
出会うまで、最初から順次ファイルを検索します。
.Sh 関連ファイル
.Bl -tag -width /etc/rpc -compact
.It Pa /etc/rpc
.El
.Sh 関連項目
.Xr rpc 5 ,
.Xr rpcinfo 8 ,
.Xr ypserv 8
.Sh 診断
.Dv EOF
またはエラーの場合
.Dv NULL
ポインタが返ります。
.Sh バグ
すべての情報は静的領域に含まれるので、保存が必要な場合はコピー
しなければなりません。