xref: /csrg-svn/usr.sbin/amd/rpcx/amq_xdr.c (revision 44928)
1*44928Smckusick /*
2*44928Smckusick  * $Id: amq_xdr.c,v 5.2 90/06/23 22:20:14 jsp Rel $
3*44928Smckusick  *
4*44928Smckusick  * Copyright (c) 1990 Jan-Simon Pendry
5*44928Smckusick  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
6*44928Smckusick  * Copyright (c) 1990 The Regents of the University of California.
7*44928Smckusick  * All rights reserved.
8*44928Smckusick  *
9*44928Smckusick  * This code is derived from software contributed to Berkeley by
10*44928Smckusick  * Jan-Simon Pendry at Imperial College, London.
11*44928Smckusick  *
12*44928Smckusick  * %sccs.include.redist.c%
13*44928Smckusick  *
14*44928Smckusick  *	@(#)amq_xdr.c	5.1 (Berkeley) 07/19/90
15*44928Smckusick  */
16*44928Smckusick 
17*44928Smckusick #include "am.h"
18*44928Smckusick #include "amq.h"
19*44928Smckusick 
20*44928Smckusick 
21*44928Smckusick bool_t
22*44928Smckusick xdr_amq_string(xdrs, objp)
23*44928Smckusick 	XDR *xdrs;
24*44928Smckusick 	amq_string *objp;
25*44928Smckusick {
26*44928Smckusick 	if (!xdr_string(xdrs, objp, AMQ_STRLEN)) {
27*44928Smckusick 		return (FALSE);
28*44928Smckusick 	}
29*44928Smckusick 	return (TRUE);
30*44928Smckusick }
31*44928Smckusick 
32*44928Smckusick 
33*44928Smckusick 
34*44928Smckusick 
35*44928Smckusick bool_t
36*44928Smckusick xdr_time_type(xdrs, objp)
37*44928Smckusick 	XDR *xdrs;
38*44928Smckusick 	time_type *objp;
39*44928Smckusick {
40*44928Smckusick 	if (!xdr_long(xdrs, objp)) {
41*44928Smckusick 		return (FALSE);
42*44928Smckusick 	}
43*44928Smckusick 	return (TRUE);
44*44928Smckusick }
45*44928Smckusick 
46*44928Smckusick 
47*44928Smckusick 
48*44928Smckusick 
49*44928Smckusick bool_t
50*44928Smckusick xdr_amq_mount_tree(xdrs, objp)
51*44928Smckusick 	XDR *xdrs;
52*44928Smckusick 	amq_mount_tree *objp;
53*44928Smckusick {
54*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_mountinfo)) {
55*44928Smckusick 		return (FALSE);
56*44928Smckusick 	}
57*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_directory)) {
58*44928Smckusick 		return (FALSE);
59*44928Smckusick 	}
60*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_mountpoint)) {
61*44928Smckusick 		return (FALSE);
62*44928Smckusick 	}
63*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_type)) {
64*44928Smckusick 		return (FALSE);
65*44928Smckusick 	}
66*44928Smckusick 	if (!xdr_time_type(xdrs, &objp->mt_mounttime)) {
67*44928Smckusick 		return (FALSE);
68*44928Smckusick 	}
69*44928Smckusick 	if (!xdr_u_short(xdrs, &objp->mt_mountuid)) {
70*44928Smckusick 		return (FALSE);
71*44928Smckusick 	}
72*44928Smckusick 	if (!xdr_int(xdrs, &objp->mt_getattr)) {
73*44928Smckusick 		return (FALSE);
74*44928Smckusick 	}
75*44928Smckusick 	if (!xdr_int(xdrs, &objp->mt_lookup)) {
76*44928Smckusick 		return (FALSE);
77*44928Smckusick 	}
78*44928Smckusick 	if (!xdr_int(xdrs, &objp->mt_readdir)) {
79*44928Smckusick 		return (FALSE);
80*44928Smckusick 	}
81*44928Smckusick 	if (!xdr_int(xdrs, &objp->mt_readlink)) {
82*44928Smckusick 		return (FALSE);
83*44928Smckusick 	}
84*44928Smckusick 	if (!xdr_int(xdrs, &objp->mt_statfs)) {
85*44928Smckusick 		return (FALSE);
86*44928Smckusick 	}
87*44928Smckusick 	if (!xdr_pointer(xdrs, (char **)&objp->mt_next, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
88*44928Smckusick 		return (FALSE);
89*44928Smckusick 	}
90*44928Smckusick 	if (!xdr_pointer(xdrs, (char **)&objp->mt_child, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
91*44928Smckusick 		return (FALSE);
92*44928Smckusick 	}
93*44928Smckusick 	return (TRUE);
94*44928Smckusick }
95*44928Smckusick 
96*44928Smckusick 
97*44928Smckusick 
98*44928Smckusick 
99*44928Smckusick bool_t
100*44928Smckusick xdr_amq_mount_tree_p(xdrs, objp)
101*44928Smckusick 	XDR *xdrs;
102*44928Smckusick 	amq_mount_tree_p *objp;
103*44928Smckusick {
104*44928Smckusick 	if (!xdr_pointer(xdrs, (char **)objp, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
105*44928Smckusick 		return (FALSE);
106*44928Smckusick 	}
107*44928Smckusick 	return (TRUE);
108*44928Smckusick }
109*44928Smckusick 
110*44928Smckusick 
111*44928Smckusick 
112*44928Smckusick bool_t
113*44928Smckusick xdr_amq_mount_info(xdrs, objp)
114*44928Smckusick 	XDR *xdrs;
115*44928Smckusick 	amq_mount_info *objp;
116*44928Smckusick {
117*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_type)) {
118*44928Smckusick 		return (FALSE);
119*44928Smckusick 	}
120*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_mountpt)) {
121*44928Smckusick 		return (FALSE);
122*44928Smckusick 	}
123*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_mountinfo)) {
124*44928Smckusick 		return (FALSE);
125*44928Smckusick 	}
126*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_fserver)) {
127*44928Smckusick 		return (FALSE);
128*44928Smckusick 	}
129*44928Smckusick 	if (!xdr_int(xdrs, &objp->mi_error)) {
130*44928Smckusick 		return (FALSE);
131*44928Smckusick 	}
132*44928Smckusick 	if (!xdr_int(xdrs, &objp->mi_refc)) {
133*44928Smckusick 		return (FALSE);
134*44928Smckusick 	}
135*44928Smckusick 	if (!xdr_int(xdrs, &objp->mi_up)) {
136*44928Smckusick 		return (FALSE);
137*44928Smckusick 	}
138*44928Smckusick 	return (TRUE);
139*44928Smckusick }
140*44928Smckusick 
141*44928Smckusick 
142*44928Smckusick 
143*44928Smckusick bool_t
144*44928Smckusick xdr_amq_mount_info_list(xdrs, objp)
145*44928Smckusick 	XDR *xdrs;
146*44928Smckusick 	amq_mount_info_list *objp;
147*44928Smckusick {
148*44928Smckusick 	if (!xdr_array(xdrs, (char **)&objp->amq_mount_info_list_val, (u_int *)&objp->amq_mount_info_list_len, ~0, sizeof(amq_mount_info), xdr_amq_mount_info)) {
149*44928Smckusick 		return (FALSE);
150*44928Smckusick 	}
151*44928Smckusick 	return (TRUE);
152*44928Smckusick }
153*44928Smckusick 
154*44928Smckusick 
155*44928Smckusick 
156*44928Smckusick bool_t
157*44928Smckusick xdr_amq_mount_tree_list(xdrs, objp)
158*44928Smckusick 	XDR *xdrs;
159*44928Smckusick 	amq_mount_tree_list *objp;
160*44928Smckusick {
161*44928Smckusick 	if (!xdr_array(xdrs, (char **)&objp->amq_mount_tree_list_val, (u_int *)&objp->amq_mount_tree_list_len, ~0, sizeof(amq_mount_tree_p), xdr_amq_mount_tree_p)) {
162*44928Smckusick 		return (FALSE);
163*44928Smckusick 	}
164*44928Smckusick 	return (TRUE);
165*44928Smckusick }
166*44928Smckusick 
167*44928Smckusick 
168*44928Smckusick 
169*44928Smckusick 
170*44928Smckusick bool_t
171*44928Smckusick xdr_amq_mount_stats(xdrs, objp)
172*44928Smckusick 	XDR *xdrs;
173*44928Smckusick 	amq_mount_stats *objp;
174*44928Smckusick {
175*44928Smckusick 	if (!xdr_int(xdrs, &objp->as_drops)) {
176*44928Smckusick 		return (FALSE);
177*44928Smckusick 	}
178*44928Smckusick 	if (!xdr_int(xdrs, &objp->as_stale)) {
179*44928Smckusick 		return (FALSE);
180*44928Smckusick 	}
181*44928Smckusick 	if (!xdr_int(xdrs, &objp->as_mok)) {
182*44928Smckusick 		return (FALSE);
183*44928Smckusick 	}
184*44928Smckusick 	if (!xdr_int(xdrs, &objp->as_merr)) {
185*44928Smckusick 		return (FALSE);
186*44928Smckusick 	}
187*44928Smckusick 	if (!xdr_int(xdrs, &objp->as_uerr)) {
188*44928Smckusick 		return (FALSE);
189*44928Smckusick 	}
190*44928Smckusick 	return (TRUE);
191*44928Smckusick }
192*44928Smckusick 
193*44928Smckusick 
194*44928Smckusick 
195*44928Smckusick 
196*44928Smckusick bool_t
197*44928Smckusick xdr_amq_opt(xdrs, objp)
198*44928Smckusick 	XDR *xdrs;
199*44928Smckusick 	amq_opt *objp;
200*44928Smckusick {
201*44928Smckusick 	if (!xdr_enum(xdrs, (enum_t *)objp)) {
202*44928Smckusick 		return (FALSE);
203*44928Smckusick 	}
204*44928Smckusick 	return (TRUE);
205*44928Smckusick }
206*44928Smckusick 
207*44928Smckusick 
208*44928Smckusick 
209*44928Smckusick 
210*44928Smckusick bool_t
211*44928Smckusick xdr_amq_setopt(xdrs, objp)
212*44928Smckusick 	XDR *xdrs;
213*44928Smckusick 	amq_setopt *objp;
214*44928Smckusick {
215*44928Smckusick 	if (!xdr_amq_opt(xdrs, &objp->as_opt)) {
216*44928Smckusick 		return (FALSE);
217*44928Smckusick 	}
218*44928Smckusick 	if (!xdr_amq_string(xdrs, &objp->as_str)) {
219*44928Smckusick 		return (FALSE);
220*44928Smckusick 	}
221*44928Smckusick 	return (TRUE);
222*44928Smckusick }
223*44928Smckusick 
224*44928Smckusick 
225