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