OSDN Git Service

(split) LDP v3.24 -> v3.29 の定型的な変更内容を反映。
[linuxjm/LDP_man-pages.git] / release / man3 / rpc.3
1 .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
2 .\"
3 .\" @(#)rpc.3n  2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI
4 .\"
5 .\" 2007-12-30, mtk, Convert function prototypes to modern C syntax
6 .\"
7 .\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
8 .\"         all rights reserved.
9 .\" Translated Tue Jan  4 20:48:23 JST 2000
10 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
11 .\" Updated & Modified Sun Oct 21 01:07:09 JST 2001
12 .\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
13 .\"
14 .TH RPC 3 2008-07-17 "" "Linux Programmer's Manual"
15 .SH Ì¾Á°
16 rpc \- ±ó³Ö¼ê³¤­¸Æ¤Ó½Ð¤·(RPC)¤Î¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó
17 .SH ½ñ¼°¤ÈÀâÌÀ
18 ¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤Ï C ¥×¥í¥°¥é¥à¤Ç¥Í¥Ã¥È¥ï¡¼¥¯¤òÄ̤·¤Æ
19 ¾¤Î¥Þ¥·¥ó¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥×¥í¥·¥¸¥ã¤òºîÀ®¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£
20 ºÇ½é¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¥Ç¡¼¥¿¥Ñ¥±¥Ã¥È¤ò¥µ¡¼¥Ð¤ËÁ÷¤ë¤¿¤á¤Ë
21 ¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
22 ¥µ¡¼¥Ð¤Ï¥Ñ¥±¥Ã¥È¤ò¼õ¤±¼è¤ë¤È¡¢ÇÛʬ¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤·¤Æ
23 Í׵ᤵ¤ì¤¿¥µ¡¼¥Ó¥¹¤Ë¼Â¹Ô¤·¡¢ÊÖÅú¤òÁ÷¤êÊÖ¤¹¡£
24 ºÇ¸å¤Ë¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ø¤ÈÌá¤ë¡£
25 .\" .LP
26 .\" º£¸½ºß¤Ï rpc_secure.3 ¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤ -- MTK, 19 Sep 05
27 .\" (DES Ç§¾Ú¤Ë¤è¤ë) Secure RPC ¤Ç»ÈÍѤµ¤ì¤ë¥ë¡¼¥Æ¥£¥ó¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤Ï
28 .\" .BR rpc_secure (3)
29 .\" ¤Ë¸ºß¤¹¤ë¡£ Secure RPC ¤Ï DES Ç§¾Ú¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¤Ë¤Î¤ß»ÈÍѤǤ­¤ë¡£
30 .LP
31 ¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë
32 .I "<rpc/rpc.h>"
33 ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤³¤È¡£
34
35 ²¼µ­¤Î¥×¥í¥È¥¿¥¤¥×¤Ç¤Ï¼¡¤Î·¿¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
36 .in +4n
37 .nf
38
39 typedef int \fIbool_t\fP;
40
41 typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...);
42
43 typedef bool_t (*\fIresultproc_t\fP) (caddr_t resp,
44                                 struct sockaddr_in *raddr);
45 .fi
46 .in
47 .LP
48 ·¿
49 .IR AUTH ,
50 .IR CLIENT ,
51 .IR SVCXPRT ,
52 .IR XDR
53 ¤ÎÀë¸À¤Ë¤Ä¤¤¤Æ¤Ï¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò»²¾È¡£
54 .LP
55 .nf
56 .BI "void auth_destroy(AUTH *" auth );
57 .fi
58 .IP
59 ¤³¤Î¥Þ¥¯¥í¤Ï
60 .I auth
61 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç§¾Ú¾ðÊó¤òÇ˲õ¤¹¤ë¡£Ç˲õ¤ÏÄ̾ï¤Ï»äŪ¤Ê¥Ç¡¼¥¿¹½Â¤¤Î
62 ÇË´þ¤ò´Þ¤ó¤Ç¤¤¤ë¡£
63 .BR auth_destroy ()
64 ¤ò¸Æ¤Ó½Ð¤·¤¿¸å¤Ë
65 .I auth
66 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
67 .LP
68 .nf
69 .BI "AUTH *authnone_create(void);"
70 .fi
71 .IP
72 ³Æ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Ç»ÈÍѤǤ­¤Ê¤¤²¾¤Îǧ¾Ú¾ðÊó¤È¤·¤ÆÅϤµ¤ì¤ë
73 RPC Ç§¾Ú¥Ï¥ó¥É¥ë¤òºîÀ®¤·¤ÆÊÖ¤¹¡£
74 ¤³¤ì¤Ï RPC ¤Ç»ÈÍѤµ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Îǧ¾Ú¤Ç¤¢¤ë¡£
75 .LP
76 .nf
77 .BI "AUTH *authunix_create(char *" host ", int " uid ", int " gid ,
78 .BI "                      int " len ", int *" aup_gids );
79 .fi
80 .IP
81 ǧ¾Ú¾ðÊó¤ò´Þ¤ó¤À RPC Ç§¾Ú¥Ï¥ó¥É¥ë¤òºîÀ®¤·¤ÆÊÖ¤¹¡£
82 .I host
83 ¥Ñ¥é¥á¡¼¥¿¡¼¤Ï¾ðÊ󤬺îÀ®¤µ¤ì¤¿¥Þ¥·¥ó¤Î̾Á°¤Ç¤¢¤ë¡£
84 .I uid
85 ¤Ï¤½¤Î¥æ¡¼¥¶¤Î¥æ¡¼¥¶
86 .SM ID
87 ¡¢
88 .I gid
89 ¤Ï¤½¤Î¥æ¡¼¥¶¤Î¸½ºß¤Î¥°¥ë¡¼¥×
90 .SM ID
91 ¤Ç¤¢¤ë¡£
92 .I len
93 ¤È
94 .I aup_gids
95 ¤Ï¤½¤Î¥æ¡¼¥¶¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×¤ÎÇÛÎó¤ò»²¾È¤·¤Æ¤¤¤ë¡£
96 ¾¤Î¥æ¡¼¥¶¤Ë¤Ê¤ê¤¹¤Þ¤¹¤³¤È¤Ï´Êñ¤Ç¤¢¤ë¡£
97 .LP
98 .nf
99 .BI "AUTH *authunix_create_default(void);"
100 .fi
101 .IP
102 ŬÀڤʥѥé¥á¡¼¥¿¡¼¤Ç
103 .BR authunix_create ()
104 ¤ò¸Æ¤Ó½Ð¤¹¡£
105 .LP
106 .nf
107 .BI "int callrpc(char *" host ", unsigned long " prognum ,
108 .BI "            unsigned long " versnum ", unsigned long " procnum ,
109 .BI "            xdrproc_t " inproc ", char *" in ,
110 .BI "            xdrproc_t " outproc ", char *" out );
111 .fi
112 .IP
113 ¥Þ¥·¥ó
114 .I host
115 ¾å¤Ç
116 .IR prognum ,
117 .IR versnum ,
118 .I procnum
119 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
120 ¥Ñ¥é¥á¡¼¥¿¡¼
121 .I in
122 ¤Ï¥×¥í¥·¥¸¥ã¤Î°ú¤­¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê
123 .I out
124 ¤Ï·ë²Ì¤ò³ÊǼ¤¹¤ë¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
125 .I inproc
126 ¤Ï¥×¥í¥·¥¸¥ã¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¡¢
127 .I outproc
128 ¤Ï·ë²Ì¤ò¥Ç¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
129 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï
130 .B "enum clnt_stat"
131 ¤òÀ°¿ô¤Ë¥­¥ã¥¹¥È¤·¤¿ÃͤòÊÖ¤¹¡£
132 .BR clnt_perrno ()
133 ¥ë¡¼¥Æ¥£¥ó¤¬¼ºÇԤξõÂÖ¤ò¥á¥Ã¥»¡¼¥¸¤ËÊÑ´¹¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤ë¡£
134 .IP
135 ·Ù¹ð: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ç¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¤ÈÄÌ¿®¤Ë¤Ï
136 UDP/IP ¤¬»ÈÍѤµ¤ì¤ë¡£¤³¤ÎºÝ¤ÎÀ©¸Â¤Ë¤Ä¤¤¤Æ¤Ï
137 .BR clntudp_create ()
138 ¤ò»²¾È¤¹¤ë¤³¤È¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ò»ÈÍѤ·¤Æǧ¾Ú¤ä»þ´ÖÀÚ¤ì¤ÎÀ©¸æ¤ò
139 ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
140 .LP
141 .nf
142 .BI "enum clnt_stat clnt_broadcast(unsigned long " prognum ,
143 .BI "                     unsigned long " versnum ", unsigned long " procnum ,
144 .BI "                     xdrproc_t " inproc ", char *" in ,
145 .BI "                     xdrproc_t " outproc ", char *" out ,
146 .BI "                     resultproc_t " eachresult );
147 .fi
148 .IP
149 .BR callrpc ()
150 ¤ÈƱÍͤǤ¢¤ë¤¬¡¢¥á¥Ã¥»¡¼¥¸¤¬¥í¡¼¥«¥ë¤Î¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¡¦¥Í¥Ã¥È¥ï¡¼¥¯
151 Á´ÂÎ¤Ø¤È¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤µ¤ì¤ëÅÀ¤¬°Û¤Ã¤Æ¤¤¤ë¡£²óÅú¤ò¼õ¤±¼è¤ëÅÙ¤Ë
152 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï°Ê²¼¤Î·Á¼°¤Î
153 .BR eachresult ()
154 ¤ò¸Æ¤Ó½Ð¤¹¡£
155 .IP
156 .in +4n
157 .nf
158 .BI "eachresult(char *" out ", struct sockaddr_in *" addr );
159 .fi
160 .in
161 .IP
162 ¤³¤³¤Ç
163 .I out
164 ¤Ï
165 .BR clnt_broadcast ()
166 ¤ËÅϤµ¤ì¤ë
167 .I out
168 ¤ÈƱ¤¸¤Ç¤¢¤ë¤¬¡¢¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤«¤é¤Î½ÐÎϤ¬¥Ç¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë
169 ÅÀ¤Î¤ß¤¬°Û¤Ã¤Æ¤¤¤ë¡£
170 .I addr
171 ¤Ï·ë²Ì¤òÁ÷¤Ã¤ÆÍ褿¥Þ¥·¥ó¤Î¥¢¥É¥ì¥¹¤ò»Ø¤·¤Æ¤¤¤ë¡£
172 .BR eachresult ()
173 ¤¬¥¼¥í¤òÊÖ¤·¤¿¾ì¹ç¡¢
174 .BR clnt_broadcast ()
175 ¤Ï¤µ¤é¤Ê¤ë²óÅú¤òÂԤġ£¤½¤¦¤Ç¤Ê¤±¤ì¤ÐŬÀڤʾõÂ֤ǽªÎ»¤¹¤ë¡£
176 .IP
177 ·Ù¹ð: ¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¡¦¥½¥±¥Ã¥È¤Ï¥Ç¡¼¥¿¥ê¥ó¥¯ÁؤκÇÂçžÁ÷ñ°Ì¤Ë
178 À©¸Â¤µ¤ì¤Æ¤¤¤ë¡£¥¤¡¼¥µ¥Í¥Ã¥È¤Î¾ì¹ç¡¢ºÇÂçÃͤϠ1500 ¥Ð¥¤¥È¤Ç¤¢¤ë¡£
179 .LP
180 .nf
181 .BI "enum clnt_stat clnt_call(CLIENT *" clnt ", unsigned long " procnum ,
182 .BI "                    xdrproc_t " inproc ", char *" in ,
183 .BI "                    xdrproc_t " outproc ", char *" out ,
184 .BI "                    struct timeval " tout );
185 .fi
186 .IP
187 ¤³¤Î¥Þ¥¯¥í¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ï¥ó¥É¥ë
188 .I clnt
189 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿
190 .I procnum
191 ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
192 ¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ï¥ó¥É¥ë¤Ï
193 .BR clnt_create ()
194 ¤Î¤è¤¦¤Ê
195 .SM RPC
196 ¥¯¥é¥¤¥¢¥ó¥ÈºîÀ®¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¡£
197 ¥Ñ¥¿¥á¡¼¥¿
198 .I in
199 ¤Ï¥×¥í¥·¥¸¥ã¤Î°ú¤­¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
200 .I out
201 ¤Ï¥×¥í¥·¥¸¥ã¤ÎÊÖ¤êÃͤò³ÊǼ¤¹¤ë¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
202 .I inproc
203 ¤Ï¥×¥í¥·¥¸¥ã¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
204 .I outproc
205 ¤Ï¥×¥í¥·¥¸¥ã¤ÎÊÖ¤êÃͤò¥Ç¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
206 .I tout
207 ¤Ï·ë²Ì¤¬ÊÖ¤µ¤ì¤ë¤Î¤òÂԤĻþ´Ö¤Ç¤¢¤ë¡£
208 .LP
209 .nf
210 .BI "clnt_destroy(CLIENT *" clnt );
211 .fi
212 .IP
213 ¤³¤Î¥Þ¥¯¥í¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î RPC ¥Ï¥ó¥É¥ë¤òÇ˲õ¤¹¤ë¡£Ç˲õ¤Ë¤ÏÄ̾ï¤Ï
214 .I clnt
215 ¼«¿È¤â´Þ¤á¤Æ»äŪ¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤÎÇË´þ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
216 .BR clnt_destroy ()
217 ¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ë
218 .I clnt
219 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
220 RPC ¥é¥¤¥Ö¥é¥ê¤¬´ØÏ¢¤¹¤ë¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
221 ¤½¤ì¤âÊĤ¸¤é¤ì¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï¥½¥±¥Ã¥È¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¤Þ¤Þ¤Ç¤¢¤ë¡£
222 .LP
223 .nf
224 .BI "CLIENT *clnt_create(char *" host ", unsigned long " prog ,
225 .BI "                    unsigned long " vers ", char *" proto );
226 .fi
227 .IP
228 °ìÈÌŪ¤Ê¥¯¥é¥¤¥¢¥ó¥È¤ÎºîÀ®¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
229 .I host
230 ¤Ï¥µ¡¼¥Ð¤Î¤¢¤ë¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤ò»ØÄꤹ¤ë¡£
231 .I proto
232 ¤É¤Î¤è¤¦¤ÊÄÌ¿®¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ë¡£¸½ºß¤³¤³¤Ë
233 »ÈÍѤǤ­¤ëÃͤϠ\(lqudp\(rq ¤È \(lqtcp\(rq ¤Ç¤¢¤ë¡£
234 ¥Ç¥Õ¥©¥ë¥È¤Î»þ´ÖÀڤ줬ÀßÄꤵ¤ì¤ë¤¬¡¢
235 .BR clnt_control ()
236 ¤ò»ÈÍѤ·¤ÆÊѹ¹²Äǽ¤Ç¤¢¤ë¡£
237 .IP
238 ·Ù¹ð:
239 UDP ¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï·çÅÀ¤¬¤¢¤ë¡£
240 UDP ¤Ë´ð¤Å¤¤¤¿ RPC ¥á¥Ã¥»¡¼¥¸¤Ï
241 ºÇÂç¤Ç¤â 8 KByte ¤Î¥¨¥ó¥³¡¼¥É¥Ç¡¼¥¿¤·¤«ÊÝ»ý¤¹¤ë
242 ¤³¤È¤¬¤Ç¤­¤Ê¤¤¤¿¤á¡¢Â礭¤Ê°ú¤­¿ô¤äµðÂç¤Ê·ë²Ì¤ò¼è¤ë¥×¥í¥·¥¸¥ã¤Ë
243 ¤Ï»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
244 .LP
245 .nf
246 .BI "bool_t clnt_control(CLIENT *" cl ", int " req ", char *" info );
247 .fi
248 .IP
249 ¤³¤Î¥Þ¥¯¥í¤Ï³Æ¼ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ä¤¤¤Æ¾ðÊó¤òÊѹ¹¤·¤¿¤ê¡¢¼èÆÀ¤·¤¿¤ê
250 ¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡£
251 .I req
252 ¤ÏÁàºî¤Î¼ïÎà¤ò»ØÄꤹ¤ë¡£
253 .I info
254 ¤Ï¾ðÊó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
255 UDP ¤È TCP ¤É¤Á¤é¤Î¾ì¹ç¤â»ÈÍѲÄǽ¤Ê
256 .I req
257 ¤ÎÃͤȡ¢¤½¤Î°ú¤­¿ô¤Î·¿¡¢¤ª¤è¤Ó¤½¤ÎÆâÍƤϰʲ¼¤ÎÄ̤ê¤Ç¤¢¤ë:
258 .IP
259 .in +4n
260 .nf
261 .ta +2.0i +2.0i +2.0i
262 \fBCLSET_TIMEOUT\fP  \fIstruct timeval\fP // »þ´ÖÀÚ¤ì¤òÀßÄꤹ¤ë
263 \fBCLGET_TIMEOUT\fP  \fIstruct timeval\fP // »þ´ÖÀÚ¤ì¤ò¼èÆÀ¤¹¤ë
264 .fi
265 .in
266 .IP
267 Ãí°Õ:
268 .BR clnt_control ()
269 ¤ò»ÈÍѤ·¤Æ»þ´ÖÀÚ¤ì¤òÀßÄꤷ¤¿¾ì¹ç¤Ë¤Ï¤½¤ì°Ê¸å¤Ï
270 .BR clnt_call ()
271 ¤ËÅϤµ¤ì¤ë»þ´ÖÀÚ¤ì¥Ñ¥é¥á¡¼¥¿¡¼¤ÏÁ´¤Æ̵»ë¤µ¤ì¤ë¡£
272 .IP
273 .in +4n
274 .nf
275 \fBCLGET_SERVER_ADDR\fP  \fIstruct sockaddr_in \fP // ¥µ¡¼¥Ð¥¢¥É¥ì¥¹¤ò¼èÆÀ¤¹¤ë
276 .fi
277 .in
278 .IP
279 °Ê²¼¤ÎÁàºî¤Ï UDP ¤Î¾ì¹ç¤Ë¤Î¤ßÍ­¸ú¤Ç¤¢¤ë:
280 .IP
281 .in +4n
282 .nf
283 \fBCLSET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // ºÆÁ÷´Ö³Ö¤òÀßÄꤹ¤ë
284 \fBCLGET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // ºÆÁ÷´Ö³Ö¤ò¼èÆÀ¤¹¤ë
285 .fi
286 .in
287 .IP
288 ºÆÁ÷´Ö³Ö¤Ï¼¡¤ËÍ×µá¤òºÆÁ÷¤¹¤ëÁ°¤Ë
289 "UDP RPC" ¤¬¥µ¡¼¥Ð¤Î²óÅú¤òÂԤĻþ´Ö¤Ç¤¢¤ë¡£
290 .LP
291 .nf
292 .BI "clnt_freeres(CLIENT * " clnt ", xdrproc_t " outproc ", char *" out );
293 .fi
294 .IP
295 ¤³¤Î¥Þ¥¯¥í¤Ï RPC ¸Æ¤Ó½Ð¤·¤Î·ë²Ì¤Î¥Ç¥³¡¼¥É¤ÎºÝ¤Ë
296 RPC/XDR ¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ³äÅö¤Æ¤é¤ì¤¿¥Ç¡¼¥¿¤ò²òÊü¤¹¤ë¡£
297 ¥Ñ¥é¥á¡¼¥¿¡¼
298 .I out
299 ¤Ï·ë²Ì¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
300 .I outproc
301 ¤Ï·ë²Ì¤òµ­½Ò¤·¤Æ¤¤¤ë XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
302 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï·ë²Ì¤Î²òÊü¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
303 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
304 .LP
305 .nf
306 .BI "void clnt_geterr(CLIENT *" clnt ", struct rpc_err *" errp );
307 .fi
308 .IP
309 ¤³¤Î¥Þ¥¯¥í¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ï¥ó¥É¥ë¤Î¥¨¥é¡¼¹½Â¤ÂΤò
310 .I errp
311 ¥¢¥É¥ì¥¹¤Ç»ØÄꤵ¤ì¤¿¹½Â¤ÂΤإ³¥Ô¡¼¤¹¤ë¡£
312 .LP
313 .nf
314 .BI "void clnt_pcreateerror(char *" s );
315 .fi
316 .IP
317 ɸ½à¥¨¥é¡¼½ÐÎϤˡ¢¤Ê¤¼¥¯¥é¥¤¥¢¥ó¥È RPC ¥Ï¥ó¥É¥ë¤ÎºîÀ®¤¬
318 ¤Ç¤­¤Ê¤«¤Ã¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
319 ¥á¥Ã¥»¡¼¥¸¤ÎÁ°¤Ëʸ»úÎó
320 .I s
321 ¤È¥³¥í¥ó(:)¤¬É½¼¨¤µ¤ì¤ë¡£
322 .BR clnt_create (),
323 .BR clntraw_create (),
324 .BR clnttcp_create (),
325 .BR clntudp_create ()
326 ¤Î¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿»þ¤Ë»ÈÍѤ¹¤ë¤³¤È¡£
327 .LP
328 .nf
329 .BI "void clnt_perrno(enum clnt_stat " stat );
330 .fi
331 .IP
332 ɸ½à¥¨¥é¡¼½ÐÎϤË
333 .I stat
334 ¤Ë¤è¤Ã¤Æ»Ø¼¨¤µ¤ì¤ë¥¨¥é¡¼¾õÂÖ¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
335 .BR callrpc ()
336 ¤Î¸å¤Ë»ÈÍѤ¹¤ë¤³¤È¡£
337 .LP
338 .nf
339 .BI "clnt_perror(CLIENT *" clnt ", char *" s );
340 .fi
341 .IP
342 ɸ½à¥¨¥é¡¼½ÐÎϤˡ¢¤Ê¤¼ RPC ¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
343 .I clnt
344 ¤Ï¥³¡¼¥ë¤Ë»ÈÍѤ·¤¿¥Ï¥ó¥É¥ë¤Ç¤¢¤ë¡£
345 ¥á¥Ã¥»¡¼¥¸¤ÎÁ°¤Ëʸ»úÎó
346 .I s
347 ¤È¥³¥í¥ó(:)¤¬É½¼¨¤µ¤ì¤ë¡£
348 .BR clnt_call ()
349 ¤¬¼ºÇÔ¤·¤¿¸å¤Ë»ÈÍѤ¹¤ë¤³¤È¡£
350 .LP
351 .nf
352 .BI "char *clnt_spcreateerror(char *" s );
353 .fi
354 .IP
355 .BR clnt_pcreateerror ()
356 ¤ÈƱÍͤǤ¢¤ë¤¬¡¢É¸½à¥¨¥é¡¼½ÐÎϤØɽ¼¨¤¹¤ë¤«¤ï¤ê¤Ëʸ»úÎó¤òÊÖ¤¹ÅÀ¤¬°Û¤Ã¤Æ¤¤¤ë¡£
357 .IP
358 ¥Ð¥°: ÀÅŪ¤ÊÎΰè¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¤¿¤á¡¢¸Æ¤Ó½Ð¤·¤´¤È¤Ë¾å½ñ¤­¤µ¤ì¤ë¡£
359 .LP
360 .nf
361 .BI "char *clnt_sperrno(enum clnt_stat " stat );
362 .fi
363 .IP
364 .BR clnt_perrno ()
365 ¤ÈƱ¤¸°ú¤­¿ô¤ò¼è¤ë¤¬¡¢¤Ê¤¼
366 RPC ¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɸ½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¤¹¤ë
367 ¤«¤ï¤ê¤Ë¡¢¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤·¤Æ¤¤¤ëʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
368 ʸ»úÎó¤Ï NEWLINE(²þ¹Ô) ¤Ç½ª¤Ã¤Æ¤¤¤ë¡£
369 .IP
370 .BR clnt_sperrno ()
371 ¤Ï¥×¥í¥°¥é¥à¤¬É¸½à¥¨¥é¡¼½ÐÎϤò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç(¥×¥í¥°¥é¥à¤¬¥µ¡¼¥Ð¤È¤·
372 ¤ÆÁö¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤è¤¯¤¢¤ê¤¨¤ë)¤ä¡¢¥×¥í¥°¥é¥Þ¡¼¤¬¥á¥Ã¥»¡¼¥¸¤ò
373 .BR printf (3)
374 ¤Ç½ÐÎϤ¹¤ë¤³¤È¤ò˾¤Þ¤Ê¤¤¾ì¹ç¤ä¡¢¥á¥Ã¥»¡¼¥¸¤Î·Á¼°¤¬
375 .BR clnt_perrno ()
376 ¤¬¥µ¥Ý¡¼¥È¤¹¤ë¤â¤Î¤È¤Ï°Û¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ë
377 .BR clnt_perrno ()
378 ¤Î¤«¤ï¤ê¤Ë»ÈÍѤµ¤ì¤ë¡£
379 Ãí°Õ:
380 .BR clnt_sperror ()
381 ¤ä
382 .BR clnt_spcreaterror ()
383 ¤È¤Ï°ã¤Ã¤Æ
384 .BR clnt_sperrno ()
385 ¤ÏÀÅŪ¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£¤·¤«¤·¸Æ¤Ó½Ð¤·¤´¤È¤Ë¾å½ñ¤­¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
386 .LP
387 .nf
388 .BI "char *clnt_sperror(CLIENT *" rpch ", char *" s );
389 .fi
390 .IP
391 .BR clnt_perror ()
392 ¤ÈƱÍͤǤ¢¤ë¤¬¡¢É¸½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¤¹¤ëÂå¤ê¤Ë
393 .RB ( clnt_sperrno ()
394 ¤Î¤è¤¦¤Ë) Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹ÅÀ¤¬°Û¤Ã¤Æ¤¤¤ë¡£
395 .IP
396 ¥Ð¥°: ¸Æ¤Ó½Ð¤·¤´¤È¤Ë¾å½ñ¤­¤µ¤ì¤ëÀÅŪ¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
397 .LP
398 .nf
399 .BI "CLIENT *clntraw_create(unsigned long " prognum \
400 ", unsigned long " versnum );
401 .fi
402 .IP
403 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
404 .IR prognum ¡¢
405 ¥Ð¡¼¥¸¥ç¥ó
406 .I versnum
407 ¤Î¤¿¤á¤Îµ¼»÷ RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ó¥¹¤ËÅϤ¹¤¿¤á¤Ë»ÈÍѤ¹¤ë
408 ÄÌ¿®¤Ï¼ÂºÝ¤Ë¤Ï¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¢¤ë¥Ð¥Ã¥Õ¥¡¡¼¤Ç¤¢¤ë¡£
409 ¤½¤ì¤Ç¡¢Âбþ¤¹¤ë RPC ¥µ¡¼¥Ð¤¬Æ±¤¸¥¢¥É¥ì¥¹¶õ´Ö¤ÎÃæ¤Ë¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
410 .BR svcraw_create ()
411 ¤ò»²¾È¤¹¤ë¤³¤È¡£
412 ¤³¤ì¤Ë¤è¤ê RPC ¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ä¡¢¥«¡¼¥Í¥ë¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë±Æ¶Á¤µ¤ì¤º¤Ë
413 ±þÅú»þ´Ö¤Ê¤É¤Î RPC ¥ª¡¼¥Ð¥Ø¥Ã¥É¤Î³ÍÆÀ¤¬¤Ç¤­¤ë¡£
414 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï NULL ¤òÊÖ¤¹¡£
415 .LP
416 .nf
417 .BI "CLIENT *clnttcp_create(struct sockaddr_in *" addr ,
418 .BI "                unsigned long " prognum ", unsigned long " versnum ,
419 .BI "                int *" sockp ", unsigned int " sendsz \
420 ", unsigned int " recvsz );
421 .fi
422 .IP
423 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
424 .IR prognum ¡¢
425 ¥Ð¡¼¥¸¥ç¥ó
426 .I versnum
427 ¤Î¤¿¤á¤Î RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤ÏÄÌ¿®¤Ë
428 TCP/IP ¤ò»ÈÍѤ¹¤ë¡£¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥¢¥É¥ì¥¹¤Î
429 .I *addr
430 ¤Ë¤¢¤ë¡£
431 .\"The following inline font conversion is necessary for the hyphen indicator
432 \fIaddr\->sin_port\fR ¤¬¥¼¥í¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤¬
433 listen ¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤¬ÀßÄꤵ¤ì¤ë¡£(¤³¤Î¾ðÊó¤Î¤¿¤á¤Ë¥ê¥â¡¼¥È¤Î
434 .B portmap
435 ¥µ¡¼¥Ó¥¹¤¬ÍøÍѤµ¤ì¤ë¡£) ¥Ñ¥é¥á¡¼¥¿¡¼
436 .I sockp
437 ¤Ï¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£¤â¤·¤³¤ì¤¬
438 .B RPC_ANYSOCK
439 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¿·¤·¤¤¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ
440 .I sockp
441 ¤ËÀßÄꤹ¤ë¡£
442 TCP ¤Ë´ð¤Å¤¤¤¿ RPC ¤Ï¥Ð¥Ã¥Õ¥¡¤µ¤ì¤¿ I/O
443 ¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢¥æ¡¼¥¶¤Ï¥Ñ¥é¥á¡¼¥¿¡¼
444 .I sendsz
445 ¤È
446 .I recvsz
447 ¤ò»ÈÍѤ·¤ÆÁ÷¿®¥Ð¥Ã¥Õ¥¡¤È¼õ¿®¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
448 ¥¼¥í¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤ÏŬÀڤʥǥե©¥ë¥È¤¬ÁªÂò¤µ¤ì¤ë¡£
449 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
450 .LP
451 .nf
452 .BI "CLIENT *clntudp_create(struct sockaddr_in *" addr ,
453 .BI "                unsigned long " prognum ", unsigned long " versnum ,
454 .BI "                struct timeval " wait ", int *" sockp );
455 .fi
456 .IP
457 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
458 .IR prognum ¡¢
459 ¥Ð¡¼¥¸¥ç¥ó
460 .I versnum
461 ¤Î¤¿¤á¤Î RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤ÏÄÌ¿®¤Ë
462 UDP/IP ¤ò»ÈÍѤ¹¤ë¡£¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥¢¥É¥ì¥¹¤Î
463 .I *addr
464 ¤Ë¤¢¤ë¡£
465 \fIaddr\->sin_port\fR ¤¬¥¼¥í¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤¬
466 listen ¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤¬ÀßÄꤵ¤ì¤ë¡£(¤³¤Î¾ðÊó¤Î¤¿¤á¤Ë¥ê¥â¡¼¥È¤Î
467 .B portmap
468 ¥µ¡¼¥Ó¥¹¤¬ÍøÍѤµ¤ì¤ë¡£) ¥Ñ¥é¥á¡¼¥¿¡¼
469 .I sockp
470 ¤Ï¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£¤â¤·¤³¤ì¤¬
471 .B RPC_ANYSOCK
472 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¿·¤·¤¤¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ
473 .I sockp
474 ¤ËÀßÄꤹ¤ë¡£
475 UDP ÄÌ¿®¤Ï²óÅú¤¬¤¢¤ë¤«¡¢»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç
476 .B wait
477 ´Ö³Ö¤Ç¸Æ¤Ó½Ð¤·¥á¥Ã¥»¡¼¥¸¤òºÆÁ÷¤¹¤ë¡£»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç¤Î¹ç·×»þ´Ö¤Ï
478 .BR clnt_call ()
479 ¤Ç»ØÄꤹ¤ë¡£
480 .IP
481 ·Ù¹ð: UDP ¤Ë´ð¤Å¤¤¤¿
482 RPC ¥á¥Ã¥»¡¼¥¸¤ÏºÇÂç¤Ç¤â 8 Kbyte ¤Þ¤Ç¤Î¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤·¤«
483 ÊÝ»ý¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤³¤ÎÄÌ¿®¤ÏÂ礭¤Ê°ú¤­¿ô¤äµðÂç¤Ê·ë²Ì¤ò¼è¤ë
484 ¥×¥í¥·¥¸¥ã¤Ë¤Ï»ÈÍѤǤ­¤Ê¤¤¡£
485 .LP
486 .nf
487 .BI "CLIENT *clntudp_bufcreate(struct sockaddr_in *" addr ,
488 .BI "            unsigned long " prognum ", unsigned long " versnum ,
489 .BI "            struct timeval " wait ", int *" sockp ,
490 .BI "            unsigned int " sendsize ", unsigned int "recosize );
491 .fi
492 .IP
493 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
494 .IR prognum ¡¢
495 ¥Ð¡¼¥¸¥ç¥ó
496 .I versnum
497 ¤Î¤¿¤á¤Î RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤ÏÄÌ¿®¤Ë
498 UDP/IP ¤ò»ÈÍѤ¹¤ë¡£¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥¢¥É¥ì¥¹¤Î
499 .I *addr
500 ¤Ë¤¢¤ë¡£
501 \fIaddr\->sin_port\fR ¤¬¥¼¥í¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤¬
502 listen ¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤¬ÀßÄꤵ¤ì¤ë¡£(¤³¤Î¾ðÊó¤Î¤¿¤á¤Ë¥ê¥â¡¼¥È¤Î
503 .B portmap
504 ¥µ¡¼¥Ó¥¹¤¬ÍøÍѤµ¤ì¤ë¡£) ¥Ñ¥é¥á¡¼¥¿¡¼
505 .I sockp
506 ¤Ï¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£¤â¤·¤³¤ì¤¬
507 .B RPC_ANYSOCK
508 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¿·¤·¤¤¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ
509 .I sockp
510 ¤ËÀßÄꤹ¤ë¡£
511 UDP ÄÌ¿®¤Ï²óÅú¤¬¤¢¤ë¤«¡¢»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç
512 .B wait
513 ´Ö³Ö¤Ç¸Æ¤Ó½Ð¤·¥á¥Ã¥»¡¼¥¸¤òºÆÁ÷¤¹¤ë¡£»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç¤Î¹ç·×»þ´Ö¤Ï
514 .BR clnt_call ()
515 ¤Ç»ØÄꤹ¤ë¡£
516 .IP
517 ¤³¤ì¤ò»ÈÍѤ¹¤ë¤È UDP ¤Ë´ð¤Å¤¤¤¿ RPC ¥á¥Ã¥»¡¼¥¸¤Ë¤ª¤¤¤ÆÁ÷¿®¥Ñ¥±¥Ã¥È¤ä
518 ¼õ¿®¥Ñ¥±¥Ã¥È¤ÎºÇÂ祵¥¤¥º¤ò»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¡£
519 .LP
520 .nf
521 .BI "void get_myaddress(struct sockaddr_in *" addr );
522 .fi
523 .IP
524 ¤³¤Î¥Þ¥·¥ó¤Î IP ¥¢¥É¥ì¥¹¤ò
525 .I *addr
526 ¤Ë³ÊǼ¤¹¤ë¡£
527 .I /etc/hosts
528 ¤ò°·¤¦¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó¤Ï»ÈÍѤ·¤Ê¤¤¡£¥Ý¡¼¥ÈÈÖ¹æ¤Ï¾ï¤Ë
529 .B htons(PMAPPORT)
530 ¤ËÀßÄꤵ¤ì¤ë¡£
531 .LP
532 .nf
533 .BI "struct pmaplist *pmap_getmaps(struct sockaddr_in *" addr );
534 .fi
535 .IP
536 .B portmap
537 ¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ê¡¢
538 IP ¥¢¥É¥ì¥¹
539 .I *addr
540 ¤Ë¤¢¤ë¥Û¥¹¥È¤Î¸½ºß¤Î RPC ¥×¥í¥°¥é¥à¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤Î°ìÍ÷¤òÊÖ¤¹¡£
541 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬ NULL ¤òÊÖ¤¹¾ì¹ç¤â¤¢¤ë¡£
542 .RB ` "rpcinfo \-p" '
543 ¥³¥Þ¥ó¥É¤Ï¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
544 .LP
545 .nf
546 .BI "unsigned short pmap_getport(struct sockaddr_in *" addr ,
547 .BI "                    unsigned long " prognum ", unsigned long " versnum ,
548 .BI "                    unsigned int " protocol );
549 .fi
550 .IP
551 .B portmap
552 ¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
553 ¥×¥í¥°¥é¥àÈÖ¹æ
554 .IR prognum ¡¢
555 ¥Ð¡¼¥¸¥ç¥ó
556 .IR versnum ¡¢
557 ´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÄÌ¿®¥×¥í¥È¥³¥ë
558 .I protocol
559 ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥µ¡¼¥Ó¥¹¤¬ÂԤäƤ¤¤ë¥Ý¡¼¥ÈÈÖ¹æ¤òÊÖ¤¹¡£
560 .I protocol
561 ¤ÎÃͤϤۤȤó¤É¤Î¾ì¹ç IPPROTO_UDP ¤« IPPROTO_TCP ¤Ç¤¢¤ë¡£
562 ÊÖ¤êÃÍ¥¼¥í¤Ï¥Þ¥Ã¥Ô¥ó¥°¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢
563 RPC ¥·¥¹¥Æ¥à¤¬¥ê¥â¡¼¥È¤Î
564 .B portmap
565 ¥µ¡¼¥Ó¥¹¤Î»²¾È¤Ë¼ºÇÔ¤·¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£¸å¼Ô¤Î¾ì¹ç¤ÏÂç°èÊÑ¿ô
566 .I rpc_createerr
567 ¤¬ RPC ¾õÂÖ¤òÊÝ»ý¤·¤Æ¤¤¤ë¡£
568 .LP
569 .nf
570 .BI "enum clnt_stat pmap_rmtcall(struct sockaddr_in *" addr ,
571 .BI "                    unsigned long " prognum ", unsigned long " versnum ,
572 .BI "                    unsigned long " procnum ,
573 .BI "                    xdrproc_t " inproc ", char *" in ,
574 .BI "                    xdrproc_t " outproc ", char *" out ,
575 .BI "                    struct timeval " tout ", unsigned long *" portp );
576 .fi
577 .IP
578 .B portmap
579 ¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
580 IP ¥¢¥É¥ì¥¹
581 .I *addr
582 ¤Î¥Û¥¹¥È¤Î
583 .B portmap
584 ¤ò»²¾È¤·¤Æ¡¢
585 RPC ¸Æ¤Ó½Ð¤·¤òÀ¸À®¤·¡¢¤½¤Î¥Û¥¹¥È¾å¤Î¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
586 ¥Ñ¥é¥á¡¼¥¿¡¼
587 .I *portp
588 ¤Ï¥×¥í¥·¥¸¥ã¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¥×¥í¥°¥é¥à¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ë½¤Àµ¤µ¤ì¤ë¡£
589 ¾¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ÎÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï
590 .BR callrpc ()
591 ¤ä
592 .BR clnt_call ()
593 ¤ÇÀâÌÀ¤·¤Æ¤¢¤ë¡£
594 ¤³¤Î¥×¥í¥·¥¸¥ã¤Ï \(lqping\(rq ¤Î¤ß¤Ë»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¡£
595 .BR clnt_broadcast ()
596 ¤â»²¾È¤¹¤ë¤³¤È¡£
597 .LP
598 .nf
599 .BI "bool_t pmap_set(unsigned long " prognum ", unsigned long " versnum ,
600 .BI "                unsigned int " protocol ", unsigned short " port );
601 .fi
602 .IP
603 .B portmap
604 ¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
605 .RI [ prognum , versnum , protocol\fR]
606 ¤ÎÁȤ߹ç¤ï¤»¤È
607 .I port
608 ¤È¤Î´Ö¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¡¢¤½¤Î¥Þ¥·¥ó¾å¤Î
609 .B portmap
610 ¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤¹¤ë¡£
611 .I protocol
612 ¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç
613 .B IPPROTO_UDP
614 ¤«
615 .B IPPROTO_TCP
616 ¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¡£
617 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
618 .BR svc_register ()
619 ¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤ë¡£
620 .LP
621 .nf
622 .BI "bool_t pmap_unset(unsigned long " prognum ", unsigned long " versnum );
623 .fi
624 .IP
625 .B portmap
626 ¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
627 .RI [ prognum , versnum , *\fR]
628 ¤ÎÁȤ߹ç¤ï¤»¤È
629 .B ports
630 ¤Î´Ö¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¤½¤Î¥Þ¥·¥ó¾å¤Î
631 .B portmap
632 ¥µ¡¼¥Ó¥¹¤«¤éºï½ü¤¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
633 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
634 .LP
635 .nf
636 .BI "int registerrpc(unsigned long " prognum ", unsigned long " versnum ,
637 .BI "                unsigned long " procnum ", char *(*" procname ")(char *),"
638 .BI "                xdrproc_t " inproc ", xdrproc_t " outproc );
639 .fi
640 .IP
641 RPC ¥µ¡¼¥Ó¥¹¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Æ
642 .I procname
643 ¥×¥í¥·¥¸¥ã¤òÅÐÏ¿¤¹¤ë¡£¥×¥í¥°¥é¥à
644 .IR prognum ¡¢
645 ¥Ð¡¼¥¸¥ç¥ó
646 .IR versnum ¡¢
647 ¥×¥í¥·¥¸¥ã
648 .I procnum
649 ¤Ø¤ÎÍ׵᤬ÆϤ¤¤¿¾ì¹ç¡¢
650 .I procname
651 ¤¬¥Ñ¥é¥á¡¼¥¿¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤ò»ý¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
652 .I progname
653 ¤ÏÀÅŪ¤Ê·ë²Ì¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹É¬Íפ¬¤¢¤ë¡£
654 .I inproc
655 ¤Ï¥Ñ¥é¥á¡¼¥¿¡¼¤ò¥Ç¥³¡¼¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
656 .I outproc
657 ¤Ï·ë²Ì¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
658 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÅÐÏ¿¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
659 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤¹¡£
660 .IP
661 ·Ù¹ð: ¤³¤Î·Á¼°¤ÇÅÐÏ¿¤µ¤ì¤¿¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤Ï
662 UDP/IP ÄÌ¿®¤ò»ÈÍѤ¹¤ë¡£À©¸Â¤Ë´Ø¤·¤Æ¤Ï
663 .BR svcudp_create ()
664 ¤ò»²¾È¤¹¤ë¤³¤È¡£
665 .LP
666 .nf
667 .BI "struct rpc_createerr " rpc_createerr ;
668 .fi
669 .IP
670 À®¸ù¤·¤Ê¤«¤Ã¤¿ RPC ¥¯¥é¥¤¥¢¥ó¥ÈÀ¸À®¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ëÂç°èÊÑ¿ô¡£
671 .BR clnt_pcreateerror ()
672 ¥ë¡¼¥Æ¥£¥ó¤¬Íýͳ¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
673 .LP
674 .nf
675 .BI "void svc_destroy(SVCXPRT *" xprt );
676 .fi
677 .IP
678 ¤³¤Î¥Þ¥¯¥í¤ÏÄÌ¿®¥Ï¥ó¥É¥ë
679 .I xprt
680 ¤Î RPC ¥µ¡¼¥Ó¥¹¤òÇ˲õ¤¹¤ë¡£Ç˲õ¤Ë¤ÏÄ̾
681 .I xprt
682 ¤ò´Þ¤á¤Æ¡¢»äŪ¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤÎÇË´þ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
683 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤·¤¿¸å¤Ë
684 .I xprt
685 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
686 .LP
687 .nf
688 .BI "fd_set " svc_fdset ;
689 .fi
690 .IP
691 RPC ¥µ¡¼¥Ó¥¹Â¦¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤òÈ¿±Ç¤·¤¿Âç°èÊÑ¿ô¡£
692 .BR select (2)
693 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤Î¤¿¤á¤ËÍøÍѤǤ­¤ë¡£¤³¤ì¤Ï
694 ¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤¬
695 .BR svc_run ()
696 ¤ò¸Æ¤Ó½Ð¤µ¤Ê¤º¤Ë¡¢Æȼ«¤ÎÈóƱ´ü¥¤¥Ù¥ó¥È½èÍý¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤¬¤¢¤ë¡£
697 ¤³¤ÎÊÑ¿ô¤ÏÆɤ߹þ¤ßÀìÍѤǠ(¤½¤Î¤Þ¤Þ
698 .BR select (2)
699 ¤ØÅϤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤!)¡¢
700 .BR svc_getreqset ()
701 ¸Æ¤Ó½Ð¤·¤äÀ¸À®¥ë¡¼¥Æ¥£¥ó¤Î¸å¤ËÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
702 .LP
703 .nf
704 .BI "int " svc_fds ;
705 .fi
706 .IP
707 .B svc_fdset
708 ¤Ë»÷¤Æ¤¤¤ë¤¬¡¢32 ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¡£
709 ¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
710 .B svc_fdset
711 ¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤¿¡£
712 .LP
713 .nf
714 .BI "svc_freeargs(SVCXPRT *" xprt ", xdrproc_t " inproc ", char *" in );
715 .fi
716 .IP
717 ¤³¤Î¥Þ¥¯¥í¤Ï¥µ¡¼¥Ó¥¹¡¦¥×¥í¥·¥¸¥ã¤¬
718 .BR svc_getargs ()
719 ¤ò»ÈÍѤ·¤Æ°ú¤­¿ô¤ò¥Ç¥³¡¼¥É¤·¤¿»þ¤Ë
720 RPC/XDR ¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤¿¥Ç¡¼¥¿¤ò²òÊü¤¹¤ë¡£
721 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï²òÊü¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
722 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
723 .LP
724 .nf
725 .BI "svc_getargs(SVCXPRT *" xprt ", xdrproc_t " inproc ", char *" in );
726 .fi
727 .IP
728 ¤³¤Î¥Þ¥¯¥í¤Ï RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë
729 .I xprt
730 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ RPC Í×µá¤Î°ú¤­¿ô¤ò¥Ç¥³¡¼¥É¤¹¤ë¡£¥Ñ¥é¥á¡¼¥¿¡¼
731 .I in
732 ¤Ï°ú¤­¿ô¤Î³ÊǼ¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
733 .I inproc
734 ¤Ï°ú¤­¿ô¤ò¥Ç¥³¡¼¥É¤¹¤ë¤¿¤á¤Î XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
735 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥Ç¥³¡¼¥É¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
736 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
737 .LP
738 .nf
739 .BI "struct sockaddr_in *svc_getcaller(SVCXPRT *" xprt );
740 .fi
741 .IP
742 RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë
743 .I xprt
744 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥×¥í¥·¥¸¥ã¤Î¸Æ¤Ó½Ð¤·¸µ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¡¦¥¢¥É¥ì¥¹¤ò
745 ¼èÆÀ¤¹¤ë¤¿¤á¤Îɸ½àŪ¤Ê¼êÃÊ¡£
746 .LP
747 .nf
748 .BI "void svc_getreqset(fd_set *" rdfds );
749 .fi
750 .IP
751 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤¬
752 .BR svc_run ()
753 ¤ò¸Æ¤Ó½Ð¤µ¤º¡¢Æȼ«¤ÎÈóƱ´ü¥¤¥Ù¥ó¥È½èÍý¤ò¼ÂÁõ¤¹¤ë¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤¬¤¢¤ë¡£
754 ¤³¤ì¤Ï
755 .BR select (2)
756 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ RPC ¥½¥±¥Ã¥È¤Ë
757 RPC Í׵᤬ÅþÃ夷¤¿¤ÈÊÖ¤·¤¿¾ì¹ç¤Ë¤Î¤ß¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
758 .I rdfds
759 ¤Ï·ë²Ì¤ÎÆɤ߹þ¤ß¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ë¡£
760 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
761 .I rdfds
762 ¤ÎÃͤ˴ØÏ¢ÉÕ¤±¤é¤ì¤¿Á´¤Æ¤Î¥½¥±¥Ã¥È¤Î¥µ¡¼¥Ó¥¹¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¤Ë
763 Ê֤äƤ¯¤ë¡£
764 .LP
765 .nf
766 .BI "void svc_getreq(int " rdfds );
767 .fi
768 .IP
769 .BR svc_getreqset ()
770 ¤Ë»÷¤Æ¤¤¤ë¤¬¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Î¿ô¤¬ 32 ¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¡£
771 ¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
772 .BR svc_getreqset ()
773 ¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤¿¡£
774 .LP
775 .nf
776 .BI "bool_t svc_register(SVCXPRT *" xprt ", unsigned long " prognum ,
777 .BI "                    unsigned long " versnum ,
778 .BI "                    void (*" dispatch ")(svc_req *, SVCXPRT *),"
779 .BI "                    unsigned long " protocol );
780 .fi
781 .IP
782 .I prognum
783 ¤È
784 .I versnum
785 ¤ò¥µ¡¼¥Ó¥¹ÇÛʬ¥×¥í¥·¥¸¥ã
786 .I dispatch
787 ¤Ç´ØÏ¢ÉÕ¤±¤ë¡£
788 .I protocol
789 ¤¬¥¼¥í¤Î¾ì¹ç¡¢¥µ¡¼¥Ó¥¹¤Ï
790 .B portmap
791 ¥µ¡¼¥Ó¥¹¤Ë¤ÏÅÐÏ¿¤µ¤ì¤Ê¤¤¡£
792 .I protocol
793 ¤¬¥¼¥í°Ê³°¤Î¾ì¹ç¡¢
794 .RI [ prognum , versnum , protocol\fR]
795 ¤ÎÁȤ߹ç¤ï¤»¤È \fIxprt\->xp_port\fR ¤È¤Î¥Þ¥Ã¥Ô¥ó¥°¤¬¥í¡¼¥«¥ë¤Î
796 .B portmap
797 ¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤ë¡£(°ìÈÌŪ¤Ë
798 .I protocol
799 ¤Ï¥¼¥í¡¢
800 .BR IPPROTO_UDP ¡¢
801 .B IPPROTO_TCP
802 ¤Î¤É¤ì¤«¤Ç¤¢¤ë¡£)
803 ¥×¥í¥·¥¸¥ã
804 .I dispatch
805 ¤Ï°Ê²¼¤Î·Á¼°¤Ç¤¢¤ë:
806 .in +4n
807 .nf
808
809 dispatch(struct svc_req *request, SVCXPRT *xprt);
810 .fi
811 .in
812 .IP
813 .BR svc_register ()
814 ¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
815 .LP
816 .nf
817 .B "void svc_run(void);"
818 .fi
819 .IP
820 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÌá¤Ã¤Æ¤³¤Ê¤¤¡£¤³¤ì¤Ï
821 .SM RPC
822 Í×µá¤ÎÅþÃå¤òÂÔ¤Á¡¢¤É¤ì¤«¤¬ÆϤ¤¤¿¾ì¹ç¤Ë
823 .BR svc_getreq ()
824 ¤ò»ÈÍѤ·¤ÆŬÀڤʥµ¡¼¥Ó¥¹¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
825 ¤³¤Î¥×¥í¥·¥¸¥ã¤ÏÄ̾ï¤Ï
826 .BR select (2)
827 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤«¤éÊÖ¤ë¤Î¤òÂԤäƤ¤¤ë¡£
828 .LP
829 .nf
830 .BI "bool_t svc_sendreply(SVCXPRT *" xprt ", xdrproc_t " outproc \
831 ", char *" out );
832 .fi
833 .IP
834 RPC ¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î·ë²Ì¤ò
835 ÊÖ¤¹¤¿¤á¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
836 ¥Ñ¥é¥á¡¼¥¿¡¼
837 .I xprt
838 ¤Ï¤½¤ÎÍ×µá¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÄÌ¿®¥Ï¥ó¥É¥ë¤Ç¤¢¤ë¡£
839 .I outproc
840 ¤Ï·ë²Ì¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
841 .I out
842 ¤Ï·ë²Ì¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
843 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
844 .LP
845 .nf
846 .BI "void svc_unregister(unsigned long " prognum ", unsigned long " versnum );
847 .fi
848 .IP
849 ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤«¤é
850 .RI [ prognum , versnum ]
851 ¤ª¤è¤Ó
852 .RI [ prognum , versnum , *\fR]
853 ¤ÎÁȤ߹ç¤ï¤»¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤òÁ´¤Æºï½ü¤¹¤ë¡£
854 .LP
855 .nf
856 .BI "void svcerr_auth(SVCXPRT *" xprt ", enum auth_stat " why );
857 .fi
858 .IP
859 ǧ¾Ú¥¨¥é¡¼¤Ë¤è¤ê¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¼Â¹Ô¤òµñÈݤµ¤ì¤¿
860 ¾ì¹ç¤Ë¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
861 .LP
862 .nf
863 .BI "void svcerr_decode(SVCXPRT *" xprt );
864 .fi
865 .IP
866 ¥Ñ¥é¥á¡¼¥¿¤Î¥Ç¥³¡¼¥É¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë
867 ¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
868 .BR svc_getargs ()
869 ¤â»²¾È¤¹¤ë¤³¤È¡£
870 .LP
871 .nf
872 .BI "void svcerr_noproc(SVCXPRT *" xprt );
873 .fi
874 .IP
875 Í×µá¤Î¤¢¤Ã¤¿¥×¥í¥·¥¸¥ãÈֹ椬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë
876 ¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤è¤ê¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
877 .LP
878 .nf
879 .BI "void svcerr_noprog(SVCXPRT *" xprt );
880 .fi
881 .IP
882 RPC ¥Ñ¥Ã¥±¡¼¥¸¤ËÍ׵ᤵ¤ì¤¿¥×¥í¥°¥é¥à¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
883 ¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ë¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
884 .LP
885 .nf
886 .BI "void svcerr_progvers(SVCXPRT *" xprt );
887 .fi
888 .IP
889 RPC ¥Ñ¥Ã¥±¡¼¥¸¤ËÍ׵ᤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Î¥×¥í¥°¥é¥à¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë
890 ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ë¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
891 .LP
892 .nf
893 .BI "void svcerr_systemerr(SVCXPRT *" xprt );
894 .fi
895 .IP
896 ÆÃÄê¤Î¥×¥í¥È¥³¥ë¤Ë¤è¤Ã¤Æ¥«¥Ð¡¼¤µ¤ì¤Æ¤¤¤Ê¥·¥¹¥Æ¥à¡¦¥¨¥é¡¼¤¬
897 ¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
898 Î㤨¤Ð¡¢¥µ¡¼¥Ó¥¹¤¬¤½¤ì°Ê¾å¡¢µ­²±ÁõÃÖ¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤Ï
899 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
900 .LP
901 .nf
902 .BI "void svcerr_weakauth(SVCXPRT *" xprt );
903 .fi
904 .IP
905 ǧ¾Ú¥Ñ¥é¥á¡¼¥¿¤¬Â­¤ê¤Ê¤¤¤¿¤á¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¼Â¹Ô¤ò
906 µñÈݤµ¤ì¤¿¾ì¹ç¤Ë¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
907 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
908 .B "svcerr_auth(xprt, AUTH_TOOWEAK)"
909 ¤ò¸Æ¤Ó½Ð¤¹¡£
910 .LP
911 .nf
912 .BI "SVCXPRT *svcfd_create(int " fd ", unsigned int " sendsize ,
913 .BI "                      unsigned int " recvsize );
914 .fi
915 .IP
916 Ǥ°Õ¤Î¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¾å¤Ë¥µ¡¼¥Ó¥¹¤òºîÀ®¤¹¤ë¡£
917 ŵ·¿Åª¤Ë¡¢¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Ï
918 TCP ¤Î¤è¤¦¤Ê¥¹¥È¥ê¡¼¥à¡¦¥×¥í¥È¥³¥ë¤ÇÀܳ¤µ¤ì¤¿¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£
919 .I sendsize
920 ¤È
921 .I recvsize
922 ¤Ë¤ÏÁ÷¿®¥Ð¥Ã¥Õ¥¡¤È¼õ¿®¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤ò»ØÄꤹ¤ë¡£¤â¤·¥¼¥í¤¬»ØÄꤵ¤ì¤¿
923 ¾ì¹ç¤ÏŬÀڤʥǥե©¥ë¥È¤¬ÁªÂò¤µ¤ì¤ë¡£
924 .LP
925 .nf
926 .BI "SVCXPRT *svcraw_create(void);"
927 .fi
928 .IP
929 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ïµ¼»÷ RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¤òÀ¸À®¤·¤Æ¡¢¤½¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
930 ÄÌ¿®¤Ï¼ÂºÝ¤Ë¤Ï¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¢¤ë¥Ð¥Ã¥Õ¥¡¤Ê¤Î¤Ç
931 Âбþ¤¹¤ë RPC ¥¯¥é¥¤¥¢¥ó¥È¤ÏƱ¤¸¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¤¤ëɬÍפ¬¤¢¤ë¡£
932 .BR clntraw_create ()
933 ¤ò»²¾È¤¹¤ë¤³¤È¡£
934 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ç
935 RPC ¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ä¡¢¥«¡¼¥Í¥ë¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë±Æ¶Á¤µ¤ì¤º¤Ë±þÅú»þ´Ö¤Ê¤É¤Î
936 RPC ¥ª¡¼¥Ð¥Ø¥Ã¥É¤ò¼èÆÀ¤¬¤Ç¤­¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
937 .LP
938 .nf
939 .BI "SVCXPRT *svctcp_create(int " sock ", unsigned int " send_buf_size ,
940 .BI "                       unsigned int " recv_buf_size );
941 .fi
942 .IP
943 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï TCP/IP ¤Ë´ð¤Å¤¯
944 RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¤òºîÀ®¤·¡¢¤½¤ì¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
945 ÄÌ¿®¤Ï¥½¥±¥Ã¥È
946 .I sock
947 ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤ë¡£
948 .I sock
949 ¤Ï
950 .B RPC_ANYSOCK
951 ¤Ç¤âÎɤ¤¡£¤³¤Î¾ì¹ç¤Ï¿·¤·¤¤¥½¥±¥Ã¥È¤¬ºîÀ®¤µ¤ì¤ë¡£
952 ¤â¤·¥½¥±¥Ã¥È¤¬¥í¡¼¥«¥ë¤Ê TCP ¥Ý¡¼¥È¤Ë bind ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
953 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬Å¬Åö¤Ê¥Ý¡¼¥È¤Ë bind ¤¹¤ë¡£
954 Êä´°¤µ¤ì¤¿¾ì¹ç¡¢\fIxprt\->xp_sock\fR ¤Ë¤ÏÄÌ¿®¤Î¥½¥±¥Ã¥È¡¦
955 ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬¡¢\fIxprt\->xp_port\fR ¤Ë¤ÏÄÌ¿®¤Î¥Ý¡¼¥ÈÈֹ椬
956 ÀßÄꤵ¤ì¤ë¡£
957 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
958 TCP ¤Ë´ð¤Å¤¤¤¿ RPC ¤Ï¥Ð¥Ã¥Õ¥¡¤µ¤ì¤¿ I/O ¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢
959 ¥æ¡¼¥¶¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤ò»ØÄê¤Ç¤­¤ë¡£
960 ¥¼¥í¤ò»ØÄꤷ¤¿¾ì¹ç¤ÏŬÀڤʥǥե©¥ë¥È¤¬ÁªÂò¤µ¤ì¤ë¡£
961 .LP
962 .nf
963 .BI "SVCXPRT *svcudp_bufcreate(int " sock ", unsigned int " sendsize ,
964 .BI "                          unsigned int " recosize );
965 .fi
966 .IP
967 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï UDP/IP ¤Ë´ð¤Å¤¤¤¿ RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¤òºîÀ®¤·¡¢
968 ¤½¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£ÄÌ¿®¤Ï¥½¥±¥Ã¥È
969 .I sock
970 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤ë¡£
971 .I sock
972 ¤Ï
973 .B RPC_ANYSOCK
974 ¤Ç¤âÎɤ¤¡£¤³¤Î¾ì¹ç¤Ï¿·¤·¤¤¥½¥±¥Ã¥È¤¬ºîÀ®¤µ¤ì¤ë¡£
975 ¥½¥±¥Ã¥È¤¬¥í¡¼¥«¥ë¤Î UDP ¥Ý¡¼¥È¤Ë bind ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï
976 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏŬÅö¤Ê¥Ý¡¼¥È¤Ë bind ¤¹¤ë¡£
977 Êä´°¤µ¤ì¤¿¾ì¹ç¡¢\fIxprt\->xp_sock\fR ¤ËÄÌ¿®¤Î¥½¥±¥Ã¥È¤Î
978 ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬¡¢\fIxprt\->xp_port\fR ¤ËÄÌ¿®¤Î¥Ý¡¼¥ÈÈֹ椬
979 ÀßÄꤵ¤ì¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï NULL ¤òÊÖ¤¹¡£
980 .IP
981 ¤³¤ì¤Ë¤è¤ê¥æ¡¼¥¶¤Ï UDP ¤Ë´ð¤Å¤¤¤¿ RPC ¥á¥Ã¥»¡¼¥¸¤Ç
982 »ÈÍѤǤ­¤ëÁ÷¿®¥Ñ¥±¥Ã¥È¤ª¤è¤Ó¼õ¿®¥Ñ¥±¥Ã¥È¤ÎºÇÂ祵¥¤¥º¤ò»ØÄê¤Ç¤­¤ë¡£
983 .LP
984 .nf
985 .BI "SVCXPRT *svcudp_create(int " sock );
986 .fi
987 .IP
988 Á÷¿®¥Ñ¥±¥Ã¥È¤È¼õ¿®¥Ñ¥±¥Ã¥È¤Î¥µ¥¤¥º¤òƱ¤¸¥Ç¥Õ¥©¥ë¥È¤ÎÃÍ \fISZ\fP ¤Ë»ØÄꤷ¤¿
989 \fIsvcudp_bufcreate(sock,SZ,SZ)\fP ¤ÈÅù²Á¤Ç¤¢¤ë¡£
990 .LP
991 .nf
992 .BI "bool_t xdr_accepted_reply(XDR *" xdrs ", struct accepted_reply *" ar );
993 .fi
994 .IP
995 RPC ±þÅú¥á¥Ã¥»¡¼¥¸¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
996 RPC ¥Ñ¥Ã¥±¡¼¥¸¤òÍѤ¤¤º¤Ë
997 RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
998 .LP
999 .nf
1000 .BI "bool_t xdr_authunix_parms(XDR *" xdrs ", struct authunix_parms *" aupp );
1001 .fi
1002 .IP
1003 UNIX ·Á¼°¤Î¾ÚÌÀ½ñ¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
1004 RPC Ç§¾Ú¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë¤³¤ì¤é¤Î¾ÚÌÀ½ñ¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1005 .LP
1006 .nf
1007 .BI "void xdr_callhdr(XDR *" xdrs ", struct rpc_msg *" chdr );
1008 .fi
1009 .IP
1010 RPC ¸Æ¤Ó½Ð¤·¤Î¥Ø¥Ã¥À¡¼¡¦¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
1011 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë
1012 RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1013 .LP
1014 .nf
1015 .BI "bool_t xdr_callmsg(XDR *" xdrs ", struct rpc_msg *" cmsg );
1016 .fi
1017 .IP
1018 RPC ¸Æ¤Ó½Ð¤·¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡£
1019 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë
1020 RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1021 .LP
1022 .nf
1023 .BI "bool_t xdr_opaque_auth(XDR *" xdrs ", struct opaque_auth *" ap );
1024 .fi
1025 .IP
1026 PRC Ç§¾Ú¾ðÊó¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
1027 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë
1028 RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1029 .LP
1030 .nf
1031 .BI "bool_t xdr_pmap(XDR *" xdrs ", struct pmap *" regs );
1032 .fi
1033 .IP
1034 ³Æ¼ï¤Î
1035 .B portmap
1036 ¥×¥í¥·¥¸¥ã¤Ø¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò³°ÉôŪ¤Ëµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
1037 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
1038 .B pmap
1039 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ÈÍѤ»¤º¤Ë¡¢¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò
1040 ºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1041 .LP
1042 .nf
1043 .BI "bool_t xdr_pmaplist(XDR *" xdrs ", struct pmaplist **" rp );
1044 .fi
1045 .IP
1046 ¥Ý¡¼¥È¤Î¥Þ¥Ã¥Ô¥ó¥°¤Î¥ê¥¹¥È¤ò³°ÉôŪ¤Ëµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
1047 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
1048 .B pmap
1049 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ÈÍѤ»¤º¤Ë¡¢¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò
1050 ºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1051 .LP
1052 .nf
1053 .BI "bool_t xdr_rejected_reply(XDR *" xdrs ", struct rejected_reply *" rr );
1054 .fi
1055 .IP
1056 RPC ±þÅú¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
1057 RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë¡¢
1058 RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1059 .LP
1060 .nf
1061 .BI "bool_t xdr_replymsg(XDR *" xdrs ", struct rpc_msg *" rmsg );
1062 .fi
1063 .IP
1064 RPC ±þÅú¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
1065 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë¡¢
1066 RPC ·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
1067 .LP
1068 .nf
1069 .BI "void xprt_register(SVCXPRT *" xprt );
1070 .fi
1071 .IP
1072 RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë¤òÀ¸À®¤·¤¿¸å¤Ë¡¢¤½¤ì¤é¼«¿È¤ò
1073 RPC ¥µ¡¼¥Ó¥¹¡¦¥Ñ¥Ã¥±¡¼¥¸¤ËÅÐÏ¿¤¹¤ëɬÍפ¬¤¢¤ë¡£
1074 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÂç°èÊÑ¿ô
1075 .I svc_fds
1076 ¤ò½¤Àµ¤¹¤ë¡£¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
1077 .LP
1078 .nf
1079 .BI "void xprt_unregister(SVCXPRT *" xprt );
1080 .fi
1081 .IP
1082 RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë¤òÇ˲õ¤¹¤ëÁ°¤Ë¡¢¤½¤ì¤ò
1083 RPC ÄÌ¿®¥Ñ¥Ã¥±¡¼¥¸¤«¤éÅÐÏ¿²ò½ü¤¹¤ëɬÍפ¬¤¢¤ë¡£
1084 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÂç°èÊÑ¿ô
1085 .I svc_fds
1086 ¤ò½¤Àµ¤¹¤ë¡£¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
1087 .SH ´ØÏ¢¹àÌÜ
1088 .\" º£¸½ºß¤Ï¡¢¤³¤ÎÇÛÉÛʪ (LDP_man-pages) ¤Ë¤Ï rpc_secure.3 ¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤
1089 .\" -- MTK, 19 Sep 05
1090 .\" .BR rpc_secure (3),
1091 .BR xdr (3)
1092 .br
1093 °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë:
1094 .RS
1095 Remote Procedure Calls: Protocol Specification
1096 .br
1097 Remote Procedure Call Programming Guide
1098 .br
1099 rpcgen Programming Guide
1100 .br
1101 .RE
1102 .IR "RPC: Remote Procedure Call Protocol Specification" ,
1103 RFC\ 1050, Sun Microsystems, Inc.,
1104 USC-ISI.