OSDN Git Service

(split) Fixed #25191 (typo in fenv.3).
[linuxjm/LDP_man-pages.git] / release / man3 / xdr.3
1 .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
2 .\"
3 .\" @(#)xdr.3n  2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 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:51 JST 2000
10 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
11 .\"
12 .TH XDR 3 2007-12-30 "" "Linux Programmer's Manual"
13 .SH Ì¾Á°
14 xdr \- ³°Éô¥Ç¡¼¥¿É½¸½(XDR)¤Î¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó
15 .SH ½ñ¼°¤ÈÀâÌÀ
16 .LP
17 ¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤Ï C ¥×¥í¥°¥é¥Þ¡¼¤¬¥Þ¥·¥óÈó°Í¸¤Ê·Á¼°¤Ç
18 Ǥ°Õ¤Î¥Ç¡¼¥¿¹½Â¤ÂΤòµ­½Ò¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£
19 ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¤¿¤á¤Î¥Ç¡¼¥¿¤Ï¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤ò
20 »ÈÍѤ·¤ÆÁ÷¿®¤µ¤ì¤ë¡£
21
22 °Ê²¼¤Ë¼¨¤¹¥×¥í¥È¥¿¥¤¥×Àë¸À¤Ï
23 .I <rpc/xdr.h>
24 ¤Ç¹Ô¤ï¤ì¤Æ¤ª¤ê¡¢¤½¤ÎÃæ¤Ç¤Ï¼¡¤Î·¿¤¬»ÈÍѤµ¤ì¤ë¡£
25 .in +4n
26 .nf
27
28 typedef int \fIbool_t\fP;
29
30 typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...);
31 .fi
32 .in
33 .LP
34 .I XDR
35 ·¿¤ÎÀë¸À¤Ë¤Ä¤¤¤Æ¤Ï¡¢
36 .I <rpc/xdr.h>
37 ¤ò»²¾È¡£
38 .LP
39 .nf
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 );
43 .fi
44 .IP
45 ²ÄÊÑŤÎÇÛÎó¤È¤½¤ì¤ËÂбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
46 °ú¤­¿ô
47 .I arrp
48 ¤ÏÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê¡¢
49 .I sizep
50 ¤ÏÇÛÎó¤ÎÍ×ÁÇ¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
51 ¤³¤ì¤é¤ÎÍ×ÁÇ¿ô¤Ï
52 .I maxsize
53 ¤òĶ¤¨¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
54 °ú¤­¿ô
55 .I elsize
56 ¤Ï³ÆÇÛÎó¤ÎÍ×ÁǤÎ
57 .I sizeof
58 ¤Ç¤¢¤ê¡¢
59 .I elproc
60 ¤ÏÇÛÎóÍ×ÁǤò C ·Á¼°¤«¤é¤½¤Î³°Éôɽ¸½¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Î XDR ¥Õ¥£¥ë¥¿¡¼¤Ç¤¢¤ë¡£
61 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
62 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
63 .LP
64 .nf
65 .BI "bool_t xdr_bool(XDR *" xdrs ", bool_t *" bp );
66 .fi
67 .IP
68 ¿¿µ¶ÃÍ(C ¤Î int)¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
69 ¥Ç¡¼¥¿¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë»þ¡¢¤³¤Î¥Õ¥£¥ë¥¿¡¼¤Ï 1 ¤Þ¤¿ 0 ¤ÎÃͤòÀ¸À®¤¹¤ë¡£
70 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
71 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
72 .LP
73 .nf
74 .BI "bool_t xdr_bytes(XDR *" xdrs ", char **" sp ", unsigned int *" sizep ,
75 .BI "                 unsigned int " maxsize );
76 .fi
77 .IP
78 ¤¢¤ëŤµ¤Î¥Ð¥¤¥Èʸ»úÎó¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
79 °ú¤­¿ô
80 .I sp
81 ¤Ïʸ»úÎó¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£Ê¸»úÎó¤ÎŤµ¤Ï
82 .I sizep
83 ¤Î¥¢¥É¥ì¥¹¤ËÃÖ¤¯¡£Ê¸»úÎó¤Ï
84 .I maxsize
85 ¤è¤êŤ¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
86 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
87 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
88 .LP
89 .nf
90 .BI "bool_t xdr_char(XDR *" xdrs ", char *" cp );
91 .fi
92 .IP
93 C ¤Îʸ»ú(char)¤È¤½¤Î³°Éôɽ¸½¤È¤Î´Ö¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
94 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
95 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
96 Ãí°Õ: ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤ÏµÍ¤á¹þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢¤½¤ì¤¾¤ì 4 ¥Ð¥¤¥È¤ò
97 Àê¤á¤ë¡£Ê¸»ú¤ÎÇÛÎó¤Î¾ì¹ç¤Ë¤Ï
98 .BR xdr_bytes (),
99 .BR xdr_opaque (),
100 .BR xdr_string ()
101 ¤Ê¤É¤ò¹Íθ¤·¤¿Êý¤¬Îɤ¤¡£
102 .LP
103 .nf
104 .BI "void xdr_destroy(XDR *" xdrs );
105 .fi
106 .IP
107 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
108 .I xdrs
109 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç˲õ¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
110 Ç˲õ¤Ë¤ÏÄ̾¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿»äŪ¥Ç¡¼¥¿¹½Â¤ÂΤβòÊü¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
111 .BR xdr_destroy ()
112 ¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ë
113 .I xdrs
114 ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
115 .LP
116 .nf
117 .BI "bool_t xdr_double(XDR *" xdrs ", double *" dp );
118 .fi
119 .IP
120 C ¤Î
121 .I ÇÜÀºÅÙ¿ô (double)
122 ¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
123 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
124 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
125 .LP
126 .nf
127 .BI "bool_t xdr_enum(XDR *" xdrs ", enum_t *" ep );
128 .fi
129 .IP
130 C ¤Î
131 .I enum
132 (¼ÂºÝ¤Ë¤Ï int)¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
133 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
134 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
135 .LP
136 .nf
137 .BI "bool_t xdr_float(XDR *" xdrs ", float *" fp );
138 .fi
139 .IP
140 C ¤Î
141 .IR "ÉâÆ°¾®¿ôÅÀ¿ô (float)"
142 ¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
143 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
144 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
145 .LP
146 .nf
147 .BI "void xdr_free(xdrproc_t " proc ", char *" objp );
148 .fi
149 .IP
150 ÈÆÍѲòÊü(free)¥ë¡¼¥Æ¥£¥ó¡£ºÇ½é¤Î°ú¤­¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÊü¤¹¤ë¤¿¤á¤Î
151 XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£ÆóÈÖÌܤΰú¤­¿ô¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¼«¿È¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼
152 ¤Ç¤¢¤ë¡£Ãí°Õ: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ËÅϤµ¤ì¤ë¥Ý¥¤¥ó¥¿¡¼¤Ï
153 .I ²òÊü¤µ¤ì¤Ê¤¤
154 ¤¬¡¢¤³¤Î¥Ý¥¤¥ó¥¿¡¼¤Î»Ø¤¹¥Ç¡¼¥¿¤Ï(ºÆµ¢Åª¤Ë)
155 .IR ²òÊü¤µ¤ì¤ë ¡£
156 .LP
157 .nf
158 .BI "unsigned int xdr_getpos(XDR *" xdrs );
159 .fi
160 .IP
161 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
162 .I xdrs
163 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿°ÌÃÖ¼èÆÀ¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
164 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï XDR ¥Ð¥¤¥È¡¦¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤ò»Ø¼¨¤¹¤ëÉä¹æ̵¤·À°¿ô¤òÊÖ¤¹¡£
165 XDR ¥¹¥È¥ê¡¼¥à¤Îµ¡Ç½¤È¤·¤Æ¤³¤Î¿ôÃͤÇñ½ã¤Ê»»½Ñºî¶È¤¬¤Ç¤­¤ë¤³¤È¤¬
166 ´üÂÔ¤µ¤ì¤Æ¤ë¤¤¤ë¡£¤·¤«¤·¤Ê¤¬¤é
167 XDR ¥¹¥È¥ê¡¼¥à¤Î¼ÂÂΤϤ³¤ì¤òÊݾڤ¹¤ëɬÍפϤʤ¤¡£
168 .LP
169 .nf
170 .BI "long *xdr_inline(XDR *" xdrs ", int " len );
171 .fi
172 .IP
173 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
174 .I xdrs
175 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÆâÉô(inline)¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£
176 ¥ë¡¼¥Æ¥£¥ó¤Ï¥¹¥È¥ê¡¼¥à¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ÎϢ³¤¹¤ëÃÇÊҤؤΥݥ¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
177 .I len
178 ¤ÏÍ׵᤹¤ë¥Ð¥Ã¥Õ¥¡¡¼¤Î¥Ð¥¤¥ÈŤǤ¢¤ë¡£
179 Ãí°Õ: ¥Ý¥¤¥ó¥¿¡¼¤Ï
180 .I "long *"
181 ¤Ë¥­¥ã¥¹¥È¤µ¤ì¤ë¡£
182 .IP
183 ·Ù¹ð:
184 .BR xdr_inline ()
185 ¤Ï¥Ð¥Ã¥Õ¥¡¡¼¤ÎϢ³¤¹¤ëÃÇÊÒ¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï
186 NULL (0)¤òÊÖ¤¹¤«¤â¤·¤ì¤Ê¤¤¡£
187 ¤É¤Î¾ì¹ç¤â¤½¤ÎÆ°ºî¤Ï¥¹¥È¥ê¡¼¥à¤Î¼ÂÂΤˤè¤Ã¤ÆÊѲ½¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
188 ¤³¤ì¤Ï¸úΨ²½¤Î¤¿¤á¤Ë¸ºß¤·¤Æ¤¤¤ë¡£
189 .LP
190 .nf
191 .BI "bool_t xdr_int(XDR *" xdrs ", int *" ip );
192 .fi
193 .IP
194 C ¤ÎÀ°¿ô(int)¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
195 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
196 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
197 .LP
198 .nf
199 .BI "bool_t xdr_long(XDR *" xdrs ", long *" lp );
200 .fi
201 .IP
202 C ¤Î
203 .I long
204 À°¿ô¤È¤½¤Î¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
205 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
206 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
207 .LP
208 .nf
209 .BI "void xdrmem_create(XDR *" xdrs ", char *" addr ", unsigned int " size ,
210 .BI "                   enum xdr_op " op );
211 .fi
212 .IP
213 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
214 .I xdrs
215 ¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤Æ¤¤¤ë XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
216 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤Ï
217 .I addr
218 °ÌÃ֤ˤ¢¤ë¥á¥â¥ê¡¼¤Î²ô¤«¤éÆɤ߽ñ¤­¤µ¤ì¤ë¡£
219 ¤½¤ÎŤµ¤Ï¥Ð¥¤¥Èñ°Ì¤Ç
220 .I size
221 Ķ¤¨¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
222 .I op
223 ¤Ï XDR ¥¹¥È¥ê¡¼¥à¤ÎÊÑ´¹Êý¸þ¤ò·èÄꤹ¤ë
224 .RB ( XDR_ENCODE ,
225 .BR XDR_DECODE ,
226 .B XDR_FREE
227 ¤Î¤É¤ì¤«)¡£
228 .LP
229 .nf
230 .BI "bool_t xdr_opaque(XDR *" xdrs ", char *" cp ", unsigned int " cnt );
231 .fi
232 .IP
233 ¸ÇÄêŤÎÉÔÌÀ¥Ç¡¼¥¿¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
234 °ú¤­¿ô
235 .I cp
236 ¤ÏÉÔÌÀ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê
237 .I cnt
238 ¤Ï¤½¤Î¥Ð¥¤¥Èñ°Ì¤ÎÂ礭¤µ¤Ç¤¢¤ë¡£
239 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
240 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
241 .LP
242 .nf
243 .BI "bool_t xdr_pointer(XDR *" xdrs ", char **" objpp ,
244 .BI "                   unsigned int " objsize ", xdrproc_t " xdrobj );
245 .fi
246 .IP
247 .BR xdr_reference ()
248 ¤ÈƱÍͤǤ¢¤ë¤¬¡¢¤³¤ì¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤òÈֹ沽¤¹¤ë¤Î¤ËÂФ·¤Æ
249 .BR xdr_reference ()
250 ¤Ï¤½¤¦¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢
251 .BR xdr_pointer ()
252 ¤ÏÆóʬÌÚ¤äÏ¢·ë¥ê¥¹¥È¤Î¤è¤¦¤ÊºÆµ¢Åª¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤò
253 ɽ¸½¤Ç¤­¤ë¡£
254 .LP
255 .nf
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));"
260 .fi
261 .IP
262 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
263 .I xdrs
264 ¤Ç»Ø¤µ¤ì¤¿ XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
265 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÂ礭¤µ
266 .I sendsize
267 ¤Î¥Ð¥Ã¥Õ¥¡¤Ø½ñ¤­¹þ¤Þ¤ì¤ë¡£
268 .I sendsize
269 ¤ò¥¼¥í¤Ë¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤ËŬÀڤʥǥե©¥ë¥È¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë¡£
270 ¥¹¥È¥ê¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÂ礭¤µ
271 .I recvsize
272 ¤Î¥Ð¥Ã¥Õ¥¡¤«¤éÆɤ߹þ¤Þ¤ì¤ë¡£¤³¤ì¤â¥¼¥í¤òÅϤ¹¤³¤È¤ÇŬÀڤʥǥե©¥ë¥È¤Ë
273 ÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
274 ¥¹¥È¥ê¡¼¥à¤Î½ÐÎϥХåե¡¤¬°ìÇդξì¹ç¤Ï
275 .I writeit
276 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£Æ±Íͤ˥¹¥È¥ê¡¼¥àÆþÎϥХåե¡¤¬¶õ¤Î¾ì¹ç¤Ë¤Ï
277 .I readit
278 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¤³¤ì¤é¤ÎÆó¤Ä¤Î¥ë¡¼¥Æ¥£¥ó¤ÎÆ°ºî¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î
279 .BR read (2)
280 ¤ä
281 .BR write (2)
282 ¤È»÷¤Æ¤¤¤ë¤¬¡¢Á°¼Ô¤Î¥ë¡¼¥Æ¥£¥ó¤ÏºÇ½é¤Î°ú¤­¿ô¤È¤·¤Æ
283 .I handle
284 ¤¬ÅϤµ¤ì¤ëÅÀ¤Ç°Û¤Ê¤Ã¤Æ¤¤¤ë¡£
285 Ãí°Õ: XDR ¥¹¥È¥ê¡¼¥à¤Î
286 .I op
287 ¤Ï¸Æ¤Ó½Ð¤·Â¦¤ÇÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
288 .IP
289 ·Ù¹ð: ¤³¤Î XDR ¥¹¥È¥ê¡¼¥à¤ÏÃæ´Ö¥ì¥³¡¼¥É¡¦¥¹¥È¥ê¡¼¥à¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¡£
290 ¥ì¥³¡¼¥É¶­³¦¤Î¾ðÊó¤òÄ󶡤¹¤ë¤¿¤á¤Ë¥¹¥È¥ê¡¼¥à¤Ë¤Ï;ʬ¤Ê¥Ð¥¤¥È¤¬Â¸ºß¤¹¤ë¡£
291 .LP
292 .nf
293 .BI "bool_t xdrrec_endofrecord(XDR *" xdrs ", int " sendnow );
294 .fi
295 .IP
296 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
297 .BR xdrrec_create ()
298 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
299 ½ÐÎϥХåե¡¤Î¥Ç¡¼¥¿¤Ï´°Á´¤Ê¥ì¥³¡¼¥É¤È¤·¤Æ°õ¤µ¤ì¡¢
300 .I sendnow
301 ¤¬¥¼¥í¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï½ÐÎϥХåե¡¤Ï½ñ¤­½Ð¤µ¤ì¤ë¡£
302 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
303 .LP
304 .nf
305 .BI "bool_t xdrrec_eof(XDR *" xdrs );
306 .fi
307 .IP
308 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
309 .BR xdrrec_create ()
310 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
311 ¥¹¥È¥ê¡¼¥à¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î»Ä¤ê¤ò¾ÃÈñ¤·¤¿¸å¤Ë¡¢
312 ¥¹¥È¥ê¡¼¥à¤ËÆþÎϤ¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
313 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
314 .LP
315 .nf
316 .BI "bool_t xdrrec_skiprecord(XDR *" xdrs );
317 .fi
318 .IP
319 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
320 .BR xdrrec_create ()
321 ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
322 XDR ¤Î¼ÂÁõ¤Ë¤½¤Î¥¹¥È¥ê¡¼¥à¤ÎÆþÎϥХåե¡¡¼¤Î¸½ºß¤Î¥ì¥³¡¼¥É¤Î»Ä¤ê¤ò
323 ¼Î¤Æ¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
324 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
325 .LP
326 .nf
327 .BI "bool_t xdr_reference(XDR *" xdrs ", char **" pp ", unsigned int " size ,
328 .BI "                     xdrproc_t " proc );
329 .fi
330 .IP
331 ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼ÄÉÀפòÄ󶡤¹¤ë´ðËܥ롼¥Æ¥£¥ó¡£
332 °ú¤­¿ô
333 .I pp
334 ¤Ï¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
335 .I size
336 ¤Ï
337 .I *pp
338 ¤¬»Ø¤·¤Æ¤¤¤ë¹½Â¤ÂΤÎ
339 .I sizeof
340 ¤Ç¤¢¤ë¡£
341 .I proc
342 ¤Ï¤½¤Î¹½Â¤ÂΤΠC ·Á¼°¤È³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦ XDR ¥×¥í¥·¥¸¥ã¤Ç¤¢¤ë¡£
343 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç 1 ¤òÊÖ¤¹¡£
344 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
345 .IP
346 ·Ù¹ð: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï NULL ¥Ý¥¤¥ó¥¿¡¼¤òÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£¤«¤ï¤ê¤Ë
347 .BR xdr_pointer ()
348 ¤ò»ÈÍѤ¹¤ë¤³¤È¡£
349 .LP
350 .nf
351 .BI "xdr_setpos(XDR *" xdrs ", unsigned int " pos );
352 .fi
353 .IP
354 ¤³¤Î¥Þ¥¯¥í¤Ï XDR ¥¹¥È¥ê¡¼¥à
355 .I xdrs
356 ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿°ÌÃÖÀßÄê¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤¹¡£°ú¤­¿ô
357 .I pos
358 ¤Ï
359 .BR xdr_getpos ()
360 ¤Ë¤è¤Ã¤Æ¼èÆÀ¤µ¤ì¤ë°ÌÃÖ¿ôÃͤǤ¢¤ë¡£
361 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï XDR ¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤ÎÊѹ¹¤¬¤Ç¤­¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
362 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£
363 .IP
364 ·Ù¹ð: ¤¢¤ë¼ï¤Î XDR ¥¹¥È¥ê¡¼¥à¤Î¾ì¹ç¤Ï°ÌÃÖ¤ÎÊѹ¹¤ò¹Ô¤Ê¤¦¤³¤È¤¬º¤Æñ¤Ç¤¢¤ë¡£
365 ¤½¤ì¤Ç¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¤¢¤ë¼ï¤Î¥¹¥È¥ê¡¼¥à¤Î¾ì¹ç¤Ë¤ÏÀ®¸ù¤·¡¢Ê̤μïÎà¤Î
366 ¾ì¹ç¤Ë¤Ï¼ºÇÔ¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
367 .LP
368 .nf
369 .BI "bool_t xdr_short(XDR *" xdrs ", short *" sp );
370 .fi
371 .IP
372 C ¤Î
373 .I short
374 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤È¤ÎÊÑ´¹¤ò¹Ô¤Ê¤¦´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
375 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤¹¤ë¤È 1 ¤òÊÖ¤¹¡£
376 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
377 .LP
378 .nf
379 .BI "void xdrstdio_create(XDR *" xdrs ", FILE *" file ", enum xdr_op " op );
380 .fi
381 .IP
382 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
383 .I xdrs
384 ¤Ç»Ø¤µ¤ì¤¿ XDR ¥¹¥È¥ê¡¼¥à¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò½é´ü²½¤¹¤ë¡£
385 XDR ¥¹¥È¥ê¡¼¥à¤ËÆɤ߽ñ¤­¤ì¤¿¥Ç¡¼¥¿¤Ï
386 .I stdio
387 ¥¹¥È¥ê¡¼¥à
388 .I file
389 ¤¬»ÈÍѤµ¤ì¤ë¡£
390 .I op
391 °ú¤­¿ô¤Ï XDR ¥¹¥È¥ê¡¼¥à¤ÎÊÑ´¹Êý¸þ¤ò·èÄꤹ¤ë
392 .RB ( XDR_ENCODE ,
393 .BR XDR_DECODE ,
394 .B XDR_FREE
395 ¤Î¤É¤ì¤«)¡£
396 .IP
397 ·Ù¹ð: ¤³¤Î¤è¤¦¤Ê XDR ¥¹¥È¥ê¡¼¥à¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç˲õ¥ë¡¼¥Æ¥£¥ó¤Ï
398 .I file
399 ¥¹¥È¥ê¡¼¥à¤ËÂФ·¤Æ
400 .BR fflush (3)
401 ¤ò¸Æ¤Ó½Ð¤¹¤¬
402 .BR fclose (3)
403 ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ï¤Ê¤¤¡£
404 .LP
405 .nf
406 .BI "bool_t xdr_string(XDR *" xdrs ", char **" sp ", unsigned int " maxsize );
407 .fi
408 .IP
409 C ¤Îʸ»úÎó¤È¤½¤ì¤ËÂбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
410 ʸ»úÎó¤Ï
411 .I maxsize
412 ¤è¤êŤ¯¤Ï¤Ç¤­¤Ê¤¤¡£
413 Ãí°Õ:
414 .I sp
415 ¤Ïʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
416 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
417 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
418 .LP
419 .nf
420 .BI "bool_t xdr_u_char(XDR *" xdrs ", unsigned char *" ucp );
421 .fi
422 .IP
423 C ¤Î
424 .I Éä¹æ̵¤·Ê¸»ú (unsigned char)
425 ¤È¤½¤Î³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
426 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
427 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
428 .LP
429 .nf
430 .BI "bool_t xdr_u_int(XDR *" xdrs ", unsigned *" up );
431 .fi
432 .IP
433 C ¤Î
434 .I Éä¹æ̵¤·À°¿ô (unsigned)
435 ¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
436 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
437 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
438 .LP
439 .nf
440 .BI "bool_t xdr_u_long(XDR *" xdrs ", unsigned long *" ulp );
441 .fi
442 .IP
443 C ¤Î
444 .I "unsigned long"
445 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
446 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
447 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
448 .LP
449 .nf
450 .BI "bool_t xdr_u_short(XDR *" xdrs ", unsigned short *" usp );
451 .fi
452 .IP
453 C ¤Î
454 .I "unsigned short"
455 À°¿ô¤È¤½¤Î³°Éôɽ¸½¤òÊÑ´¹¤¹¤ë¤¿¤á¤Î´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
456 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
457 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
458 .LP
459 .nf
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 */"
463 .fi
464 .IP
465 ʬÊ̲Äǽ¤Ê C ¤Î
466 .I "¶¦ÍÑÂΠ(union)"
467 ¤È¤½¤Î³°Éô·Á¼°¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
468 ºÇ½é¤Ë
469 .I dscmp
470 ¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¶¦ÍÑÂΤÎʬÊÌÍ×ÁǤ¬ÊÑ´¹¤µ¤ì¤ë¡£
471 ¤³¤ÎʬÊÌÍ×ÁǤϾï¤Ë
472 .I enum_t
473 ¤Ç¤¢¤ë¡£
474 ¼¡¤Ë
475 .I unp
476 ¤Î°ÌÃ֤ζ¦ÍÑÂΤ¬ÊÑ´¹¤µ¤ì¤ë¡£°ú¤­¿ô
477 .I choices
478 ¤Ï
479 .BR xdr_discrim ()
480 ¹½Â¤ÂΤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£³Æ¹½Â¤ÂΤÏ
481 .RI [ value , proc ]
482 ¤Î½ç½øÉÕ¤­¥Ú¥¢¤ò³ÊǼ¤·¤Æ¤¤¤ë¡£
483 ¤â¤·¶¦ÍÑÂΤÎʬÊÌÍ×ÁǤ¬´ØÏ¢ÉÕ¤±¤é¤ì¤¿
484 .I value
485 ¤ÈÅù¤·¤¤¾ì¹ç¤Ë¤Ï¡¢¶¦ÍÑÂΤòÊÑ´¹¤¹¤ë¤¿¤á¤Ë
486 .I proc
487 ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
488 .BR xdr_discrim ()
489 ¹½Â¤ÂΤÎÇÛÎó¤ÎºÇ¸å¤Ï¡¢¥ë¡¼¥Æ¥£¥ó¤È¤·¤Æ
490 .SM NULL
491 ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¼¨¤µ¤ì¤ë¡£
492 ʬÊÌÍ×ÁǤ¬
493 .I choices
494 ÇÛÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
495 .I defaultarm
496 ¤¬ (NULL ¤Ç¤Ê¤±¤ì¤Ð) ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
497 À®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
498 .LP
499 .nf
500 .BI "bool_t xdr_vector(XDR *" xdrs ", char *" arrp ", unsigned int " size ,
501 .BI "                  unsigned int " elsize ", xdrproc_t " elproc );
502 .fi
503 .IP
504 ¸ÇÄêŤÎÇÛÎó¤È¤½¤ì¤é¤¬Âбþ¤¹¤ë³°Éôɽ¸½¤È¤òÊÑ´¹¤¹¤ë´ðËÜ¥Õ¥£¥ë¥¿¡¼¡£
505 °ú¤­¿ô
506 .I arrp
507 ¤ÏÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£°ìÊý¤Ç
508 .I size
509 ¤ÏÇÛÎó¤ÎÍ×ÁÇ¿ô¤½¤Î¤â¤Î¤Ç¤¢¤ë¡£°ú¤­¿ô
510 .I elsize
511 ¤ÏÇÛÎó¤Î³ÆÍ×ÁǤÎ
512 .I sizeof
513 ¤Ç¡¢
514 .I elproc
515 ¤ÏÇÛÎó¤ÎÍ×ÁǤò C ·Á¼°¤«¤é¤½¤Î³°Éôɽ¸½¤Ø¤ÈÊÑ´¹¤¹¤ë XDR ¥Õ¥£¥ë¥¿¡¼¤Ç¤¢¤ë¡£
516 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç 1 ¤òÊÖ¤¹¡£
517 ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
518 .LP
519 .nf
520 .BI "bool_t xdr_void(void);"
521 .fi
522 .IP
523 ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¾ï¤Ë 1 ¤òÊÖ¤¹¡£
524 ¤³¤ì¤Ï²¿¤â¹Ô¤Ê¤ï¤Ê¤¤¤¬¡¢´Ø¿ô°ú¤­¿ô¤¬É¬ÍפÊ
525 RPC ¥ë¡¼¥Æ¥£¥ó¤ËÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¡£
526 .LP
527 .nf
528 .BI "bool_t xdr_wrapstring(XDR *" xdrs ", char **" sp );
529 .fi
530 .IP
531 .B "xdr_string(xdrs, sp, \s-1MAXUN.UNSIGNED\s0 );"
532 ¤ò¸Æ¤Ó½Ð¤¹´ðËܥ롼¥Æ¥£¥ó¡£
533 ¤³¤³¤Ç
534 .B
535 .SM MAXUN.UNSIGNED
536 ¤ÏÉä¹æ̵¤·À°¿ô(unsigned int)¤ÎºÇÂçÃͤǤ¢¤ë¡£
537 .BR xdr_wrapstring ()
538 ¤Ï¡¢
539 .SM RPC
540 ¥Ñ¥Ã¥±¡¼¥¸¤ÏÆó¤Ä¤Î
541 .SM XDR
542 ¥ë¡¼¥Æ¥£¥ó¤ÎºÇÂçÃͤò°ú¤­¿ô¤È¤·¤ÆÅϤ¹¤¿¤áÊØÍø¤Ç¤¢¤ë¡£
543 .BR xdr_string ()
544 ¤ÏºÇ¤âÉÑÈˤËÍøÍѤµ¤ì¤ë´ðËܥ롼¥Æ¥£¥ó¤Ç¤¢¤ë¤¬»°¤Ä¤òÍ׵᤹¤ë¡£
545 À®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡¢¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
546 .SH ´ØÏ¢¹àÌÜ
547 .BR rpc (3)
548 .LP
549 °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë:
550 .RS
551 eXternal Data Representation Standard: Protocol Specification
552 .br
553 eXternal Data Representation: Sun Technical Notes
554 .br
555 .IR "XDR: External Data Representation Standard" ,
556 RFC\ 1014, Sun Microsystems, Inc.,
557 USC-ISI.
558 .RE