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"
14 xdr \- ³°Éô¥Ç¡¼¥¿É½¸½(XDR)¤Î¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó
17 ¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤Ï C ¥×¥í¥°¥é¥Þ¡¼¤¬¥Þ¥·¥óÈó°Í¸¤Ê·Á¼°¤Ç
18 Ǥ°Õ¤Î¥Ç¡¼¥¿¹½Â¤ÂΤòµ½Ò¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£
19 ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¤¿¤á¤Î¥Ç¡¼¥¿¤Ï¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤ò
22 °Ê²¼¤Ë¼¨¤¹¥×¥í¥È¥¿¥¤¥×Àë¸À¤Ï
24 ¤Ç¹Ô¤ï¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃæ¤Ç¤Ï¼¡¤Î·¿¤¬»ÈÍѤµ¤ì¤ë¡£
28 typedef int \fIbool_t\fP;
30 typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...);
40 .BI "bool_t xdr_array(XDR *" xdrs ", char **" arrp ", unsigned int *" sizep ,
41 .BI " unsigned int " maxsize ", unsigned int " elsize ,
42 .BI " xdrproc_t " elproc );
45 ²ÄÊÑŤÎÇÛÎó¤È¤½¤ì¤ËÂбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
48 ¤ÏÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê¡¢
50 ¤ÏÇÛÎó¤ÎÍ×ÁÇ¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
60 ¤ÏÇÛÎóÍ×ÁǤò C ·Á¼°¤«¤é¤½¤Î³°Éôɽ¸½¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Î XDR ¥Õ¥£¥ë¥¿¡¼¤Ç¤¢¤ë¡£
61 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
62 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
65 .BI "bool_t xdr_bool(XDR *" xdrs ", bool_t *" bp );
68 ¿¿µ¶ÃÍ(C ¤Î int)¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
69 ¥Ç¡¼¥¿¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë»þ¡¢¤³¤Î¥Õ¥£¥ë¥¿¡¼¤Ï 1 ¤Þ¤¿ 0 ¤ÎÃͤòÀ¸À®¤¹¤ë¡£
70 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
71 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
74 .BI "bool_t xdr_bytes(XDR *" xdrs ", char **" sp ", unsigned int *" sizep ,
75 .BI " unsigned int " maxsize );
78 ¤¢¤ëŤµ¤Î¥Ð¥¤¥Èʸ»úÎó¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
81 ¤Ïʸ»úÎó¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£Ê¸»úÎó¤ÎŤµ¤Ï
83 ¤Î¥¢¥É¥ì¥¹¤ËÃÖ¤¯¡£Ê¸»úÎó¤Ï
85 ¤è¤êŤ¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
86 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
87 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
90 .BI "bool_t xdr_char(XDR *" xdrs ", char *" cp );
93 C ¤Îʸ»ú(char)¤È¤½¤Î³°Éôɽ¸½¤È¤Î´Ö¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
94 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
95 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
96 Ãí°Õ: ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤ÏµÍ¤á¹þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¤½¤ì¤¾¤ì 4 ¥Ð¥¤¥È¤ò
97 Àê¤á¤ë¡£Ê¸»ú¤ÎÇÛÎó¤Î¾ì¹ç¤Ë¤Ï
101 ¤Ê¤É¤ò¹Íθ¤·¤¿Êý¤¬Îɤ¤¡£
104 .BI "void xdr_destroy(XDR *" xdrs );
107 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
109 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç˲õ¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
110 Ç˲õ¤Ë¤ÏÄ̾¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿»äŪ¥Ç¡¼¥¿¹½Â¤ÂΤβòÊü¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
114 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
117 .BI "bool_t xdr_double(XDR *" xdrs ", double *" dp );
122 ¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
123 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
124 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
127 .BI "bool_t xdr_enum(XDR *" xdrs ", enum_t *" ep );
132 (¼ÂºÝ¤Ë¤Ï int)¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
133 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
134 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
137 .BI "bool_t xdr_float(XDR *" xdrs ", float *" fp );
141 .IR "ÉâÆ°¾®¿ôÅÀ¿ô (float)"
142 ¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
143 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
144 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
147 .BI "void xdr_free(xdrproc_t " proc ", char *" objp );
150 ÈÆÍѲòÊü(free)¥ë¡¼¥Æ¥£¥ó¡£ºÇ½é¤Î°ú¤¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÊü¤¹¤ë¤¿¤á¤Î
151 XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£ÆóÈÖÌܤΰú¤¿ô¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¼«¿È¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼
152 ¤Ç¤¢¤ë¡£Ãí°Õ: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ËÅϤµ¤ì¤ë¥Ý¥¤¥ó¥¿¡¼¤Ï
154 ¤¬¡¢¤³¤Î¥Ý¥¤¥ó¥¿¡¼¤Î»Ø¤¹¥Ç¡¼¥¿¤Ï(ºÆµ¢Åª¤Ë)
158 .BI "unsigned int xdr_getpos(XDR *" xdrs );
161 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
163 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿°ÌÃÖ¼èÆÀ¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
164 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï XDR ¥Ð¥¤¥È¡¦¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤ò»Ø¼¨¤¹¤ëÉä¹æ̵¤·À°¿ô¤òÊÖ¤¹¡£
165 XDR ¥¹¥È¥ê¡¼¥à¤Îµ¡Ç½¤È¤·¤Æ¤³¤Î¿ôÃͤÇñ½ã¤Ê»»½Ñºî¶È¤¬¤Ç¤¤ë¤³¤È¤¬
166 ´üÂÔ¤µ¤ì¤Æ¤ë¤¤¤ë¡£¤·¤«¤·¤Ê¤¬¤é
167 XDR ¥¹¥È¥ê¡¼¥à¤Î¼ÂÂΤϤ³¤ì¤òÊݾڤ¹¤ëɬÍפϤʤ¤¡£
170 .BI "long *xdr_inline(XDR *" xdrs ", int " len );
173 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
175 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÆâÉô(inline)¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
176 ¥ë¡¼¥Æ¥£¥ó¤Ï¥¹¥È¥ê¡¼¥à¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ÎϢ³¤¹¤ëÃÇÊҤؤΥݥ¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
178 ¤ÏÍ׵᤹¤ë¥Ð¥Ã¥Õ¥¡¡¼¤Î¥Ð¥¤¥ÈŤǤ¢¤ë¡£
185 ¤Ï¥Ð¥Ã¥Õ¥¡¡¼¤ÎϢ³¤¹¤ëÃÇÊÒ¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï
186 NULL (0)¤òÊÖ¤¹¤«¤â¤·¤ì¤Ê¤¤¡£
187 ¤É¤Î¾ì¹ç¤â¤½¤ÎÆ°ºî¤Ï¥¹¥È¥ê¡¼¥à¤Î¼ÂÂΤˤè¤Ã¤ÆÊѲ½¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
188 ¤³¤ì¤Ï¸úΨ²½¤Î¤¿¤á¤Ë¸ºß¤·¤Æ¤¤¤ë¡£
191 .BI "bool_t xdr_int(XDR *" xdrs ", int *" ip );
194 C ¤ÎÀ°¿ô(int)¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
195 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
196 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
199 .BI "bool_t xdr_long(XDR *" xdrs ", long *" lp );
204 À°¿ô¤È¤½¤Î¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
205 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
206 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
209 .BI "void xdrmem_create(XDR *" xdrs ", char *" addr ", unsigned int " size ,
210 .BI " enum xdr_op " op );
215 ¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
218 °ÌÃ֤ˤ¢¤ë¥á¥â¥ê¡¼¤Î²ô¤«¤éÆɤ߽ñ¤¤µ¤ì¤ë¡£
219 ¤½¤ÎŤµ¤Ï¥Ð¥¤¥Èñ°Ì¤Ç
223 ¤Ï XDR ¥¹¥È¥ê¡¼¥à¤ÎÊÑ´¹Êý¸þ¤ò·èÄꤹ¤ë
230 .BI "bool_t xdr_opaque(XDR *" xdrs ", char *" cp ", unsigned int " cnt );
233 ¸ÇÄêŤÎÉÔÌÀ¥Ç¡¼¥¿¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
236 ¤ÏÉÔÌÀ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê
238 ¤Ï¤½¤Î¥Ð¥¤¥Èñ°Ì¤ÎÂ礤µ¤Ç¤¢¤ë¡£
239 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
240 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
243 .BI "bool_t xdr_pointer(XDR *" xdrs ", char **" objpp ,
244 .BI " unsigned int " objsize ", xdrproc_t " xdrobj );
248 ¤ÈƱÍͤǤ¢¤ë¤¬¡¢¤³¤ì¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤òÈֹ沽¤¹¤ë¤Î¤ËÂФ·¤Æ
250 ¤Ï¤½¤¦¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢
252 ¤ÏÆóʬÌÚ¤äÏ¢·ë¥ê¥¹¥È¤Î¤è¤¦¤ÊºÆµ¢Åª¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤò
256 .BI "void xdrrec_create(XDR *" xdrs ", unsigned int " sendsize ,
257 .BI " unsigned int " recvsize ", char *" handle ,
258 .BI " int (*" readit ") (char *, char *, int),"
259 .BI " int (*" writeit ") (char *, char *, int));"
264 ¤Ç»Ø¤µ¤ì¤¿ XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
265 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÂ礤µ
267 ¤Î¥Ð¥Ã¥Õ¥¡¤Ø½ñ¤¹þ¤Þ¤ì¤ë¡£
269 ¤ò¥¼¥í¤Ë¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤ËŬÀڤʥǥե©¥ë¥È¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë¡£
270 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÂ礤µ
272 ¤Î¥Ð¥Ã¥Õ¥¡¤«¤éÆɤ߹þ¤Þ¤ì¤ë¡£¤³¤ì¤â¥¼¥í¤òÅϤ¹¤³¤È¤ÇŬÀڤʥǥե©¥ë¥È¤Ë
273 ÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¡£
274 ¥¹¥È¥ê¡¼¥à¤Î½ÐÎϥХåե¡¤¬°ìÇդξì¹ç¤Ï
276 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£Æ±Íͤ˥¹¥È¥ê¡¼¥àÆþÎϥХåե¡¤¬¶õ¤Î¾ì¹ç¤Ë¤Ï
278 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¤³¤ì¤é¤ÎÆó¤Ä¤Î¥ë¡¼¥Æ¥£¥ó¤ÎÆ°ºî¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î
282 ¤È»÷¤Æ¤¤¤ë¤¬¡¢Á°¼Ô¤Î¥ë¡¼¥Æ¥£¥ó¤ÏºÇ½é¤Î°ú¤¿ô¤È¤·¤Æ
284 ¤¬ÅϤµ¤ì¤ëÅÀ¤Ç°Û¤Ê¤Ã¤Æ¤¤¤ë¡£
285 Ãí°Õ: XDR ¥¹¥È¥ê¡¼¥à¤Î
287 ¤Ï¸Æ¤Ó½Ð¤·Â¦¤ÇÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
289 ·Ù¹ð: ¤³¤Î XDR ¥¹¥È¥ê¡¼¥à¤ÏÃæ´Ö¥ì¥³¡¼¥É¡¦¥¹¥È¥ê¡¼¥à¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¡£
290 ¥ì¥³¡¼¥É¶³¦¤Î¾ðÊó¤òÄ󶡤¹¤ë¤¿¤á¤Ë¥¹¥È¥ê¡¼¥à¤Ë¤Ï;ʬ¤Ê¥Ð¥¤¥È¤¬Â¸ºß¤¹¤ë¡£
293 .BI "bool_t xdrrec_endofrecord(XDR *" xdrs ", int " sendnow );
298 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
299 ½ÐÎϥХåե¡¤Î¥Ç¡¼¥¿¤Ï´°Á´¤Ê¥ì¥³¡¼¥É¤È¤·¤Æ°õ¤µ¤ì¡¢
301 ¤¬¥¼¥í¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï½ÐÎϥХåե¡¤Ï½ñ¤½Ð¤µ¤ì¤ë¡£
302 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
305 .BI "bool_t xdrrec_eof(XDR *" xdrs );
310 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
311 ¥¹¥È¥ê¡¼¥à¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î»Ä¤ê¤ò¾ÃÈñ¤·¤¿¸å¤Ë¡¢
312 ¥¹¥È¥ê¡¼¥à¤ËÆþÎϤ¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
313 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
316 .BI "bool_t xdrrec_skiprecord(XDR *" xdrs );
321 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
322 XDR ¤Î¼ÂÁõ¤Ë¤½¤Î¥¹¥È¥ê¡¼¥à¤ÎÆþÎϥХåե¡¡¼¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î»Ä¤ê¤ò
323 ¼Î¤Æ¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
324 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
327 .BI "bool_t xdr_reference(XDR *" xdrs ", char **" pp ", unsigned int " size ,
328 .BI " xdrproc_t " proc );
331 ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼ÄÉÀפòÄ󶡤¹¤ë´ðËܥ롼¥Æ¥£¥ó¡£
334 ¤Ï¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
342 ¤Ï¤½¤Î¹½Â¤ÂΤΠC ·Á¼°¤È³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦ XDR ¥×¥í¥·¥¸¥ã¤Ç¤¢¤ë¡£
343 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç 1 ¤òÊÖ¤¹¡£
344 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
346 ·Ù¹ð: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï NULL ¥Ý¥¤¥ó¥¿¡¼¤òÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£¤«¤ï¤ê¤Ë
351 .BI "xdr_setpos(XDR *" xdrs ", unsigned int " pos );
354 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
356 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿°ÌÃÖÀßÄê¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£°ú¤¿ô
360 ¤Ë¤è¤Ã¤Æ¼èÆÀ¤µ¤ì¤ë°ÌÃÖ¿ôÃͤǤ¢¤ë¡£
361 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï XDR ¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤ÎÊѹ¹¤¬¤Ç¤¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
362 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
364 ·Ù¹ð: ¤¢¤ë¼ï¤Î XDR ¥¹¥È¥ê¡¼¥à¤Î¾ì¹ç¤Ï°ÌÃÖ¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦¤³¤È¤¬º¤Æñ¤Ç¤¢¤ë¡£
365 ¤½¤ì¤Ç¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¤¢¤ë¼ï¤Î¥¹¥È¥ê¡¼¥à¤Î¾ì¹ç¤Ë¤ÏÀ®¸ù¤·¡¢Ê̤μïÎà¤Î
366 ¾ì¹ç¤Ë¤Ï¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
369 .BI "bool_t xdr_short(XDR *" xdrs ", short *" sp );
374 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
375 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤¹¤ë¤È 1 ¤òÊÖ¤¹¡£
376 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
379 .BI "void xdrstdio_create(XDR *" xdrs ", FILE *" file ", enum xdr_op " op );
384 ¤Ç»Ø¤µ¤ì¤¿ XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
385 XDR ¥¹¥È¥ê¡¼¥à¤ËÆɤ߽ñ¤¤ì¤¿¥Ç¡¼¥¿¤Ï
391 °ú¤¿ô¤Ï XDR ¥¹¥È¥ê¡¼¥à¤ÎÊÑ´¹Êý¸þ¤ò·èÄꤹ¤ë
397 ·Ù¹ð: ¤³¤Î¤è¤¦¤Ê XDR ¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç˲õ¥ë¡¼¥Æ¥£¥ó¤Ï
403 ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ï¤Ê¤¤¡£
406 .BI "bool_t xdr_string(XDR *" xdrs ", char **" sp ", unsigned int " maxsize );
409 C ¤Îʸ»úÎó¤È¤½¤ì¤ËÂбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
415 ¤Ïʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
416 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
417 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
420 .BI "bool_t xdr_u_char(XDR *" xdrs ", unsigned char *" ucp );
424 .I Éä¹æ̵¤·Ê¸»ú (unsigned char)
425 ¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
426 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
427 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
430 .BI "bool_t xdr_u_int(XDR *" xdrs ", unsigned *" up );
434 .I Éä¹æ̵¤·À°¿ô (unsigned)
435 ¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
436 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
437 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
440 .BI "bool_t xdr_u_long(XDR *" xdrs ", unsigned long *" ulp );
445 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
446 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
447 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
450 .BI "bool_t xdr_u_short(XDR *" xdrs ", unsigned short *" usp );
455 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
456 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
457 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
460 .BI "bool_t xdr_union(XDR *" xdrs ", int *" dscmp ", char *" unp ,
461 .BI " struct xdr_discrim *" choices ,
462 .BI " xdrproc_t " defaultarm "); /* may equal NULL */"
467 ¤È¤½¤Î³°Éô·Á¼°¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
470 ¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¶¦ÍÑÂΤÎʬÊÌÍ×ÁǤ¬ÊÑ´¹¤µ¤ì¤ë¡£
476 ¤Î°ÌÃ֤ζ¦ÍÑÂΤ¬ÊÑ´¹¤µ¤ì¤ë¡£°ú¤¿ô
480 ¹½Â¤ÂΤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£³Æ¹½Â¤ÂΤÏ
482 ¤Î½ç½øÉÕ¤¥Ú¥¢¤ò³ÊǼ¤·¤Æ¤¤¤ë¡£
483 ¤â¤·¶¦ÍÑÂΤÎʬÊÌÍ×ÁǤ¬´ØÏ¢ÉÕ¤±¤é¤ì¤¿
485 ¤ÈÅù¤·¤¤¾ì¹ç¤Ë¤Ï¡¢¶¦ÍÑÂΤòÊÑ´¹¤¹¤ë¤¿¤á¤Ë
489 ¹½Â¤ÂΤÎÇÛÎó¤ÎºÇ¸å¤Ï¡¢¥ë¡¼¥Æ¥£¥ó¤È¤·¤Æ
491 ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¼¨¤µ¤ì¤ë¡£
494 ÇÛÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
496 ¤¬ (NULL ¤Ç¤Ê¤±¤ì¤Ð) ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
497 À®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
500 .BI "bool_t xdr_vector(XDR *" xdrs ", char *" arrp ", unsigned int " size ,
501 .BI " unsigned int " elsize ", xdrproc_t " elproc );
504 ¸ÇÄêŤÎÇÛÎó¤È¤½¤ì¤é¤¬Âбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
507 ¤ÏÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£°ìÊý¤Ç
509 ¤ÏÇÛÎó¤ÎÍ×ÁÇ¿ô¤½¤Î¤â¤Î¤Ç¤¢¤ë¡£°ú¤¿ô
515 ¤ÏÇÛÎó¤ÎÍ×ÁǤò C ·Á¼°¤«¤é¤½¤Î³°Éôɽ¸½¤Ø¤ÈÊÑ´¹¤¹¤ë XDR ¥Õ¥£¥ë¥¿¡¼¤Ç¤¢¤ë¡£
516 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç 1 ¤òÊÖ¤¹¡£
517 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
520 .BI "bool_t xdr_void(void);"
523 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¾ï¤Ë 1 ¤òÊÖ¤¹¡£
524 ¤³¤ì¤Ï²¿¤â¹Ô¤Ê¤ï¤Ê¤¤¤¬¡¢´Ø¿ô°ú¤¿ô¤¬É¬ÍפÊ
525 RPC ¥ë¡¼¥Æ¥£¥ó¤ËÅϤ¹¤³¤È¤¬¤Ç¤¤ë¡£
528 .BI "bool_t xdr_wrapstring(XDR *" xdrs ", char **" sp );
531 .B "xdr_string(xdrs, sp, \s-1MAXUN.UNSIGNED\s0 );"
532 ¤ò¸Æ¤Ó½Ð¤¹´ðËܥ롼¥Æ¥£¥ó¡£
536 ¤ÏÉä¹æ̵¤·À°¿ô(unsigned int)¤ÎºÇÂçÃͤǤ¢¤ë¡£
537 .BR xdr_wrapstring ()
542 ¥ë¡¼¥Æ¥£¥ó¤ÎºÇÂçÃͤò°ú¤¿ô¤È¤·¤ÆÅϤ¹¤¿¤áÊØÍø¤Ç¤¢¤ë¡£
544 ¤ÏºÇ¤âÉÑÈˤËÍøÍѤµ¤ì¤ë´ðËܥ롼¥Æ¥£¥ó¤Ç¤¢¤ë¤¬»°¤Ä¤òÍ׵᤹¤ë¡£
545 À®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡¢¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
551 eXternal Data Representation Standard: Protocol Specification
553 eXternal Data Representation: Sun Technical Notes
555 .IR "XDR: External Data Representation Standard" ,
556 RFC\ 1014, Sun Microsystems, Inc.,