1 .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
3 .\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI
5 .\" 2007-12-30, mtk, Convert function prototypes to modern C syntax
7 .\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
8 .\" all rights reserved.
9 .\" Translated Tue Jan 4 20:48:51 JST 2000
10 .\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
12 .TH XDR 3 2007-12-30 "" "Linux Programmer's Manual"
15 .\"O xdr \- library routines for external data representation
16 xdr \- ³°Éô¥Ç¡¼¥¿É½¸½(XDR)¤Î¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó
17 .\"O .SH SYNOPSIS AND DESCRIPTION
20 .\"O These routines allow C programmers to describe
21 .\"O arbitrary data structures in a machine-independent fashion.
22 .\"O Data for remote procedure calls are transmitted using these
24 ¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤Ï C ¥×¥í¥°¥é¥Þ¡¼¤¬¥Þ¥·¥óÈó°Í¸¤Ê·Á¼°¤Ç
25 Ǥ°Õ¤Î¥Ç¡¼¥¿¹½Â¤ÂΤòµ½Ò¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£
26 ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¤¿¤á¤Î¥Ç¡¼¥¿¤Ï¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤ò
29 .\"O The prototypes below are declared in
31 .\"O and make use of the following types:
32 °Ê²¼¤Ë¼¨¤¹¥×¥í¥È¥¿¥¤¥×Àë¸À¤Ï
34 ¤Ç¹Ô¤ï¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃæ¤Ç¤Ï¼¡¤Î·¿¤¬»ÈÍѤµ¤ì¤ë¡£
38 typedef int \fIbool_t\fP;
40 typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...);
44 .\"O For the declaration of the
47 .\"O .IR <rpc/xdr.h> .
54 .BI "bool_t xdr_array(XDR *" xdrs ", char **" arrp ", unsigned int *" sizep ,
55 .BI " unsigned int " maxsize ", unsigned int " elsize ,
56 .BI " xdrproc_t " elproc );
59 .\"O A filter primitive that translates between variable-length arrays
60 .\"O and their corresponding external representations.
63 .\"O is the address of the pointer to the array, while
65 .\"O is the address of the element count of the array;
66 .\"O this element count cannot exceed
68 ²ÄÊÑŤÎÇÛÎó¤È¤½¤ì¤ËÂбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
71 ¤ÏÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê¡¢
73 ¤ÏÇÛÎó¤ÎÍ×ÁÇ¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
81 .\"O each of the array's elements, and
83 .\"O is an XDR filter that translates between
84 .\"O the array elements' C form, and their external
86 .\"O This routine returns one if it succeeds, zero otherwise.
93 ¤ÏÇÛÎóÍ×ÁǤò C ·Á¼°¤«¤é¤½¤Î³°Éôɽ¸½¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Î XDR ¥Õ¥£¥ë¥¿¡¼¤Ç¤¢¤ë¡£
94 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
95 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
98 .BI "bool_t xdr_bool(XDR *" xdrs ", bool_t *" bp );
101 .\"O A filter primitive that translates between booleans (C
103 .\"O and their external representations.
104 .\"O When encoding data, this
105 .\"O filter produces values of either one or zero.
106 .\"O This routine returns one if it succeeds, zero otherwise.
107 ¿¿µ¶ÃÍ(C ¤Î int)¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
108 ¥Ç¡¼¥¿¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë»þ¡¢¤³¤Î¥Õ¥£¥ë¥¿¡¼¤Ï 1 ¤Þ¤¿ 0 ¤ÎÃͤòÀ¸À®¤¹¤ë¡£
109 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
110 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
113 .BI "bool_t xdr_bytes(XDR *" xdrs ", char **" sp ", unsigned int *" sizep ,
114 .BI " unsigned int " maxsize );
117 .\"O A filter primitive that translates between counted byte
118 .\"O strings and their external representations.
121 .\"O is the address of the string pointer.
122 .\"O The length of the
123 .\"O string is located at address
125 .\"O strings cannot be longer than
127 .\"O This routine returns one if it succeeds, zero otherwise.
128 ¤¢¤ëŤµ¤Î¥Ð¥¤¥Èʸ»úÎó¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
131 ¤Ïʸ»úÎó¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£Ê¸»úÎó¤ÎŤµ¤Ï
133 ¤Î¥¢¥É¥ì¥¹¤ËÃÖ¤¯¡£Ê¸»úÎó¤Ï
135 ¤è¤êŤ¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
136 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
137 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
140 .BI "bool_t xdr_char(XDR *" xdrs ", char *" cp );
143 .\"O A filter primitive that translates between C characters
144 .\"O and their external representations.
145 .\"O This routine returns one if it succeeds, zero otherwise.
146 .\"O Note: encoded characters are not packed, and occupy 4 bytes each.
147 .\"O For arrays of characters, it is worthwhile to
149 .\"O .BR xdr_bytes (),
150 .\"O .BR xdr_opaque ()
152 .\"O .BR xdr_string ().
153 C ¤Îʸ»ú(char)¤È¤½¤Î³°Éôɽ¸½¤È¤Î´Ö¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
154 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
155 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
156 Ãí°Õ: ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤ÏµÍ¤á¹þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¤½¤ì¤¾¤ì 4 ¥Ð¥¤¥È¤ò
157 Àê¤á¤ë¡£Ê¸»ú¤ÎÇÛÎó¤Î¾ì¹ç¤Ë¤Ï
161 ¤Ê¤É¤ò¹Íθ¤·¤¿Êý¤¬Îɤ¤¡£
164 .BI "void xdr_destroy(XDR *" xdrs );
167 .\"O A macro that invokes the destroy routine associated with the XDR stream,
169 .\"O Destruction usually involves freeing private data structures
170 .\"O associated with the stream.
174 .\"O .BR xdr_destroy ()
176 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
178 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç˲õ¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
179 Ç˲õ¤Ë¤ÏÄ̾¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿»äŪ¥Ç¡¼¥¿¹½Â¤ÂΤβòÊü¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
183 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
186 .BI "bool_t xdr_double(XDR *" xdrs ", double *" dp );
189 .\"O A filter primitive that translates between C
191 .\"O precision numbers and their external representations.
192 .\"O This routine returns one if it succeeds, zero otherwise.
195 ¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
196 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
197 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
200 .BI "bool_t xdr_enum(XDR *" xdrs ", enum_t *" ep );
203 .\"O A filter primitive that translates between C
205 .\"O (actually integers) and their external representations.
206 .\"O This routine returns one if it succeeds, zero otherwise.
209 (¼ÂºÝ¤Ë¤Ï int)¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
210 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
211 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
214 .BI "bool_t xdr_float(XDR *" xdrs ", float *" fp );
217 .\"O A filter primitive that translates between C
219 .\"O and their external representations.
220 .\"O This routine returns one if it succeeds, zero otherwise.
222 .IR "ÉâÆ°¾®¿ôÅÀ¿ô (float)"
223 ¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
224 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
225 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
228 .BI "void xdr_free(xdrproc_t " proc ", char *" objp );
231 .\"O Generic freeing routine.
232 .\"O The first argument is the XDR routine for the object being freed.
233 .\"O The second argument is a pointer to the object itself.
234 .\"O Note: the pointer passed to this routine is
236 .\"O freed, but what it points to
238 .\"O freed (recursively).
239 ÈÆÍѲòÊü(free)¥ë¡¼¥Æ¥£¥ó¡£ºÇ½é¤Î°ú¤¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÊü¤¹¤ë¤¿¤á¤Î
240 XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£ÆóÈÖÌܤΰú¤¿ô¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¼«¿È¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼
241 ¤Ç¤¢¤ë¡£Ãí°Õ: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ËÅϤµ¤ì¤ë¥Ý¥¤¥ó¥¿¡¼¤Ï
243 ¤¬¡¢¤³¤Î¥Ý¥¤¥ó¥¿¡¼¤Î»Ø¤¹¥Ç¡¼¥¿¤Ï(ºÆµ¢Åª¤Ë)
247 .BI "unsigned int xdr_getpos(XDR *" xdrs );
250 .\"O A macro that invokes the get-position routine
251 .\"O associated with the XDR stream,
253 .\"O The routine returns an unsigned integer,
254 .\"O which indicates the position of the XDR byte stream.
255 .\"O A desirable feature of .SM XDR
256 .\"O streams is that simple arithmetic works with this number,
257 .\"O although the XDR stream instances need not guarantee this.
258 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
260 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿°ÌÃÖ¼èÆÀ¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
261 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï XDR ¥Ð¥¤¥È¡¦¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤ò»Ø¼¨¤¹¤ëÉä¹æ̵¤·À°¿ô¤òÊÖ¤¹¡£
262 XDR ¥¹¥È¥ê¡¼¥à¤Îµ¡Ç½¤È¤·¤Æ¤³¤Î¿ôÃͤÇñ½ã¤Ê»»½Ñºî¶È¤¬¤Ç¤¤ë¤³¤È¤¬
263 ´üÂÔ¤µ¤ì¤Æ¤ë¤¤¤ë¡£¤·¤«¤·¤Ê¤¬¤é
264 XDR ¥¹¥È¥ê¡¼¥à¤Î¼ÂÂΤϤ³¤ì¤òÊݾڤ¹¤ëɬÍפϤʤ¤¡£
267 .BI "long *xdr_inline(XDR *" xdrs ", int " len );
270 .\"O A macro that invokes the inline routine associated with the XDR stream,
272 .\"O The routine returns a pointer
273 .\"O to a contiguous piece of the stream's buffer;
275 .\"O is the byte length of the desired buffer.
276 .\"O Note: pointer is cast to
278 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
280 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÆâÉô(inline)¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
281 ¥ë¡¼¥Æ¥£¥ó¤Ï¥¹¥È¥ê¡¼¥à¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ÎϢ³¤¹¤ëÃÇÊҤؤΥݥ¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
283 ¤ÏÍ׵᤹¤ë¥Ð¥Ã¥Õ¥¡¡¼¤Î¥Ð¥¤¥ÈŤǤ¢¤ë¡£
289 .\"O .BR xdr_inline ()
290 .\"O may return NULL (0)
291 .\"O if it cannot allocate a contiguous piece of a buffer.
292 .\"O Therefore the behavior may vary among stream instances;
293 .\"O it exists for the sake of efficiency.
296 ¤Ï¥Ð¥Ã¥Õ¥¡¡¼¤ÎϢ³¤¹¤ëÃÇÊÒ¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï
297 NULL (0)¤òÊÖ¤¹¤«¤â¤·¤ì¤Ê¤¤¡£
298 ¤É¤Î¾ì¹ç¤â¤½¤ÎÆ°ºî¤Ï¥¹¥È¥ê¡¼¥à¤Î¼ÂÂΤˤè¤Ã¤ÆÊѲ½¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
299 ¤³¤ì¤Ï¸úΨ²½¤Î¤¿¤á¤Ë¸ºß¤·¤Æ¤¤¤ë¡£
302 .BI "bool_t xdr_int(XDR *" xdrs ", int *" ip );
305 .\"O A filter primitive that translates between C integers
306 .\"O and their external representations.
307 .\"O This routine returns one if it succeeds, zero otherwise.
308 C ¤ÎÀ°¿ô(int)¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
309 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
310 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
313 .BI "bool_t xdr_long(XDR *" xdrs ", long *" lp );
316 .\"O A filter primitive that translates between C
318 .\"O integers and their external representations.
319 .\"O This routine returns one if it succeeds, zero otherwise.
322 À°¿ô¤È¤½¤Î¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
323 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
324 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
327 .BI "void xdrmem_create(XDR *" xdrs ", char *" addr ", unsigned int " size ,
328 .BI " enum xdr_op " op );
331 .\"O This routine initializes the XDR stream object pointed to by
333 .\"O The stream's data is written to, or read from,
334 .\"O a chunk of memory at location
336 .\"O whose length is no more than
341 .\"O determines the direction of the XDR stream (either
342 .\"O .BR XDR_ENCODE ,
343 .\"O .BR XDR_DECODE ,
348 ¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
351 °ÌÃ֤ˤ¢¤ë¥á¥â¥ê¡¼¤Î²ô¤«¤éÆɤ߽ñ¤¤µ¤ì¤ë¡£
352 ¤½¤ÎŤµ¤Ï¥Ð¥¤¥Èñ°Ì¤Ç
356 ¤Ï XDR ¥¹¥È¥ê¡¼¥à¤ÎÊÑ´¹Êý¸þ¤ò·èÄꤹ¤ë
363 .BI "bool_t xdr_opaque(XDR *" xdrs ", char *" cp ", unsigned int " cnt );
366 .\"O A filter primitive that translates between fixed size opaque data
367 .\"O and its external representation.
370 .\"O is the address of the opaque object, and
372 .\"O is its size in bytes.
373 .\"O This routine returns one if it succeeds, zero otherwise.
374 ¸ÇÄêŤÎÉÔÌÀ¥Ç¡¼¥¿¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
377 ¤ÏÉÔÌÀ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê
379 ¤Ï¤½¤Î¥Ð¥¤¥Èñ°Ì¤ÎÂ礤µ¤Ç¤¢¤ë¡£
380 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
381 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
384 .BI "bool_t xdr_pointer(XDR *" xdrs ", char **" objpp ,
385 .BI " unsigned int " objsize ", xdrproc_t " xdrobj );
389 .\"O .BR xdr_reference ()
390 .\"O except that it serializes NULL pointers, whereas
391 .\"O .BR xdr_reference ()
394 .\"O .BR xdr_pointer ()
396 .\"O recursive data structures, such as binary trees or
399 ¤ÈƱÍͤǤ¢¤ë¤¬¡¢¤³¤ì¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤òÈֹ沽¤¹¤ë¤Î¤ËÂФ·¤Æ
401 ¤Ï¤½¤¦¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢
403 ¤ÏÆóʬÌÚ¤äÏ¢·ë¥ê¥¹¥È¤Î¤è¤¦¤ÊºÆµ¢Åª¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤò
407 .BI "void xdrrec_create(XDR *" xdrs ", unsigned int " sendsize ,
408 .BI " unsigned int " recvsize ", char *" handle ,
409 .BI " int (*" readit ") (char *, char *, int),"
410 .BI " int (*" writeit ") (char *, char *, int));"
413 .\"O This routine initializes the XDR stream object pointed to by
415 .\"O The stream's data is written to a buffer of size
417 .\"O a value of zero indicates the system should use a suitable default.
418 .\"O The stream's data is read from a buffer of size
420 .\"O it too can be set to a suitable default by passing a zero value.
423 ¤Ç»Ø¤µ¤ì¤¿ XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
424 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÂ礤µ
426 ¤Î¥Ð¥Ã¥Õ¥¡¤Ø½ñ¤¹þ¤Þ¤ì¤ë¡£
428 ¤ò¥¼¥í¤Ë¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤ËŬÀڤʥǥե©¥ë¥È¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë¡£
429 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÂ礤µ
431 ¤Î¥Ð¥Ã¥Õ¥¡¤«¤éÆɤ߹þ¤Þ¤ì¤ë¡£¤³¤ì¤â¥¼¥í¤òÅϤ¹¤³¤È¤ÇŬÀڤʥǥե©¥ë¥È¤Ë
432 ÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¡£
433 .\"O When a stream's output buffer is full,
436 .\"O Similarly, when a stream's input buffer is empty,
439 .\"O The behavior of these two routines is similar to
440 .\"O the system calls
446 .\"O is passed to the former routines as the first argument.
447 ¥¹¥È¥ê¡¼¥à¤Î½ÐÎϥХåե¡¤¬°ìÇդξì¹ç¤Ï
449 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£Æ±Íͤ˥¹¥È¥ê¡¼¥àÆþÎϥХåե¡¤¬¶õ¤Î¾ì¹ç¤Ë¤Ï
451 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¤³¤ì¤é¤ÎÆó¤Ä¤Î¥ë¡¼¥Æ¥£¥ó¤ÎÆ°ºî¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î
455 ¤È»÷¤Æ¤¤¤ë¤¬¡¢Á°¼Ô¤Î¥ë¡¼¥Æ¥£¥ó¤ÏºÇ½é¤Î°ú¤¿ô¤È¤·¤Æ
457 ¤¬ÅϤµ¤ì¤ëÅÀ¤Ç°Û¤Ê¤Ã¤Æ¤¤¤ë¡£
458 .\"O Note: the XDR stream's
460 .\"O field must be set by the caller.
461 Ãí°Õ: XDR ¥¹¥È¥ê¡¼¥à¤Î
463 ¤Ï¸Æ¤Ó½Ð¤·Â¦¤ÇÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
465 .\"O Warning: this XDR stream implements an intermediate record stream.
466 .\"O Therefore there are additional bytes in the stream
467 .\"O to provide record boundary information.
468 ·Ù¹ð: ¤³¤Î XDR ¥¹¥È¥ê¡¼¥à¤ÏÃæ´Ö¥ì¥³¡¼¥É¡¦¥¹¥È¥ê¡¼¥à¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¡£
469 ¥ì¥³¡¼¥É¶³¦¤Î¾ðÊó¤òÄ󶡤¹¤ë¤¿¤á¤Ë¥¹¥È¥ê¡¼¥à¤Ë¤Ï;ʬ¤Ê¥Ð¥¤¥È¤¬Â¸ºß¤¹¤ë¡£
472 .BI "bool_t xdrrec_endofrecord(XDR *" xdrs ", int " sendnow );
475 .\"O This routine can be invoked only on streams created by
476 .\"O .BR xdrrec_create ().
477 .\"O The data in the output buffer is marked as a completed record,
478 .\"O and the output buffer is optionally written out if
481 .\"O This routine returns one if it succeeds, zero otherwise.
484 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
485 ½ÐÎϥХåե¡¤Î¥Ç¡¼¥¿¤Ï´°Á´¤Ê¥ì¥³¡¼¥É¤È¤·¤Æ°õ¤µ¤ì¡¢
487 ¤¬¥¼¥í¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï½ÐÎϥХåե¡¤Ï½ñ¤½Ð¤µ¤ì¤ë¡£
488 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
491 .BI "bool_t xdrrec_eof(XDR *" xdrs );
494 .\"O This routine can be invoked only on streams created by
495 .\"O .BR xdrrec_create ().
496 .\"O After consuming the rest of the current record in the stream,
497 .\"O this routine returns one if the stream has no more input,
501 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
502 ¥¹¥È¥ê¡¼¥à¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î»Ä¤ê¤ò¾ÃÈñ¤·¤¿¸å¤Ë¡¢
503 ¥¹¥È¥ê¡¼¥à¤ËÆþÎϤ¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
504 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
507 .BI "bool_t xdrrec_skiprecord(XDR *" xdrs );
510 .\"O This routine can be invoked only on
511 .\"O streams created by
512 .\"O .BR xdrrec_create ().
513 .\"O It tells the XDR implementation that the rest of the current record
514 .\"O in the stream's input buffer should be discarded.
515 .\"O This routine returns one if it succeeds, zero otherwise.
518 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
519 XDR ¤Î¼ÂÁõ¤Ë¤½¤Î¥¹¥È¥ê¡¼¥à¤ÎÆþÎϥХåե¡¡¼¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î»Ä¤ê¤ò
520 ¼Î¤Æ¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
521 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
524 .BI "bool_t xdr_reference(XDR *" xdrs ", char **" pp ", unsigned int " size ,
525 .BI " xdrproc_t " proc );
528 .\"O A primitive that provides pointer chasing within structures.
531 .\"O is the address of the pointer;
535 .\"O the structure that
539 .\"O is an XDR procedure that filters the structure
540 .\"O between its C form and its external representation.
541 .\"O This routine returns one if it succeeds, zero otherwise.
542 ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼ÄÉÀפòÄ󶡤¹¤ë´ðËܥ롼¥Æ¥£¥ó¡£
545 ¤Ï¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
553 ¤Ï¤½¤Î¹½Â¤ÂΤΠC ·Á¼°¤È³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦ XDR ¥×¥í¥·¥¸¥ã¤Ç¤¢¤ë¡£
554 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç 1 ¤òÊÖ¤¹¡£
555 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
557 .\"O Warning: this routine does not understand NULL pointers.
559 .\"O .BR xdr_pointer ()
561 ·Ù¹ð: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï NULL ¥Ý¥¤¥ó¥¿¡¼¤òÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£¤«¤ï¤ê¤Ë
566 .BI "xdr_setpos(XDR *" xdrs ", unsigned int " pos );
569 .\"O A macro that invokes the set position routine associated with
574 .\"O is a position value obtained from
575 .\"O .BR xdr_getpos ().
576 .\"O This routine returns one if the XDR stream could be repositioned,
577 .\"O and zero otherwise.
578 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
580 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿°ÌÃÖÀßÄê¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£°ú¤¿ô
584 ¤Ë¤è¤Ã¤Æ¼èÆÀ¤µ¤ì¤ë°ÌÃÖ¿ôÃͤǤ¢¤ë¡£
585 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï XDR ¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤ÎÊѹ¹¤¬¤Ç¤¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
586 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
588 .\"O Warning: it is difficult to reposition some types of XDR
589 .\"O streams, so this routine may fail with one
590 .\"O type of stream and succeed with another.
591 ·Ù¹ð: ¤¢¤ë¼ï¤Î XDR ¥¹¥È¥ê¡¼¥à¤Î¾ì¹ç¤Ï°ÌÃÖ¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦¤³¤È¤¬º¤Æñ¤Ç¤¢¤ë¡£
592 ¤½¤ì¤Ç¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¤¢¤ë¼ï¤Î¥¹¥È¥ê¡¼¥à¤Î¾ì¹ç¤Ë¤ÏÀ®¸ù¤·¡¢Ê̤μïÎà¤Î
593 ¾ì¹ç¤Ë¤Ï¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
596 .BI "bool_t xdr_short(XDR *" xdrs ", short *" sp );
599 .\"O A filter primitive that translates between C
601 .\"O integers and their external representations.
602 .\"O This routine returns one if it succeeds, zero otherwise.
605 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
606 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤¹¤ë¤È 1 ¤òÊÖ¤¹¡£
607 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
610 .BI "void xdrstdio_create(XDR *" xdrs ", FILE *" file ", enum xdr_op " op );
613 .\"O This routine initializes the XDR stream object pointed to by
615 .\"O The XDR stream data is written to, or read from, the
621 .\"O determines the direction of the XDR stream (either
622 .\"O .BR XDR_ENCODE ,
623 .\"O .BR XDR_DECODE ,
628 ¤Ç»Ø¤µ¤ì¤¿ XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
629 XDR ¥¹¥È¥ê¡¼¥à¤ËÆɤ߽ñ¤¤ì¤¿¥Ç¡¼¥¿¤Ï
635 °ú¤¿ô¤Ï XDR ¥¹¥È¥ê¡¼¥à¤ÎÊÑ´¹Êý¸þ¤ò·èÄꤹ¤ë
641 .\"O Warning: the destroy routine associated with such XDR streams calls
645 .\"O stream, but never
647 ·Ù¹ð: ¤³¤Î¤è¤¦¤Ê XDR ¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç˲õ¥ë¡¼¥Æ¥£¥ó¤Ï
653 ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ï¤Ê¤¤¡£
656 .BI "bool_t xdr_string(XDR *" xdrs ", char **" sp ", unsigned int " maxsize );
659 .\"O A filter primitive that translates between C strings and
660 .\"O their corresponding external representations.
661 .\"O Strings cannot be longer than
665 .\"O is the address of the string's pointer.
666 .\"O This routine returns one if it succeeds, zero otherwise.
667 C ¤Îʸ»úÎó¤È¤½¤ì¤ËÂбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
673 ¤Ïʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
674 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
675 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
678 .BI "bool_t xdr_u_char(XDR *" xdrs ", unsigned char *" ucp );
681 .\"O A filter primitive that translates between
683 .\"O C characters and their external representations.
684 .\"O This routine returns one if it succeeds, zero otherwise.
686 .I Éä¹æ̵¤·Ê¸»ú (unsigned char)
687 ¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
688 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
689 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
692 .BI "bool_t xdr_u_int(XDR *" xdrs ", unsigned *" up );
695 .\"O A filter primitive that translates between C
697 .\"O integers and their external representations.
698 .\"O This routine returns one if it succeeds, zero otherwise.
700 .I Éä¹æ̵¤·À°¿ô (unsigned)
701 ¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
702 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
703 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
706 .BI "bool_t xdr_u_long(XDR *" xdrs ", unsigned long *" ulp );
709 .\"O A filter primitive that translates between C
710 .\"O .I "unsigned long"
711 .\"O integers and their external representations.
712 .\"O This routine returns one if it succeeds, zero otherwise.
715 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
716 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
717 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
720 .BI "bool_t xdr_u_short(XDR *" xdrs ", unsigned short *" usp );
723 .\"O A filter primitive that translates between C
724 .\"O .I "unsigned short"
725 .\"O integers and their external representations.
726 .\"O This routine returns one if it succeeds, zero otherwise.
729 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
730 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
731 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
734 .BI "bool_t xdr_union(XDR *" xdrs ", int *" dscmp ", char *" unp ,
735 .BI " struct xdr_discrim *" choices ,
736 .BI " xdrproc_t " defaultarm "); /* may equal NULL */"
739 .\"O A filter primitive that translates between a discriminated C
741 .\"O and its corresponding external representation.
743 .\"O translates the discriminant of the union located at
747 ¤È¤½¤Î³°Éô·Á¼°¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
750 ¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¶¦ÍÑÂΤÎʬÊÌÍ×ÁǤ¬ÊÑ´¹¤µ¤ì¤ë¡£
751 .\"O This discriminant is always an
756 .\"O Next the union located at
761 .\"O is a pointer to an array of
762 .\"O .BR xdr_discrim ()
764 .\"O Each structure contains an ordered pair of
765 .\"O .RI [ value , proc ].
768 ¤Î°ÌÃ֤ζ¦ÍÑÂΤ¬ÊÑ´¹¤µ¤ì¤ë¡£°ú¤¿ô
772 ¹½Â¤ÂΤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£³Æ¹½Â¤ÂΤÏ
774 ¤Î½ç½øÉÕ¤¥Ú¥¢¤ò³ÊǼ¤·¤Æ¤¤¤ë¡£
775 .\"O If the union's discriminant is equal to the associated
779 .\"O is called to translate the union.
781 .\"O .BR xdr_discrim ()
782 .\"O structure array is denoted by a routine of value NULL.
783 ¤â¤·¶¦ÍÑÂΤÎʬÊÌÍ×ÁǤ¬´ØÏ¢ÉÕ¤±¤é¤ì¤¿
785 ¤ÈÅù¤·¤¤¾ì¹ç¤Ë¤Ï¡¢¶¦ÍÑÂΤòÊÑ´¹¤¹¤ë¤¿¤á¤Ë
789 ¹½Â¤ÂΤÎÇÛÎó¤ÎºÇ¸å¤Ï¡¢¥ë¡¼¥Æ¥£¥ó¤È¤·¤Æ
791 ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¼¨¤µ¤ì¤ë¡£
792 .\"O If the discriminant is not found in the
796 .\"O procedure is called (if it is not NULL).
797 .\"O Returns one if it succeeds, zero otherwise.
800 ÇÛÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
802 ¤¬ (NULL ¤Ç¤Ê¤±¤ì¤Ð) ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
803 À®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
806 .BI "bool_t xdr_vector(XDR *" xdrs ", char *" arrp ", unsigned int " size ,
807 .BI " unsigned int " elsize ", xdrproc_t " elproc );
810 .\"O A filter primitive that translates between fixed-length arrays
811 .\"O and their corresponding external representations.
814 .\"O is the address of the pointer to the array, while
816 .\"O is the element count of the array.
821 .\"O each of the array's elements, and
823 .\"O is an XDR filter that translates between
824 .\"O the array elements' C form, and their external
826 .\"O This routine returns one if it succeeds, zero otherwise.
827 ¸ÇÄêŤÎÇÛÎó¤È¤½¤ì¤é¤¬Âбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
830 ¤ÏÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£°ìÊý¤Ç
832 ¤ÏÇÛÎó¤ÎÍ×ÁÇ¿ô¤½¤Î¤â¤Î¤Ç¤¢¤ë¡£°ú¤¿ô
838 ¤ÏÇÛÎó¤ÎÍ×ÁǤò C ·Á¼°¤«¤é¤½¤Î³°Éôɽ¸½¤Ø¤ÈÊÑ´¹¤¹¤ë XDR ¥Õ¥£¥ë¥¿¡¼¤Ç¤¢¤ë¡£
839 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç 1 ¤òÊÖ¤¹¡£
840 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
843 .BI "bool_t xdr_void(void);"
846 .\"O This routine always returns one.
847 .\"O It may be passed to RPC routines that require a function argument,
848 .\"O where nothing is to be done.
849 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¾ï¤Ë 1 ¤òÊÖ¤¹¡£
850 ¤³¤ì¤Ï²¿¤â¹Ô¤Ê¤ï¤Ê¤¤¤¬¡¢´Ø¿ô°ú¤¿ô¤¬É¬ÍפÊ
851 RPC ¥ë¡¼¥Æ¥£¥ó¤ËÅϤ¹¤³¤È¤¬¤Ç¤¤ë¡£
854 .BI "bool_t xdr_wrapstring(XDR *" xdrs ", char **" sp );
857 .\"O A primitive that calls
858 .\"O .B "xdr_string(xdrs, sp,MAXUN.UNSIGNED );"
860 .\"O .B MAXUN.UNSIGNED
861 .\"O is the maximum value of an unsigned integer.
862 .\"O .BR xdr_wrapstring ()
863 .\"O is handy because the RPC package passes a maximum of two XDR
864 .\"O routines as arguments, and
865 .\"O .BR xdr_string (),
866 .\"O one of the most frequently used primitives, requires three.
867 .\"O Returns one if it succeeds, zero otherwise.
868 .B "xdr_string(xdrs, sp, \s-1MAXUN.UNSIGNED\s0 );"
869 ¤ò¸Æ¤Ó½Ð¤¹´ðËܥ롼¥Æ¥£¥ó¡£
873 ¤ÏÉä¹æ̵¤·À°¿ô(unsigned int)¤ÎºÇÂçÃͤǤ¢¤ë¡£
874 .BR xdr_wrapstring ()
879 ¥ë¡¼¥Æ¥£¥ó¤ÎºÇÂçÃͤò°ú¤¿ô¤È¤·¤ÆÅϤ¹¤¿¤áÊØÍø¤Ç¤¢¤ë¡£
881 ¤ÏºÇ¤âÉÑÈˤËÍøÍѤµ¤ì¤ë´ðËܥ롼¥Æ¥£¥ó¤Ç¤¢¤ë¤¬»°¤Ä¤òÍ׵᤹¤ë¡£
882 À®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡¢¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
887 .\"O The following manuals:
890 eXternal Data Representation Standard: Protocol Specification
892 eXternal Data Representation: Sun Technical Notes
894 .IR "XDR: External Data Representation Standard" ,
895 RFC\ 1014, Sun Microsystems, Inc.,