1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5 
6 #include "../../head/rpcsvc/mount.h"
7 
8 #ifndef _KERNEL
9 #include <stdlib.h>
10 #endif /* !_KERNEL */
11 
12 
13 bool_t
14 xdr_fhandle(xdrs, objp)
15 	XDR *xdrs;
16 	fhandle objp;
17 {
18 
19 	rpc_inline_t *buf;
20 
21 	if (!xdr_opaque(xdrs, objp, FHSIZE))
22 		return (FALSE);
23 	return (TRUE);
24 }
25 
26 bool_t
27 xdr_fhandle3(xdrs, objp)
28 	XDR *xdrs;
29 	fhandle3 *objp;
30 {
31 
32 	rpc_inline_t *buf;
33 
34 	if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3))
35 		return (FALSE);
36 	return (TRUE);
37 }
38 
39 bool_t
40 xdr_fhstatus(xdrs, objp)
41 	XDR *xdrs;
42 	fhstatus *objp;
43 {
44 
45 	rpc_inline_t *buf;
46 
47 	if (!xdr_u_int(xdrs, &objp->fhs_status))
48 		return (FALSE);
49 	switch (objp->fhs_status) {
50 	case 0:
51 		if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle))
52 			return (FALSE);
53 		break;
54 	}
55 	return (TRUE);
56 }
57 
58 #define	fhs_fh	fhstatus_u.fhs_fhandle
59 
60 bool_t
61 xdr_mountstat3(xdrs, objp)
62 	XDR *xdrs;
63 	mountstat3 *objp;
64 {
65 
66 	rpc_inline_t *buf;
67 
68 	if (!xdr_enum(xdrs, (enum_t *)objp))
69 		return (FALSE);
70 	return (TRUE);
71 }
72 
73 bool_t
74 xdr_mountres3_ok(xdrs, objp)
75 	XDR *xdrs;
76 	mountres3_ok *objp;
77 {
78 
79 	rpc_inline_t *buf;
80 
81 	if (!xdr_fhandle3(xdrs, &objp->fhandle))
82 		return (FALSE);
83 	if (!xdr_array(xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (u_int *) &objp->auth_flavors.auth_flavors_len, ~0,
84 		sizeof (int), (xdrproc_t)xdr_int))
85 		return (FALSE);
86 	return (TRUE);
87 }
88 
89 bool_t
90 xdr_mountres3(xdrs, objp)
91 	XDR *xdrs;
92 	mountres3 *objp;
93 {
94 
95 	rpc_inline_t *buf;
96 
97 	if (!xdr_mountstat3(xdrs, &objp->fhs_status))
98 		return (FALSE);
99 	switch (objp->fhs_status) {
100 	case MNT_OK:
101 		if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
102 			return (FALSE);
103 		break;
104 	}
105 	return (TRUE);
106 }
107 
108 bool_t
109 xdr_dirpath(xdrs, objp)
110 	XDR *xdrs;
111 	dirpath *objp;
112 {
113 
114 	rpc_inline_t *buf;
115 
116 	if (!xdr_string(xdrs, objp, MNTPATHLEN))
117 		return (FALSE);
118 	return (TRUE);
119 }
120 
121 bool_t
122 xdr_name(xdrs, objp)
123 	XDR *xdrs;
124 	name *objp;
125 {
126 
127 	rpc_inline_t *buf;
128 
129 	if (!xdr_string(xdrs, objp, MNTNAMLEN))
130 		return (FALSE);
131 	return (TRUE);
132 }
133 
134 bool_t
135 xdr_groups(xdrs, objp)
136 	XDR *xdrs;
137 	groups *objp;
138 {
139 
140 	rpc_inline_t *buf;
141 
142 	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct groupnode), (xdrproc_t)xdr_groupnode))
143 		return (FALSE);
144 	return (TRUE);
145 }
146 
147 bool_t
148 xdr_groupnode(xdrs, objp)
149 	XDR *xdrs;
150 	groupnode *objp;
151 {
152 
153 	rpc_inline_t *buf;
154 
155 	groupnode *tmp_groupnode;
156 	bool_t more_data = TRUE;
157 	bool_t first_objp = TRUE;
158 
159 
160 	if (xdrs->x_op == XDR_DECODE) {
161 
162 		while (more_data) {
163 
164 			void bzero();
165 
166 			if (!xdr_name(xdrs, &objp->gr_name))
167 				return (FALSE);
168 			if (!xdr_bool(xdrs, &more_data))
169 				return (FALSE);
170 
171 			if (!more_data) {
172 				objp->gr_next = NULL;
173 				break;
174 			}
175 
176 			if (objp->gr_next == NULL) {
177 				objp->gr_next = (groupnode *)
178 					mem_alloc(sizeof (groupnode));
179 				if (objp->gr_next == NULL)
180 					return (FALSE);
181 				bzero(objp->gr_next, sizeof (groupnode));
182 			}
183 			objp = objp->gr_next;
184 		}
185 
186 	} else if (xdrs->x_op == XDR_ENCODE) {
187 
188 		while (more_data) {
189 			if (!xdr_name(xdrs, &objp->gr_name))
190 				return (FALSE);
191 			objp = objp->gr_next;
192 			if (objp == NULL)
193 				more_data = FALSE;
194 			if (!xdr_bool(xdrs, &more_data))
195 				return (FALSE);
196 		}
197 
198 	} else {
199 
200 		while (more_data) {
201 			if (!xdr_name(xdrs, &objp->gr_name))
202 				return (FALSE);
203 			tmp_groupnode = objp;
204 			objp = objp->gr_next;
205 			if (objp == NULL)
206 				more_data = FALSE;
207 			if (!first_objp)
208 				mem_free(tmp_groupnode, sizeof (groupnode));
209 			else
210 				first_objp = FALSE;
211 		}
212 
213 	}
214 	return (TRUE);
215 }
216 
217 bool_t
218 xdr_exports(xdrs, objp)
219 	XDR *xdrs;
220 	exports *objp;
221 {
222 
223 	rpc_inline_t *buf;
224 
225 	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct exportnode), (xdrproc_t)xdr_exportnode))
226 		return (FALSE);
227 	return (TRUE);
228 }
229 
230 bool_t
231 xdr_exportnode(xdrs, objp)
232 	XDR *xdrs;
233 	exportnode *objp;
234 {
235 
236 	rpc_inline_t *buf;
237 
238 	exportnode *tmp_exportnode;
239 	bool_t more_data = TRUE;
240 	bool_t first_objp = TRUE;
241 
242 
243 	if (xdrs->x_op == XDR_DECODE) {
244 
245 		while (more_data) {
246 
247 			void bzero();
248 
249 			if (!xdr_dirpath(xdrs, &objp->ex_dir))
250 				return (FALSE);
251 			if (!xdr_groups(xdrs, &objp->ex_groups))
252 				return (FALSE);
253 			if (!xdr_bool(xdrs, &more_data))
254 				return (FALSE);
255 
256 			if (!more_data) {
257 				objp->ex_next = NULL;
258 				break;
259 			}
260 
261 			if (objp->ex_next == NULL) {
262 				objp->ex_next = (exportnode *)
263 					mem_alloc(sizeof (exportnode));
264 				if (objp->ex_next == NULL)
265 					return (FALSE);
266 				bzero(objp->ex_next, sizeof (exportnode));
267 			}
268 			objp = objp->ex_next;
269 		}
270 
271 	} else if (xdrs->x_op == XDR_ENCODE) {
272 
273 		while (more_data) {
274 			if (!xdr_dirpath(xdrs, &objp->ex_dir))
275 				return (FALSE);
276 			if (!xdr_groups(xdrs, &objp->ex_groups))
277 				return (FALSE);
278 			objp = objp->ex_next;
279 			if (objp == NULL)
280 				more_data = FALSE;
281 			if (!xdr_bool(xdrs, &more_data))
282 				return (FALSE);
283 		}
284 
285 	} else {
286 
287 		while (more_data) {
288 			if (!xdr_dirpath(xdrs, &objp->ex_dir))
289 				return (FALSE);
290 			if (!xdr_groups(xdrs, &objp->ex_groups))
291 				return (FALSE);
292 			tmp_exportnode = objp;
293 			objp = objp->ex_next;
294 			if (objp == NULL)
295 				more_data = FALSE;
296 			if (!first_objp)
297 				mem_free(tmp_exportnode, sizeof (exportnode));
298 			else
299 				first_objp = FALSE;
300 		}
301 
302 	}
303 	return (TRUE);
304 }
305 
306 bool_t
307 xdr_ppathcnf(xdrs, objp)
308 	XDR *xdrs;
309 	ppathcnf *objp;
310 {
311 
312 	rpc_inline_t *buf;
313 
314 	int i;
315 
316 	if (xdrs->x_op == XDR_ENCODE) {
317 		buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT);
318 		if (buf == NULL) {
319 			if (!xdr_int(xdrs, &objp->pc_link_max))
320 				return (FALSE);
321 			if (!xdr_short(xdrs, &objp->pc_max_canon))
322 				return (FALSE);
323 			if (!xdr_short(xdrs, &objp->pc_max_input))
324 				return (FALSE);
325 			if (!xdr_short(xdrs, &objp->pc_name_max))
326 				return (FALSE);
327 			if (!xdr_short(xdrs, &objp->pc_path_max))
328 				return (FALSE);
329 			if (!xdr_short(xdrs, &objp->pc_pipe_buf))
330 				return (FALSE);
331 		} else {
332 #if defined(_LP64) || defined(_KERNEL)
333 			IXDR_PUT_INT32(buf, objp->pc_link_max);
334 			IXDR_PUT_SHORT(buf, objp->pc_max_canon);
335 			IXDR_PUT_SHORT(buf, objp->pc_max_input);
336 			IXDR_PUT_SHORT(buf, objp->pc_name_max);
337 			IXDR_PUT_SHORT(buf, objp->pc_path_max);
338 			IXDR_PUT_SHORT(buf, objp->pc_pipe_buf);
339 #else
340 			IXDR_PUT_LONG(buf, objp->pc_link_max);
341 			IXDR_PUT_SHORT(buf, objp->pc_max_canon);
342 			IXDR_PUT_SHORT(buf, objp->pc_max_input);
343 			IXDR_PUT_SHORT(buf, objp->pc_name_max);
344 			IXDR_PUT_SHORT(buf, objp->pc_path_max);
345 			IXDR_PUT_SHORT(buf, objp->pc_pipe_buf);
346 #endif
347 		}
348 		if (!xdr_u_char(xdrs, &objp->pc_vdisable))
349 			return (FALSE);
350 		if (!xdr_char(xdrs, &objp->pc_xxx))
351 			return (FALSE);
352 		buf = XDR_INLINE(xdrs, (2) * BYTES_PER_XDR_UNIT);
353 		if (buf == NULL) {
354 			if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2,
355 				sizeof (short), (xdrproc_t)xdr_short))
356 				return (FALSE);
357 		} else {
358 #if defined(_LP64) || defined(_KERNEL)
359 			{
360 				short *genp;
361 
362 				for (i = 0, genp = objp->pc_mask;
363 					i < 2; i++) {
364 					IXDR_PUT_SHORT(buf, *genp++);
365 				}
366 			}
367 #else
368 			{
369 				short *genp;
370 
371 				for (i = 0, genp = objp->pc_mask;
372 					i < 2; i++) {
373 					IXDR_PUT_SHORT(buf, *genp++);
374 				}
375 			}
376 #endif
377 		}
378 		return (TRUE);
379 	} else if (xdrs->x_op == XDR_DECODE) {
380 		buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT);
381 		if (buf == NULL) {
382 			if (!xdr_int(xdrs, &objp->pc_link_max))
383 				return (FALSE);
384 			if (!xdr_short(xdrs, &objp->pc_max_canon))
385 				return (FALSE);
386 			if (!xdr_short(xdrs, &objp->pc_max_input))
387 				return (FALSE);
388 			if (!xdr_short(xdrs, &objp->pc_name_max))
389 				return (FALSE);
390 			if (!xdr_short(xdrs, &objp->pc_path_max))
391 				return (FALSE);
392 			if (!xdr_short(xdrs, &objp->pc_pipe_buf))
393 				return (FALSE);
394 		} else {
395 #if defined(_LP64) || defined(_KERNEL)
396 			objp->pc_link_max = IXDR_GET_INT32(buf);
397 			objp->pc_max_canon = IXDR_GET_SHORT(buf);
398 			objp->pc_max_input = IXDR_GET_SHORT(buf);
399 			objp->pc_name_max = IXDR_GET_SHORT(buf);
400 			objp->pc_path_max = IXDR_GET_SHORT(buf);
401 			objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
402 #else
403 			objp->pc_link_max = IXDR_GET_LONG(buf);
404 			objp->pc_max_canon = IXDR_GET_SHORT(buf);
405 			objp->pc_max_input = IXDR_GET_SHORT(buf);
406 			objp->pc_name_max = IXDR_GET_SHORT(buf);
407 			objp->pc_path_max = IXDR_GET_SHORT(buf);
408 			objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
409 #endif
410 		}
411 		if (!xdr_u_char(xdrs, &objp->pc_vdisable))
412 			return (FALSE);
413 		if (!xdr_char(xdrs, &objp->pc_xxx))
414 			return (FALSE);
415 		buf = XDR_INLINE(xdrs, (2) * BYTES_PER_XDR_UNIT);
416 		if (buf == NULL) {
417 			if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2,
418 				sizeof (short), (xdrproc_t)xdr_short))
419 				return (FALSE);
420 		} else {
421 #if defined(_LP64) || defined(_KERNEL)
422 			{
423 				short *genp;
424 
425 				for (i = 0, genp = objp->pc_mask;
426 					i < 2; i++) {
427 					*genp++ = IXDR_GET_SHORT(buf);
428 				}
429 			}
430 #else
431 			{
432 				short *genp;
433 
434 				for (i = 0, genp = objp->pc_mask;
435 					i < 2; i++) {
436 					*genp++ = IXDR_GET_SHORT(buf);
437 				}
438 			}
439 #endif
440 		}
441 		return (TRUE);
442 	}
443 
444 	if (!xdr_int(xdrs, &objp->pc_link_max))
445 		return (FALSE);
446 	if (!xdr_short(xdrs, &objp->pc_max_canon))
447 		return (FALSE);
448 	if (!xdr_short(xdrs, &objp->pc_max_input))
449 		return (FALSE);
450 	if (!xdr_short(xdrs, &objp->pc_name_max))
451 		return (FALSE);
452 	if (!xdr_short(xdrs, &objp->pc_path_max))
453 		return (FALSE);
454 	if (!xdr_short(xdrs, &objp->pc_pipe_buf))
455 		return (FALSE);
456 	if (!xdr_u_char(xdrs, &objp->pc_vdisable))
457 		return (FALSE);
458 	if (!xdr_char(xdrs, &objp->pc_xxx))
459 		return (FALSE);
460 	if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2,
461 		sizeof (short), (xdrproc_t)xdr_short))
462 		return (FALSE);
463 	return (TRUE);
464 }
465