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
xdr_amq_string(xdrs,objp)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
xdr_time_type(xdrs,objp)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
xdr_amq_mount_tree(xdrs,objp)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
xdr_amq_mount_tree_p(xdrs,objp)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
xdr_amq_mount_info(xdrs,objp)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
xdr_amq_mount_info_list(xdrs,objp)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
xdr_amq_mount_tree_list(xdrs,objp)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
xdr_amq_mount_stats(xdrs,objp)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
xdr_amq_opt(xdrs,objp)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
xdr_amq_setopt(xdrs,objp)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