1*8bae5d40Schristos /* $NetBSD: xdr_func.c,v 1.1.1.3 2015/01/17 16:34:18 christos Exp $ */
2a53f50b9Schristos
3a53f50b9Schristos /*
4*8bae5d40Schristos * Copyright (c) 1997-2014 Erez Zadok
5a53f50b9Schristos * Copyright (c) 1990 Jan-Simon Pendry
6a53f50b9Schristos * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
7a53f50b9Schristos * Copyright (c) 1990 The Regents of the University of California.
8a53f50b9Schristos * All rights reserved.
9a53f50b9Schristos *
10a53f50b9Schristos * This code is derived from software contributed to Berkeley by
11a53f50b9Schristos * Jan-Simon Pendry at Imperial College, London.
12a53f50b9Schristos *
13a53f50b9Schristos * Redistribution and use in source and binary forms, with or without
14a53f50b9Schristos * modification, are permitted provided that the following conditions
15a53f50b9Schristos * are met:
16a53f50b9Schristos * 1. Redistributions of source code must retain the above copyright
17a53f50b9Schristos * notice, this list of conditions and the following disclaimer.
18a53f50b9Schristos * 2. Redistributions in binary form must reproduce the above copyright
19a53f50b9Schristos * notice, this list of conditions and the following disclaimer in the
20a53f50b9Schristos * documentation and/or other materials provided with the distribution.
21*8bae5d40Schristos * 3. Neither the name of the University nor the names of its contributors
22a53f50b9Schristos * may be used to endorse or promote products derived from this software
23a53f50b9Schristos * without specific prior written permission.
24a53f50b9Schristos *
25a53f50b9Schristos * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26a53f50b9Schristos * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27a53f50b9Schristos * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28a53f50b9Schristos * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29a53f50b9Schristos * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30a53f50b9Schristos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31a53f50b9Schristos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32a53f50b9Schristos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33a53f50b9Schristos * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34a53f50b9Schristos * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35a53f50b9Schristos * SUCH DAMAGE.
36a53f50b9Schristos *
37a53f50b9Schristos *
38a53f50b9Schristos * File: am-utils/libamu/xdr_func.c
39a53f50b9Schristos *
40a53f50b9Schristos */
41a53f50b9Schristos
42a53f50b9Schristos /*
43a53f50b9Schristos * Complete list of all possible xdr functions which may be needed.
44a53f50b9Schristos */
45a53f50b9Schristos #ifdef HAVE_CONFIG_H
46a53f50b9Schristos # include <config.h>
47a53f50b9Schristos #endif /* HAVE_CONFIG_H */
48a53f50b9Schristos #include <am_defs.h>
49a53f50b9Schristos #include <amu.h>
50a53f50b9Schristos
51a53f50b9Schristos #ifdef __RPCSVC_MOUNT_H__
52a53f50b9Schristos # error IRIX6 should not include rpcsvc/mount.h
53a53f50b9Schristos #endif /* __RPCSVC_MOUNT_H__ */
54a53f50b9Schristos
55a53f50b9Schristos /*
56a53f50b9Schristos * MACROS:
57a53f50b9Schristos */
58a53f50b9Schristos #ifdef HAVE_FS_AUTOFS
59a53f50b9Schristos # ifndef AUTOFS_MAXCOMPONENTLEN
60a53f50b9Schristos # define AUTOFS_MAXCOMPONENTLEN 255
61a53f50b9Schristos # endif /* not AUTOFS_MAXCOMPONENTLEN */
62a53f50b9Schristos # ifndef AUTOFS_MAXOPTSLEN
63a53f50b9Schristos # define AUTOFS_MAXOPTSLEN 255
64a53f50b9Schristos # endif /* not AUTOFS_MAXOPTSLEN */
65a53f50b9Schristos # ifndef AUTOFS_MAXPATHLEN
66a53f50b9Schristos # define AUTOFS_MAXPATHLEN 1024
67a53f50b9Schristos # endif /* not AUTOFS_MAXPATHLEN */
68a53f50b9Schristos #endif /* HAVE_FS_AUTOFS */
69a53f50b9Schristos
70a53f50b9Schristos /* forward definitions, are they needed? */
71a53f50b9Schristos extern bool_t xdr_exportnode(XDR *xdrs, exportnode *objp);
72a53f50b9Schristos extern bool_t xdr_groupnode(XDR *xdrs, groupnode *objp);
73a53f50b9Schristos extern bool_t xdr_name(XDR *xdrs, name *objp);
74a53f50b9Schristos
75a53f50b9Schristos
76a53f50b9Schristos #ifndef HAVE_XDR_ATTRSTAT
77a53f50b9Schristos bool_t
xdr_attrstat(XDR * xdrs,nfsattrstat * objp)78a53f50b9Schristos xdr_attrstat(XDR *xdrs, nfsattrstat *objp)
79a53f50b9Schristos {
80a53f50b9Schristos if (amuDebug(D_XDRTRACE))
81a53f50b9Schristos plog(XLOG_DEBUG, "xdr_attrstat:");
82a53f50b9Schristos
83a53f50b9Schristos if (!xdr_nfsstat(xdrs, &objp->ns_status)) {
84a53f50b9Schristos return (FALSE);
85a53f50b9Schristos }
86a53f50b9Schristos switch (objp->ns_status) {
87a53f50b9Schristos case NFS_OK:
88a53f50b9Schristos if (!xdr_fattr(xdrs, &objp->ns_u.ns_attr_u)) {
89a53f50b9Schristos return (FALSE);
90a53f50b9Schristos }
91a53f50b9Schristos break;
92a53f50b9Schristos default:
93a53f50b9Schristos break;
94a53f50b9Schristos }
95a53f50b9Schristos return (TRUE);
96a53f50b9Schristos }
97a53f50b9Schristos #endif /* not HAVE_XDR_ATTRSTAT */
98a53f50b9Schristos
99a53f50b9Schristos
100a53f50b9Schristos #ifndef HAVE_XDR_CREATEARGS
101a53f50b9Schristos bool_t
xdr_createargs(XDR * xdrs,nfscreateargs * objp)102a53f50b9Schristos xdr_createargs(XDR *xdrs, nfscreateargs *objp)
103a53f50b9Schristos {
104a53f50b9Schristos if (amuDebug(D_XDRTRACE))
105a53f50b9Schristos plog(XLOG_DEBUG, "xdr_createargs:");
106a53f50b9Schristos
107a53f50b9Schristos if (!xdr_diropargs(xdrs, &objp->ca_where)) {
108a53f50b9Schristos return (FALSE);
109a53f50b9Schristos }
110a53f50b9Schristos if (!xdr_sattr(xdrs, &objp->ca_attributes)) {
111a53f50b9Schristos return (FALSE);
112a53f50b9Schristos }
113a53f50b9Schristos return (TRUE);
114a53f50b9Schristos }
115a53f50b9Schristos #endif /* not HAVE_XDR_CREATEARGS */
116a53f50b9Schristos
117a53f50b9Schristos
118a53f50b9Schristos #ifndef HAVE_XDR_DIRLIST
119a53f50b9Schristos bool_t
xdr_dirlist(XDR * xdrs,nfsdirlist * objp)120a53f50b9Schristos xdr_dirlist(XDR *xdrs, nfsdirlist *objp)
121a53f50b9Schristos {
122a53f50b9Schristos if (amuDebug(D_XDRTRACE))
123a53f50b9Schristos plog(XLOG_DEBUG, "xdr_dirlist:");
124a53f50b9Schristos
125a53f50b9Schristos if (!xdr_pointer(xdrs, (char **) &objp->dl_entries, sizeof(nfsentry), (XDRPROC_T_TYPE) xdr_entry)) {
126a53f50b9Schristos return (FALSE);
127a53f50b9Schristos }
128a53f50b9Schristos if (!xdr_bool(xdrs, &objp->dl_eof)) {
129a53f50b9Schristos return (FALSE);
130a53f50b9Schristos }
131a53f50b9Schristos return (TRUE);
132a53f50b9Schristos }
133a53f50b9Schristos #endif /* not HAVE_XDR_DIRLIST */
134a53f50b9Schristos
135a53f50b9Schristos
136a53f50b9Schristos #ifndef HAVE_XDR_DIROPARGS
137a53f50b9Schristos bool_t
xdr_diropargs(XDR * xdrs,nfsdiropargs * objp)138a53f50b9Schristos xdr_diropargs(XDR *xdrs, nfsdiropargs *objp)
139a53f50b9Schristos {
140a53f50b9Schristos if (amuDebug(D_XDRTRACE))
141a53f50b9Schristos plog(XLOG_DEBUG, "xdr_diropargs:");
142a53f50b9Schristos
143a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->da_fhandle)) {
144a53f50b9Schristos return (FALSE);
145a53f50b9Schristos }
146a53f50b9Schristos if (!xdr_filename(xdrs, &objp->da_name)) {
147a53f50b9Schristos return (FALSE);
148a53f50b9Schristos }
149a53f50b9Schristos return (TRUE);
150a53f50b9Schristos }
151a53f50b9Schristos #endif /* not HAVE_XDR_DIROPARGS */
152a53f50b9Schristos
153a53f50b9Schristos
154a53f50b9Schristos #ifndef HAVE_XDR_DIROPOKRES
155a53f50b9Schristos bool_t
xdr_diropokres(XDR * xdrs,nfsdiropokres * objp)156a53f50b9Schristos xdr_diropokres(XDR *xdrs, nfsdiropokres *objp)
157a53f50b9Schristos {
158a53f50b9Schristos if (amuDebug(D_XDRTRACE))
159a53f50b9Schristos plog(XLOG_DEBUG, "xdr_diropokres:");
160a53f50b9Schristos
161a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->drok_fhandle)) {
162a53f50b9Schristos return (FALSE);
163a53f50b9Schristos }
164a53f50b9Schristos if (!xdr_fattr(xdrs, &objp->drok_attributes)) {
165a53f50b9Schristos return (FALSE);
166a53f50b9Schristos }
167a53f50b9Schristos return (TRUE);
168a53f50b9Schristos }
169a53f50b9Schristos #endif /* not HAVE_XDR_DIROPOKRES */
170a53f50b9Schristos
171a53f50b9Schristos
172a53f50b9Schristos #ifndef HAVE_XDR_DIROPRES
173a53f50b9Schristos bool_t
xdr_diropres(XDR * xdrs,nfsdiropres * objp)174a53f50b9Schristos xdr_diropres(XDR *xdrs, nfsdiropres *objp)
175a53f50b9Schristos {
176a53f50b9Schristos if (amuDebug(D_XDRTRACE))
177a53f50b9Schristos plog(XLOG_DEBUG, "xdr_diropres:");
178a53f50b9Schristos
179a53f50b9Schristos if (!xdr_nfsstat(xdrs, &objp->dr_status)) {
180a53f50b9Schristos return (FALSE);
181a53f50b9Schristos }
182a53f50b9Schristos switch (objp->dr_status) {
183a53f50b9Schristos case NFS_OK:
184a53f50b9Schristos if (!xdr_diropokres(xdrs, &objp->dr_u.dr_drok_u)) {
185a53f50b9Schristos return (FALSE);
186a53f50b9Schristos }
187a53f50b9Schristos break;
188a53f50b9Schristos default:
189a53f50b9Schristos break;
190a53f50b9Schristos }
191a53f50b9Schristos return (TRUE);
192a53f50b9Schristos }
193a53f50b9Schristos #endif /* not HAVE_XDR_DIROPRES */
194a53f50b9Schristos
195a53f50b9Schristos
196a53f50b9Schristos #ifndef HAVE_XDR_DIRPATH
197a53f50b9Schristos bool_t
xdr_dirpath(XDR * xdrs,dirpath * objp)198a53f50b9Schristos xdr_dirpath(XDR *xdrs, dirpath *objp)
199a53f50b9Schristos {
200a53f50b9Schristos if (amuDebug(D_XDRTRACE))
201a53f50b9Schristos plog(XLOG_DEBUG, "xdr_dirpath:");
202a53f50b9Schristos
203a53f50b9Schristos if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
204a53f50b9Schristos return (FALSE);
205a53f50b9Schristos }
206a53f50b9Schristos return (TRUE);
207a53f50b9Schristos }
208a53f50b9Schristos #endif /* not HAVE_XDR_DIRPATH */
209a53f50b9Schristos
210a53f50b9Schristos
211a53f50b9Schristos #ifndef HAVE_XDR_ENTRY
212a53f50b9Schristos bool_t
xdr_entry(XDR * xdrs,nfsentry * objp)213a53f50b9Schristos xdr_entry(XDR *xdrs, nfsentry *objp)
214a53f50b9Schristos {
215a53f50b9Schristos if (amuDebug(D_XDRTRACE))
216a53f50b9Schristos plog(XLOG_DEBUG, "xdr_entry:");
217a53f50b9Schristos
218a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->ne_fileid)) {
219a53f50b9Schristos return (FALSE);
220a53f50b9Schristos }
221a53f50b9Schristos if (!xdr_filename(xdrs, &objp->ne_name)) {
222a53f50b9Schristos return (FALSE);
223a53f50b9Schristos }
224a53f50b9Schristos if (!xdr_nfscookie(xdrs, objp->ne_cookie)) {
225a53f50b9Schristos return (FALSE);
226a53f50b9Schristos }
227a53f50b9Schristos if (!xdr_pointer(xdrs, (char **) &objp->ne_nextentry, sizeof(nfsentry), (XDRPROC_T_TYPE) xdr_entry)) {
228a53f50b9Schristos return (FALSE);
229a53f50b9Schristos }
230a53f50b9Schristos return (TRUE);
231a53f50b9Schristos }
232a53f50b9Schristos #endif /* not HAVE_XDR_ENTRY */
233a53f50b9Schristos
234a53f50b9Schristos
235a53f50b9Schristos #ifndef HAVE_XDR_EXPORTNODE
236a53f50b9Schristos bool_t
xdr_exportnode(XDR * xdrs,exportnode * objp)237a53f50b9Schristos xdr_exportnode(XDR *xdrs, exportnode *objp)
238a53f50b9Schristos {
239a53f50b9Schristos if (amuDebug(D_XDRTRACE))
240a53f50b9Schristos plog(XLOG_DEBUG, "xdr_exportnode:");
241a53f50b9Schristos
242a53f50b9Schristos if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
243a53f50b9Schristos return (FALSE);
244a53f50b9Schristos }
245a53f50b9Schristos if (!xdr_groups(xdrs, &objp->ex_groups)) {
246a53f50b9Schristos return (FALSE);
247a53f50b9Schristos }
248a53f50b9Schristos if (!xdr_exports(xdrs, &objp->ex_next)) {
249a53f50b9Schristos return (FALSE);
250a53f50b9Schristos }
251a53f50b9Schristos return (TRUE);
252a53f50b9Schristos }
253a53f50b9Schristos #endif /* not HAVE_XDR_EXPORTNODE */
254a53f50b9Schristos
255a53f50b9Schristos
256a53f50b9Schristos #ifndef HAVE_XDR_EXPORTS
257a53f50b9Schristos bool_t
xdr_exports(XDR * xdrs,exports * objp)258a53f50b9Schristos xdr_exports(XDR *xdrs, exports *objp)
259a53f50b9Schristos {
260a53f50b9Schristos if (amuDebug(D_XDRTRACE))
261a53f50b9Schristos plog(XLOG_DEBUG, "xdr_exports:");
262a53f50b9Schristos
263a53f50b9Schristos if (!xdr_pointer(xdrs, (char **) objp, sizeof(exportnode), (XDRPROC_T_TYPE) xdr_exportnode)) {
264a53f50b9Schristos return (FALSE);
265a53f50b9Schristos }
266a53f50b9Schristos return (TRUE);
267a53f50b9Schristos }
268a53f50b9Schristos #endif /* not HAVE_XDR_EXPORTS */
269a53f50b9Schristos
270a53f50b9Schristos
271a53f50b9Schristos #ifndef HAVE_XDR_FATTR
272a53f50b9Schristos bool_t
xdr_fattr(XDR * xdrs,nfsfattr * objp)273a53f50b9Schristos xdr_fattr(XDR *xdrs, nfsfattr *objp)
274a53f50b9Schristos {
275a53f50b9Schristos if (amuDebug(D_XDRTRACE))
276a53f50b9Schristos plog(XLOG_DEBUG, "xdr_fattr:");
277a53f50b9Schristos
278a53f50b9Schristos if (!xdr_ftype(xdrs, &objp->na_type)) {
279a53f50b9Schristos return (FALSE);
280a53f50b9Schristos }
281a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_mode)) {
282a53f50b9Schristos return (FALSE);
283a53f50b9Schristos }
284a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_nlink)) {
285a53f50b9Schristos return (FALSE);
286a53f50b9Schristos }
287a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_uid)) {
288a53f50b9Schristos return (FALSE);
289a53f50b9Schristos }
290a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_gid)) {
291a53f50b9Schristos return (FALSE);
292a53f50b9Schristos }
293a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_size)) {
294a53f50b9Schristos return (FALSE);
295a53f50b9Schristos }
296a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_blocksize)) {
297a53f50b9Schristos return (FALSE);
298a53f50b9Schristos }
299a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_rdev)) {
300a53f50b9Schristos return (FALSE);
301a53f50b9Schristos }
302a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_blocks)) {
303a53f50b9Schristos return (FALSE);
304a53f50b9Schristos }
305a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_fsid)) {
306a53f50b9Schristos return (FALSE);
307a53f50b9Schristos }
308a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->na_fileid)) {
309a53f50b9Schristos return (FALSE);
310a53f50b9Schristos }
311a53f50b9Schristos if (!xdr_nfstime(xdrs, &objp->na_atime)) {
312a53f50b9Schristos return (FALSE);
313a53f50b9Schristos }
314a53f50b9Schristos if (!xdr_nfstime(xdrs, &objp->na_mtime)) {
315a53f50b9Schristos return (FALSE);
316a53f50b9Schristos }
317a53f50b9Schristos if (!xdr_nfstime(xdrs, &objp->na_ctime)) {
318a53f50b9Schristos return (FALSE);
319a53f50b9Schristos }
320a53f50b9Schristos return (TRUE);
321a53f50b9Schristos }
322a53f50b9Schristos #endif /* not HAVE_XDR_FATTR */
323a53f50b9Schristos
324a53f50b9Schristos
325a53f50b9Schristos #ifndef HAVE_XDR_FHANDLE
326a53f50b9Schristos bool_t
xdr_fhandle(XDR * xdrs,fhandle objp)327a53f50b9Schristos xdr_fhandle(XDR *xdrs, fhandle objp)
328a53f50b9Schristos {
329a53f50b9Schristos if (amuDebug(D_XDRTRACE))
330a53f50b9Schristos plog(XLOG_DEBUG, "xdr_fhandle:");
331a53f50b9Schristos
332a53f50b9Schristos if (!xdr_opaque(xdrs, objp, NFS_FHSIZE)) {
333a53f50b9Schristos return (FALSE);
334a53f50b9Schristos }
335a53f50b9Schristos return (TRUE);
336a53f50b9Schristos }
337a53f50b9Schristos #endif /* not HAVE_XDR_FHANDLE */
338a53f50b9Schristos
339a53f50b9Schristos
340a53f50b9Schristos #ifndef HAVE_XDR_FHSTATUS
341a53f50b9Schristos bool_t
xdr_fhstatus(XDR * xdrs,fhstatus * objp)342a53f50b9Schristos xdr_fhstatus(XDR *xdrs, fhstatus *objp)
343a53f50b9Schristos {
344a53f50b9Schristos if (amuDebug(D_XDRTRACE))
345a53f50b9Schristos plog(XLOG_DEBUG, "xdr_fhstatus:");
346a53f50b9Schristos
347a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->fhs_status)) {
348a53f50b9Schristos return (FALSE);
349a53f50b9Schristos }
350a53f50b9Schristos if (objp->fhs_status == 0 && !xdr_fhandle(xdrs, objp->fhs_fh)) {
351a53f50b9Schristos return (FALSE);
352a53f50b9Schristos }
353a53f50b9Schristos return (TRUE);
354a53f50b9Schristos }
355a53f50b9Schristos #endif /* not HAVE_XDR_FHSTATUS */
356a53f50b9Schristos
357a53f50b9Schristos
358a53f50b9Schristos #ifndef HAVE_XDR_FILENAME
359a53f50b9Schristos bool_t
xdr_filename(XDR * xdrs,filename * objp)360a53f50b9Schristos xdr_filename(XDR *xdrs, filename *objp)
361a53f50b9Schristos {
362a53f50b9Schristos if (amuDebug(D_XDRTRACE))
363a53f50b9Schristos plog(XLOG_DEBUG, "xdr_filename:");
364a53f50b9Schristos
365a53f50b9Schristos if (!xdr_string(xdrs, objp, NFS_MAXNAMLEN)) {
366a53f50b9Schristos return (FALSE);
367a53f50b9Schristos }
368a53f50b9Schristos return (TRUE);
369a53f50b9Schristos }
370a53f50b9Schristos #endif /* not HAVE_XDR_FILENAME */
371a53f50b9Schristos
372a53f50b9Schristos
373a53f50b9Schristos #ifndef HAVE_XDR_FTYPE
374a53f50b9Schristos bool_t
xdr_ftype(XDR * xdrs,nfsftype * objp)375a53f50b9Schristos xdr_ftype(XDR *xdrs, nfsftype *objp)
376a53f50b9Schristos {
377a53f50b9Schristos enum_t local_obj = *objp;
378a53f50b9Schristos
379a53f50b9Schristos if (amuDebug(D_XDRTRACE))
380a53f50b9Schristos plog(XLOG_DEBUG, "xdr_ftype:");
381a53f50b9Schristos
382a53f50b9Schristos if (!xdr_enum(xdrs, &local_obj)) {
383a53f50b9Schristos return (FALSE);
384a53f50b9Schristos }
385a53f50b9Schristos return (TRUE);
386a53f50b9Schristos }
387a53f50b9Schristos #endif /* not HAVE_XDR_FTYPE */
388a53f50b9Schristos
389a53f50b9Schristos
390a53f50b9Schristos #ifndef HAVE_XDR_GROUPNODE
391a53f50b9Schristos bool_t
xdr_groupnode(XDR * xdrs,groupnode * objp)392a53f50b9Schristos xdr_groupnode(XDR *xdrs, groupnode *objp)
393a53f50b9Schristos {
394a53f50b9Schristos if (amuDebug(D_XDRTRACE))
395a53f50b9Schristos plog(XLOG_DEBUG, "xdr_groupnode:");
396a53f50b9Schristos
397a53f50b9Schristos if (!xdr_name(xdrs, &objp->gr_name)) {
398a53f50b9Schristos return (FALSE);
399a53f50b9Schristos }
400a53f50b9Schristos if (!xdr_groups(xdrs, &objp->gr_next)) {
401a53f50b9Schristos return (FALSE);
402a53f50b9Schristos }
403a53f50b9Schristos return (TRUE);
404a53f50b9Schristos }
405a53f50b9Schristos #endif /* not HAVE_XDR_GROUPNODE */
406a53f50b9Schristos
407a53f50b9Schristos
408a53f50b9Schristos #ifndef HAVE_XDR_GROUPS
409a53f50b9Schristos bool_t
xdr_groups(XDR * xdrs,groups * objp)410a53f50b9Schristos xdr_groups(XDR *xdrs, groups *objp)
411a53f50b9Schristos {
412a53f50b9Schristos if (amuDebug(D_XDRTRACE))
413a53f50b9Schristos plog(XLOG_DEBUG, "xdr_groups:");
414a53f50b9Schristos
415a53f50b9Schristos if (!xdr_pointer(xdrs, (char **) objp, sizeof(groupnode), (XDRPROC_T_TYPE) xdr_groupnode)) {
416a53f50b9Schristos return (FALSE);
417a53f50b9Schristos }
418a53f50b9Schristos return (TRUE);
419a53f50b9Schristos }
420a53f50b9Schristos #endif /* not HAVE_XDR_GROUPS */
421a53f50b9Schristos
422a53f50b9Schristos
423a53f50b9Schristos #ifndef HAVE_XDR_LINKARGS
424a53f50b9Schristos bool_t
xdr_linkargs(XDR * xdrs,nfslinkargs * objp)425a53f50b9Schristos xdr_linkargs(XDR *xdrs, nfslinkargs *objp)
426a53f50b9Schristos {
427a53f50b9Schristos if (amuDebug(D_XDRTRACE))
428a53f50b9Schristos plog(XLOG_DEBUG, "xdr_linkargs:");
429a53f50b9Schristos
430a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->la_fhandle)) {
431a53f50b9Schristos return (FALSE);
432a53f50b9Schristos }
433a53f50b9Schristos if (!xdr_diropargs(xdrs, &objp->la_to)) {
434a53f50b9Schristos return (FALSE);
435a53f50b9Schristos }
436a53f50b9Schristos return (TRUE);
437a53f50b9Schristos }
438a53f50b9Schristos #endif /* not HAVE_XDR_LINKARGS */
439a53f50b9Schristos
440a53f50b9Schristos
441a53f50b9Schristos #ifndef HAVE_XDR_MOUNTBODY
442a53f50b9Schristos bool_t
xdr_mountbody(XDR * xdrs,mountbody * objp)443a53f50b9Schristos xdr_mountbody(XDR *xdrs, mountbody *objp)
444a53f50b9Schristos {
445a53f50b9Schristos if (amuDebug(D_XDRTRACE))
446a53f50b9Schristos plog(XLOG_DEBUG, "xdr_mountbody:");
447a53f50b9Schristos
448a53f50b9Schristos if (!xdr_name(xdrs, &objp->ml_hostname)) {
449a53f50b9Schristos return (FALSE);
450a53f50b9Schristos }
451a53f50b9Schristos if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
452a53f50b9Schristos return (FALSE);
453a53f50b9Schristos }
454a53f50b9Schristos if (!xdr_mountlist(xdrs, &objp->ml_next)) {
455a53f50b9Schristos return (FALSE);
456a53f50b9Schristos }
457a53f50b9Schristos return (TRUE);
458a53f50b9Schristos }
459a53f50b9Schristos #endif /* not HAVE_XDR_MOUNTBODY */
460a53f50b9Schristos
461a53f50b9Schristos
462a53f50b9Schristos #ifndef HAVE_XDR_MOUNTLIST
463a53f50b9Schristos bool_t
xdr_mountlist(XDR * xdrs,mountlist * objp)464a53f50b9Schristos xdr_mountlist(XDR *xdrs, mountlist *objp)
465a53f50b9Schristos {
466a53f50b9Schristos if (amuDebug(D_XDRTRACE))
467a53f50b9Schristos plog(XLOG_DEBUG, "xdr_mountlist:");
468a53f50b9Schristos
469a53f50b9Schristos if (!xdr_pointer(xdrs, (char **) objp, sizeof(mountbody), (XDRPROC_T_TYPE) xdr_mountbody)) {
470a53f50b9Schristos return (FALSE);
471a53f50b9Schristos }
472a53f50b9Schristos return (TRUE);
473a53f50b9Schristos }
474a53f50b9Schristos #endif /* not HAVE_XDR_MOUNTLIST */
475a53f50b9Schristos
476a53f50b9Schristos
477a53f50b9Schristos #ifndef HAVE_XDR_NAME
478a53f50b9Schristos bool_t
xdr_name(XDR * xdrs,name * objp)479a53f50b9Schristos xdr_name(XDR *xdrs, name *objp)
480a53f50b9Schristos {
481a53f50b9Schristos if (amuDebug(D_XDRTRACE))
482a53f50b9Schristos plog(XLOG_DEBUG, "xdr_name:");
483a53f50b9Schristos
484a53f50b9Schristos if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
485a53f50b9Schristos return (FALSE);
486a53f50b9Schristos }
487a53f50b9Schristos return (TRUE);
488a53f50b9Schristos }
489a53f50b9Schristos #endif /* not HAVE_XDR_NAME */
490a53f50b9Schristos
491a53f50b9Schristos
492a53f50b9Schristos #ifndef HAVE_XDR_NFS_FH
493a53f50b9Schristos bool_t
xdr_nfs_fh(XDR * xdrs,am_nfs_fh * objp)494a53f50b9Schristos xdr_nfs_fh(XDR *xdrs, am_nfs_fh *objp)
495a53f50b9Schristos {
496a53f50b9Schristos if (amuDebug(D_XDRTRACE))
497a53f50b9Schristos plog(XLOG_DEBUG, "xdr_nfs_fh:");
498a53f50b9Schristos
499a53f50b9Schristos if (!xdr_opaque(xdrs, (caddr_t) objp->fh_data, NFS_FHSIZE)) {
500a53f50b9Schristos return (FALSE);
501a53f50b9Schristos }
502a53f50b9Schristos return (TRUE);
503a53f50b9Schristos }
504a53f50b9Schristos #endif /* not HAVE_XDR_NFS_FH */
505a53f50b9Schristos
506a53f50b9Schristos
507a53f50b9Schristos #ifndef HAVE_XDR_NFSCOOKIE
508a53f50b9Schristos bool_t
xdr_nfscookie(XDR * xdrs,nfscookie objp)509a53f50b9Schristos xdr_nfscookie(XDR *xdrs, nfscookie objp)
510a53f50b9Schristos {
511a53f50b9Schristos if (amuDebug(D_XDRTRACE))
512a53f50b9Schristos plog(XLOG_DEBUG, "xdr_nfscookie:");
513a53f50b9Schristos
514a53f50b9Schristos if (!xdr_opaque(xdrs, objp, NFS_COOKIESIZE)) {
515a53f50b9Schristos return (FALSE);
516a53f50b9Schristos }
517a53f50b9Schristos return (TRUE);
518a53f50b9Schristos }
519a53f50b9Schristos #endif /* not HAVE_XDR_NFSCOOKIE */
520a53f50b9Schristos
521a53f50b9Schristos
522a53f50b9Schristos #ifndef HAVE_XDR_NFSPATH
523a53f50b9Schristos bool_t
xdr_nfspath(XDR * xdrs,nfspath * objp)524a53f50b9Schristos xdr_nfspath(XDR *xdrs, nfspath *objp)
525a53f50b9Schristos {
526a53f50b9Schristos if (amuDebug(D_XDRTRACE))
527a53f50b9Schristos plog(XLOG_DEBUG, "xdr_nfspath:");
528a53f50b9Schristos
529a53f50b9Schristos if (!xdr_string(xdrs, objp, NFS_MAXPATHLEN)) {
530a53f50b9Schristos return (FALSE);
531a53f50b9Schristos }
532a53f50b9Schristos return (TRUE);
533a53f50b9Schristos }
534a53f50b9Schristos #endif /* not HAVE_XDR_NFSPATH */
535a53f50b9Schristos
536a53f50b9Schristos
537a53f50b9Schristos #ifndef HAVE_XDR_NFSSTAT
538a53f50b9Schristos bool_t
xdr_nfsstat(XDR * xdrs,nfsstat * objp)539a53f50b9Schristos xdr_nfsstat(XDR *xdrs, nfsstat *objp)
540a53f50b9Schristos {
541a53f50b9Schristos enum_t local_obj = *objp;
542a53f50b9Schristos
543a53f50b9Schristos if (amuDebug(D_XDRTRACE))
544a53f50b9Schristos plog(XLOG_DEBUG, "xdr_nfsstat:");
545a53f50b9Schristos
546a53f50b9Schristos if (!xdr_enum(xdrs, &local_obj)) {
547a53f50b9Schristos return (FALSE);
548a53f50b9Schristos }
549a53f50b9Schristos return (TRUE);
550a53f50b9Schristos }
551a53f50b9Schristos #endif /* not HAVE_XDR_NFSSTAT */
552a53f50b9Schristos
553a53f50b9Schristos
554a53f50b9Schristos #ifndef HAVE_XDR_NFSTIME
555a53f50b9Schristos bool_t
xdr_nfstime(XDR * xdrs,nfstime * objp)556a53f50b9Schristos xdr_nfstime(XDR *xdrs, nfstime *objp)
557a53f50b9Schristos {
558a53f50b9Schristos if (amuDebug(D_XDRTRACE))
559a53f50b9Schristos plog(XLOG_DEBUG, "xdr_nfstime:");
560a53f50b9Schristos
561a53f50b9Schristos if (!xdr_u_int(xdrs, (u_int *) &objp->nt_seconds)) {
562a53f50b9Schristos return (FALSE);
563a53f50b9Schristos }
564a53f50b9Schristos if (!xdr_u_int(xdrs, (u_int *) &objp->nt_useconds)) {
565a53f50b9Schristos return (FALSE);
566a53f50b9Schristos }
567a53f50b9Schristos return (TRUE);
568a53f50b9Schristos }
569a53f50b9Schristos #endif /* not HAVE_XDR_NFSTIME */
570a53f50b9Schristos
571a53f50b9Schristos
572a53f50b9Schristos #ifndef HAVE_XDR_POINTER
573a53f50b9Schristos bool_t
xdr_pointer(register XDR * xdrs,char ** objpp,u_int obj_size,XDRPROC_T_TYPE xdr_obj)574a53f50b9Schristos xdr_pointer(register XDR *xdrs, char **objpp, u_int obj_size, XDRPROC_T_TYPE xdr_obj)
575a53f50b9Schristos {
576a53f50b9Schristos if (amuDebug(D_XDRTRACE))
577a53f50b9Schristos plog(XLOG_DEBUG, "xdr_pointer:");
578a53f50b9Schristos
579a53f50b9Schristos bool_t more_data;
580a53f50b9Schristos
581a53f50b9Schristos more_data = (*objpp != NULL);
582a53f50b9Schristos if (!xdr_bool(xdrs, &more_data)) {
583a53f50b9Schristos return (FALSE);
584a53f50b9Schristos }
585a53f50b9Schristos if (!more_data) {
586a53f50b9Schristos *objpp = NULL;
587a53f50b9Schristos return (TRUE);
588a53f50b9Schristos }
589a53f50b9Schristos
590a53f50b9Schristos return (xdr_reference(xdrs, objpp, obj_size, xdr_obj));
591a53f50b9Schristos }
592a53f50b9Schristos #endif /* not HAVE_XDR_POINTER */
593a53f50b9Schristos
594a53f50b9Schristos
595a53f50b9Schristos #ifndef HAVE_XDR_READARGS
596a53f50b9Schristos bool_t
xdr_readargs(XDR * xdrs,nfsreadargs * objp)597a53f50b9Schristos xdr_readargs(XDR *xdrs, nfsreadargs *objp)
598a53f50b9Schristos {
599a53f50b9Schristos if (amuDebug(D_XDRTRACE))
600a53f50b9Schristos plog(XLOG_DEBUG, "xdr_readargs:");
601a53f50b9Schristos
602a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->ra_fhandle)) {
603a53f50b9Schristos return (FALSE);
604a53f50b9Schristos }
605a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->ra_offset)) {
606a53f50b9Schristos return (FALSE);
607a53f50b9Schristos }
608a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->ra_count)) {
609a53f50b9Schristos return (FALSE);
610a53f50b9Schristos }
611a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->ra_totalcount)) {
612a53f50b9Schristos return (FALSE);
613a53f50b9Schristos }
614a53f50b9Schristos return (TRUE);
615a53f50b9Schristos }
616a53f50b9Schristos #endif /* not HAVE_XDR_READARGS */
617a53f50b9Schristos
618a53f50b9Schristos
619a53f50b9Schristos #ifndef HAVE_XDR_READDIRARGS
620a53f50b9Schristos bool_t
xdr_readdirargs(XDR * xdrs,nfsreaddirargs * objp)621a53f50b9Schristos xdr_readdirargs(XDR *xdrs, nfsreaddirargs *objp)
622a53f50b9Schristos {
623a53f50b9Schristos if (amuDebug(D_XDRTRACE))
624a53f50b9Schristos plog(XLOG_DEBUG, "xdr_readdirargs:");
625a53f50b9Schristos
626a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->rda_fhandle)) {
627a53f50b9Schristos return (FALSE);
628a53f50b9Schristos }
629a53f50b9Schristos if (!xdr_nfscookie(xdrs, objp->rda_cookie)) {
630a53f50b9Schristos return (FALSE);
631a53f50b9Schristos }
632a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->rda_count)) {
633a53f50b9Schristos return (FALSE);
634a53f50b9Schristos }
635a53f50b9Schristos return (TRUE);
636a53f50b9Schristos }
637a53f50b9Schristos #endif /* not HAVE_XDR_READDIRARGS */
638a53f50b9Schristos
639a53f50b9Schristos
640a53f50b9Schristos #ifndef HAVE_XDR_READDIRRES
641a53f50b9Schristos bool_t
xdr_readdirres(XDR * xdrs,nfsreaddirres * objp)642a53f50b9Schristos xdr_readdirres(XDR *xdrs, nfsreaddirres *objp)
643a53f50b9Schristos {
644a53f50b9Schristos if (amuDebug(D_XDRTRACE))
645a53f50b9Schristos plog(XLOG_DEBUG, "xdr_readdirres:");
646a53f50b9Schristos
647a53f50b9Schristos if (!xdr_nfsstat(xdrs, &objp->rdr_status)) {
648a53f50b9Schristos return (FALSE);
649a53f50b9Schristos }
650a53f50b9Schristos switch (objp->rdr_status) {
651a53f50b9Schristos case NFS_OK:
652a53f50b9Schristos if (!xdr_dirlist(xdrs, &objp->rdr_u.rdr_reply_u)) {
653a53f50b9Schristos return (FALSE);
654a53f50b9Schristos }
655a53f50b9Schristos break;
656a53f50b9Schristos default:
657a53f50b9Schristos break;
658a53f50b9Schristos }
659a53f50b9Schristos return (TRUE);
660a53f50b9Schristos }
661a53f50b9Schristos #endif /* not HAVE_XDR_READDIRRES */
662a53f50b9Schristos
663a53f50b9Schristos
664a53f50b9Schristos #ifndef HAVE_XDR_READLINKRES
665a53f50b9Schristos bool_t
xdr_readlinkres(XDR * xdrs,nfsreadlinkres * objp)666a53f50b9Schristos xdr_readlinkres(XDR *xdrs, nfsreadlinkres *objp)
667a53f50b9Schristos {
668a53f50b9Schristos if (amuDebug(D_XDRTRACE))
669a53f50b9Schristos plog(XLOG_DEBUG, "xdr_readlinkres:");
670a53f50b9Schristos
671a53f50b9Schristos if (!xdr_nfsstat(xdrs, &objp->rlr_status)) {
672a53f50b9Schristos return (FALSE);
673a53f50b9Schristos }
674a53f50b9Schristos switch (objp->rlr_status) {
675a53f50b9Schristos case NFS_OK:
676a53f50b9Schristos if (!xdr_nfspath(xdrs, &objp->rlr_u.rlr_data_u)) {
677a53f50b9Schristos return (FALSE);
678a53f50b9Schristos }
679a53f50b9Schristos break;
680a53f50b9Schristos default:
681a53f50b9Schristos break;
682a53f50b9Schristos }
683a53f50b9Schristos return (TRUE);
684a53f50b9Schristos }
685a53f50b9Schristos #endif /* not HAVE_XDR_READLINKRES */
686a53f50b9Schristos
687a53f50b9Schristos
688a53f50b9Schristos #ifndef HAVE_XDR_READOKRES
689a53f50b9Schristos bool_t
xdr_readokres(XDR * xdrs,nfsreadokres * objp)690a53f50b9Schristos xdr_readokres(XDR *xdrs, nfsreadokres *objp)
691a53f50b9Schristos {
692a53f50b9Schristos if (amuDebug(D_XDRTRACE))
693a53f50b9Schristos plog(XLOG_DEBUG, "xdr_readokres:");
694a53f50b9Schristos
695a53f50b9Schristos if (!xdr_fattr(xdrs, &objp->raok_attributes)) {
696a53f50b9Schristos return (FALSE);
697a53f50b9Schristos }
698a53f50b9Schristos if (!xdr_bytes(xdrs,
699a53f50b9Schristos (char **) & objp->raok_u.raok_val_u,
700a53f50b9Schristos (u_int *) & objp->raok_u.raok_len_u,
701a53f50b9Schristos NFS_MAXDATA)) {
702a53f50b9Schristos return (FALSE);
703a53f50b9Schristos }
704a53f50b9Schristos return (TRUE);
705a53f50b9Schristos }
706a53f50b9Schristos #endif /* not HAVE_XDR_READOKRES */
707a53f50b9Schristos
708a53f50b9Schristos
709a53f50b9Schristos #ifndef HAVE_XDR_READRES
710a53f50b9Schristos bool_t
xdr_readres(XDR * xdrs,nfsreadres * objp)711a53f50b9Schristos xdr_readres(XDR *xdrs, nfsreadres *objp)
712a53f50b9Schristos {
713a53f50b9Schristos if (amuDebug(D_XDRTRACE))
714a53f50b9Schristos plog(XLOG_DEBUG, "xdr_readres:");
715a53f50b9Schristos
716a53f50b9Schristos if (!xdr_nfsstat(xdrs, &objp->rr_status)) {
717a53f50b9Schristos return (FALSE);
718a53f50b9Schristos }
719a53f50b9Schristos switch (objp->rr_status) {
720a53f50b9Schristos case NFS_OK:
721a53f50b9Schristos if (!xdr_readokres(xdrs, &objp->rr_u.rr_reply_u)) {
722a53f50b9Schristos return (FALSE);
723a53f50b9Schristos }
724a53f50b9Schristos break;
725a53f50b9Schristos default:
726a53f50b9Schristos break;
727a53f50b9Schristos }
728a53f50b9Schristos return (TRUE);
729a53f50b9Schristos }
730a53f50b9Schristos #endif /* not HAVE_XDR_READRES */
731a53f50b9Schristos
732a53f50b9Schristos
733a53f50b9Schristos #ifndef HAVE_XDR_RENAMEARGS
734a53f50b9Schristos bool_t
xdr_renameargs(XDR * xdrs,nfsrenameargs * objp)735a53f50b9Schristos xdr_renameargs(XDR *xdrs, nfsrenameargs *objp)
736a53f50b9Schristos {
737a53f50b9Schristos if (amuDebug(D_XDRTRACE))
738a53f50b9Schristos plog(XLOG_DEBUG, "xdr_renameargs:");
739a53f50b9Schristos
740a53f50b9Schristos if (!xdr_diropargs(xdrs, &objp->rna_from)) {
741a53f50b9Schristos return (FALSE);
742a53f50b9Schristos }
743a53f50b9Schristos if (!xdr_diropargs(xdrs, &objp->rna_to)) {
744a53f50b9Schristos return (FALSE);
745a53f50b9Schristos }
746a53f50b9Schristos return (TRUE);
747a53f50b9Schristos }
748a53f50b9Schristos #endif /* not HAVE_XDR_RENAMEARGS */
749a53f50b9Schristos
750a53f50b9Schristos
751a53f50b9Schristos #ifndef HAVE_XDR_SATTR
752a53f50b9Schristos bool_t
xdr_sattr(XDR * xdrs,nfssattr * objp)753a53f50b9Schristos xdr_sattr(XDR *xdrs, nfssattr *objp)
754a53f50b9Schristos {
755a53f50b9Schristos if (amuDebug(D_XDRTRACE))
756a53f50b9Schristos plog(XLOG_DEBUG, "xdr_sattr:");
757a53f50b9Schristos
758a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sa_mode)) {
759a53f50b9Schristos return (FALSE);
760a53f50b9Schristos }
761a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sa_uid)) {
762a53f50b9Schristos return (FALSE);
763a53f50b9Schristos }
764a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sa_gid)) {
765a53f50b9Schristos return (FALSE);
766a53f50b9Schristos }
767a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sa_size)) {
768a53f50b9Schristos return (FALSE);
769a53f50b9Schristos }
770a53f50b9Schristos if (!xdr_nfstime(xdrs, &objp->sa_atime)) {
771a53f50b9Schristos return (FALSE);
772a53f50b9Schristos }
773a53f50b9Schristos if (!xdr_nfstime(xdrs, &objp->sa_mtime)) {
774a53f50b9Schristos return (FALSE);
775a53f50b9Schristos }
776a53f50b9Schristos return (TRUE);
777a53f50b9Schristos }
778a53f50b9Schristos #endif /* not HAVE_XDR_SATTR */
779a53f50b9Schristos
780a53f50b9Schristos
781a53f50b9Schristos #ifndef HAVE_XDR_SATTRARGS
782a53f50b9Schristos bool_t
xdr_sattrargs(XDR * xdrs,nfssattrargs * objp)783a53f50b9Schristos xdr_sattrargs(XDR *xdrs, nfssattrargs *objp)
784a53f50b9Schristos {
785a53f50b9Schristos if (amuDebug(D_XDRTRACE))
786a53f50b9Schristos plog(XLOG_DEBUG, "xdr_sattrargs:");
787a53f50b9Schristos
788a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->sag_fhandle)) {
789a53f50b9Schristos return (FALSE);
790a53f50b9Schristos }
791a53f50b9Schristos if (!xdr_sattr(xdrs, &objp->sag_attributes)) {
792a53f50b9Schristos return (FALSE);
793a53f50b9Schristos }
794a53f50b9Schristos return (TRUE);
795a53f50b9Schristos }
796a53f50b9Schristos #endif /* not HAVE_XDR_SATTRARGS */
797a53f50b9Schristos
798a53f50b9Schristos
799a53f50b9Schristos #ifndef HAVE_XDR_STATFSOKRES
800a53f50b9Schristos bool_t
xdr_statfsokres(XDR * xdrs,nfsstatfsokres * objp)801a53f50b9Schristos xdr_statfsokres(XDR *xdrs, nfsstatfsokres *objp)
802a53f50b9Schristos {
803a53f50b9Schristos if (amuDebug(D_XDRTRACE))
804a53f50b9Schristos plog(XLOG_DEBUG, "xdr_statfsokres:");
805a53f50b9Schristos
806a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sfrok_tsize)) {
807a53f50b9Schristos return (FALSE);
808a53f50b9Schristos }
809a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sfrok_bsize)) {
810a53f50b9Schristos return (FALSE);
811a53f50b9Schristos }
812a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sfrok_blocks)) {
813a53f50b9Schristos return (FALSE);
814a53f50b9Schristos }
815a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sfrok_bfree)) {
816a53f50b9Schristos return (FALSE);
817a53f50b9Schristos }
818a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->sfrok_bavail)) {
819a53f50b9Schristos return (FALSE);
820a53f50b9Schristos }
821a53f50b9Schristos return (TRUE);
822a53f50b9Schristos }
823a53f50b9Schristos #endif /* not HAVE_XDR_STATFSOKRES */
824a53f50b9Schristos
825a53f50b9Schristos
826a53f50b9Schristos #ifndef HAVE_XDR_STATFSRES
827a53f50b9Schristos bool_t
xdr_statfsres(XDR * xdrs,nfsstatfsres * objp)828a53f50b9Schristos xdr_statfsres(XDR *xdrs, nfsstatfsres *objp)
829a53f50b9Schristos {
830a53f50b9Schristos if (amuDebug(D_XDRTRACE))
831a53f50b9Schristos plog(XLOG_DEBUG, "xdr_statfsres:");
832a53f50b9Schristos
833a53f50b9Schristos if (!xdr_nfsstat(xdrs, &objp->sfr_status)) {
834a53f50b9Schristos return (FALSE);
835a53f50b9Schristos }
836a53f50b9Schristos switch (objp->sfr_status) {
837a53f50b9Schristos case NFS_OK:
838a53f50b9Schristos if (!xdr_statfsokres(xdrs, &objp->sfr_u.sfr_reply_u)) {
839a53f50b9Schristos return (FALSE);
840a53f50b9Schristos }
841a53f50b9Schristos break;
842a53f50b9Schristos default:
843a53f50b9Schristos break;
844a53f50b9Schristos }
845a53f50b9Schristos return (TRUE);
846a53f50b9Schristos }
847a53f50b9Schristos #endif /* not HAVE_XDR_STATFSRES */
848a53f50b9Schristos
849a53f50b9Schristos
850a53f50b9Schristos #ifndef HAVE_XDR_SYMLINKARGS
851a53f50b9Schristos bool_t
xdr_symlinkargs(XDR * xdrs,nfssymlinkargs * objp)852a53f50b9Schristos xdr_symlinkargs(XDR *xdrs, nfssymlinkargs *objp)
853a53f50b9Schristos {
854a53f50b9Schristos if (amuDebug(D_XDRTRACE))
855a53f50b9Schristos plog(XLOG_DEBUG, "xdr_symlinkargs:");
856a53f50b9Schristos
857a53f50b9Schristos if (!xdr_diropargs(xdrs, &objp->sla_from)) {
858a53f50b9Schristos return (FALSE);
859a53f50b9Schristos }
860a53f50b9Schristos if (!xdr_nfspath(xdrs, &objp->sla_to)) {
861a53f50b9Schristos return (FALSE);
862a53f50b9Schristos }
863a53f50b9Schristos if (!xdr_sattr(xdrs, &objp->sla_attributes)) {
864a53f50b9Schristos return (FALSE);
865a53f50b9Schristos }
866a53f50b9Schristos return (TRUE);
867a53f50b9Schristos }
868a53f50b9Schristos #endif /* not HAVE_XDR_SYMLINKARGS */
869a53f50b9Schristos
870a53f50b9Schristos
871a53f50b9Schristos #ifndef HAVE_XDR_WRITEARGS
872a53f50b9Schristos bool_t
xdr_writeargs(XDR * xdrs,nfswriteargs * objp)873a53f50b9Schristos xdr_writeargs(XDR *xdrs, nfswriteargs *objp)
874a53f50b9Schristos {
875a53f50b9Schristos if (amuDebug(D_XDRTRACE))
876a53f50b9Schristos plog(XLOG_DEBUG, "xdr_writeargs:");
877a53f50b9Schristos
878a53f50b9Schristos if (!xdr_nfs_fh(xdrs, &objp->wra_fhandle)) {
879a53f50b9Schristos return (FALSE);
880a53f50b9Schristos }
881a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->wra_beginoffset)) {
882a53f50b9Schristos return (FALSE);
883a53f50b9Schristos }
884a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->wra_offset)) {
885a53f50b9Schristos return (FALSE);
886a53f50b9Schristos }
887a53f50b9Schristos if (!xdr_u_int(xdrs, &objp->wra_totalcount)) {
888a53f50b9Schristos return (FALSE);
889a53f50b9Schristos }
890a53f50b9Schristos if (!xdr_bytes(xdrs,
891a53f50b9Schristos (char **) & objp->wra_u.wra_val_u,
892a53f50b9Schristos (u_int *) & objp->wra_u.wra_len_u,
893a53f50b9Schristos NFS_MAXDATA)) {
894a53f50b9Schristos return (FALSE);
895a53f50b9Schristos }
896a53f50b9Schristos return (TRUE);
897a53f50b9Schristos }
898a53f50b9Schristos #endif /* not HAVE_XDR_WRITEARGS */
899a53f50b9Schristos
900a53f50b9Schristos
901a53f50b9Schristos /*
902a53f50b9Schristos * NFS V3 XDR FUNCTIONS:
903a53f50b9Schristos */
904a53f50b9Schristos #ifdef HAVE_FS_NFS3
905a53f50b9Schristos bool_t
xdr_am_fhandle3(XDR * xdrs,am_fhandle3 * objp)906a53f50b9Schristos xdr_am_fhandle3(XDR *xdrs, am_fhandle3 *objp)
907a53f50b9Schristos {
908a53f50b9Schristos if (amuDebug(D_XDRTRACE))
909a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_fhandle3:");
910a53f50b9Schristos
911a53f50b9Schristos if (!xdr_bytes(xdrs,
912a53f50b9Schristos (char **) &objp->fhandle3_val,
913a53f50b9Schristos (u_int *) &objp->fhandle3_len,
914a53f50b9Schristos AM_FHSIZE3))
915a53f50b9Schristos return (FALSE);
916a53f50b9Schristos return (TRUE);
917a53f50b9Schristos }
918a53f50b9Schristos
919a53f50b9Schristos
920a53f50b9Schristos bool_t
xdr_am_mountstat3(XDR * xdrs,am_mountstat3 * objp)921a53f50b9Schristos xdr_am_mountstat3(XDR *xdrs, am_mountstat3 *objp)
922a53f50b9Schristos {
923a53f50b9Schristos enum_t local_obj = *objp;
924a53f50b9Schristos
925a53f50b9Schristos if (amuDebug(D_XDRTRACE))
926a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_mountstat3:");
927a53f50b9Schristos
928a53f50b9Schristos if (!xdr_enum(xdrs, &local_obj))
929a53f50b9Schristos return (FALSE);
930a53f50b9Schristos return (TRUE);
931a53f50b9Schristos }
932a53f50b9Schristos
933a53f50b9Schristos
934a53f50b9Schristos bool_t
xdr_am_mountres3_ok(XDR * xdrs,am_mountres3_ok * objp)935a53f50b9Schristos xdr_am_mountres3_ok(XDR *xdrs, am_mountres3_ok *objp)
936a53f50b9Schristos {
937a53f50b9Schristos if (amuDebug(D_XDRTRACE))
938a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_mountres3_ok:");
939a53f50b9Schristos
940a53f50b9Schristos if (!xdr_am_fhandle3(xdrs, &objp->fhandle))
941a53f50b9Schristos return (FALSE);
942a53f50b9Schristos if (!xdr_array(xdrs,
943a53f50b9Schristos (char **) ((voidp) &objp->auth_flavors.auth_flavors_val),
944a53f50b9Schristos (u_int *) &objp->auth_flavors.auth_flavors_len,
945a53f50b9Schristos ~0,
946a53f50b9Schristos sizeof(int),
947a53f50b9Schristos (XDRPROC_T_TYPE) xdr_int))
948a53f50b9Schristos return (FALSE);
949a53f50b9Schristos return (TRUE);
950a53f50b9Schristos }
951a53f50b9Schristos
952a53f50b9Schristos bool_t
xdr_am_mountres3(XDR * xdrs,am_mountres3 * objp)953a53f50b9Schristos xdr_am_mountres3(XDR *xdrs, am_mountres3 *objp)
954a53f50b9Schristos {
955a53f50b9Schristos if (amuDebug(D_XDRTRACE))
956a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_mountres3:");
957a53f50b9Schristos
958a53f50b9Schristos if (!xdr_am_mountstat3(xdrs, &objp->fhs_status))
959a53f50b9Schristos return (FALSE);
960a53f50b9Schristos
961a53f50b9Schristos if (objp->fhs_status == AM_MNT3_OK) {
962a53f50b9Schristos if (!xdr_am_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
963a53f50b9Schristos return (FALSE);
964a53f50b9Schristos }
965a53f50b9Schristos return (TRUE);
966a53f50b9Schristos }
967a53f50b9Schristos
968*8bae5d40Schristos bool_t
xdr_am_cookieverf3(XDR * xdrs,am_cookieverf3 objp)969*8bae5d40Schristos xdr_am_cookieverf3(XDR *xdrs, am_cookieverf3 objp)
970*8bae5d40Schristos {
971*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
972*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_cookieverf3:");
973*8bae5d40Schristos
974*8bae5d40Schristos if (!xdr_opaque(xdrs, objp, AM_NFS3_COOKIEVERFSIZE))
975*8bae5d40Schristos return FALSE;
976*8bae5d40Schristos return TRUE;
977*8bae5d40Schristos }
978*8bae5d40Schristos
979*8bae5d40Schristos /*
980*8bae5d40Schristos * Not ideal, xdr_u_int64_t() is not defined in Linux glibc RPC
981*8bae5d40Schristos * but xdr_u_quad_t() is. But in libtirpc xdr_u_quad_t() is not
982*8bae5d40Schristos * defined and xdr_u_int64_t() is. So xdr_u_int64_t() is probably
983*8bae5d40Schristos * an expected standard xdr function so, if it isn't defined use
984*8bae5d40Schristos * an internal xdr_u_int64_t() that uses xdr_u_quad_t().
985*8bae5d40Schristos */
986*8bae5d40Schristos #ifndef HAVE_XDR_U_INT64_T
987*8bae5d40Schristos #define xdr_u_int64_t(xdrs, objp) xdr_u_quad_t(xdrs, objp)
988*8bae5d40Schristos #endif /* HAVE_XDR_U_INT64_T */
989*8bae5d40Schristos
990*8bae5d40Schristos bool_t
xdr_uint64(XDR * xdrs,uint64 * objp)991*8bae5d40Schristos xdr_uint64(XDR *xdrs, uint64 *objp)
992*8bae5d40Schristos {
993*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
994*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_uint64:");
995*8bae5d40Schristos
996*8bae5d40Schristos if (!xdr_u_int64_t(xdrs, objp))
997*8bae5d40Schristos return FALSE;
998*8bae5d40Schristos return TRUE;
999*8bae5d40Schristos }
1000*8bae5d40Schristos
1001*8bae5d40Schristos bool_t
xdr_am_cookie3(XDR * xdrs,am_cookie3 * objp)1002*8bae5d40Schristos xdr_am_cookie3(XDR *xdrs, am_cookie3 *objp)
1003*8bae5d40Schristos {
1004*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1005*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_cookie3:");
1006*8bae5d40Schristos
1007*8bae5d40Schristos if (!xdr_uint64(xdrs, objp))
1008*8bae5d40Schristos return FALSE;
1009*8bae5d40Schristos return TRUE;
1010*8bae5d40Schristos }
1011*8bae5d40Schristos
1012*8bae5d40Schristos bool_t
xdr_am_nfs_fh3(XDR * xdrs,am_nfs_fh3 * objp)1013*8bae5d40Schristos xdr_am_nfs_fh3(XDR *xdrs, am_nfs_fh3 *objp)
1014*8bae5d40Schristos {
1015*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1016*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_nfs_fh3:");
1017*8bae5d40Schristos
1018*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->am_fh3_length))
1019*8bae5d40Schristos return (FALSE);
1020*8bae5d40Schristos if (objp->am_fh3_length > AM_FHSIZE3)
1021*8bae5d40Schristos return (FALSE);
1022*8bae5d40Schristos if (!xdr_opaque(xdrs, objp->am_fh3_data, objp->am_fh3_length))
1023*8bae5d40Schristos return (FALSE);
1024*8bae5d40Schristos return (TRUE);
1025*8bae5d40Schristos }
1026*8bae5d40Schristos
1027*8bae5d40Schristos bool_t
xdr_am_nfsstat3(XDR * xdrs,am_nfsstat3 * objp)1028*8bae5d40Schristos xdr_am_nfsstat3(XDR *xdrs, am_nfsstat3 *objp)
1029*8bae5d40Schristos {
1030*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1031*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_nfsstat3:");
1032*8bae5d40Schristos
1033*8bae5d40Schristos if (!xdr_enum(xdrs, (enum_t *)objp))
1034*8bae5d40Schristos return (FALSE);
1035*8bae5d40Schristos return (TRUE);
1036*8bae5d40Schristos }
1037a53f50b9Schristos
1038a53f50b9Schristos bool_t
xdr_am_diropargs3(XDR * xdrs,am_diropargs3 * objp)1039a53f50b9Schristos xdr_am_diropargs3(XDR *xdrs, am_diropargs3 *objp)
1040a53f50b9Schristos {
1041a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1042a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_diropargs3:");
1043a53f50b9Schristos
1044a53f50b9Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->dir))
1045a53f50b9Schristos return (FALSE);
1046a53f50b9Schristos if (!xdr_am_filename3(xdrs, &objp->name))
1047a53f50b9Schristos return (FALSE);
1048a53f50b9Schristos return (TRUE);
1049a53f50b9Schristos }
1050a53f50b9Schristos
1051a53f50b9Schristos bool_t
xdr_am_filename3(XDR * xdrs,am_filename3 * objp)1052a53f50b9Schristos xdr_am_filename3(XDR *xdrs, am_filename3 *objp)
1053a53f50b9Schristos {
1054a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1055a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_filename3:");
1056a53f50b9Schristos
1057a53f50b9Schristos if (!xdr_string(xdrs, objp, ~0))
1058a53f50b9Schristos return (FALSE);
1059a53f50b9Schristos return (TRUE);
1060a53f50b9Schristos }
1061a53f50b9Schristos
1062*8bae5d40Schristos bool_t
xdr_am_ftype3(XDR * xdrs,am_ftype3 * objp)1063*8bae5d40Schristos xdr_am_ftype3(XDR *xdrs, am_ftype3 *objp)
1064*8bae5d40Schristos {
1065*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1066*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_ftype3:");
1067*8bae5d40Schristos
1068*8bae5d40Schristos if (!xdr_enum(xdrs, (enum_t *) objp))
1069*8bae5d40Schristos return FALSE;
1070*8bae5d40Schristos return TRUE;
1071*8bae5d40Schristos }
1072*8bae5d40Schristos
1073*8bae5d40Schristos bool_t
xdr_am_mode3(XDR * xdrs,am_mode3 * objp)1074*8bae5d40Schristos xdr_am_mode3(XDR *xdrs, am_mode3 *objp)
1075*8bae5d40Schristos {
1076*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1077*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_mode3:");
1078*8bae5d40Schristos
1079*8bae5d40Schristos if (!xdr_u_int(xdrs, objp))
1080*8bae5d40Schristos return FALSE;
1081*8bae5d40Schristos return TRUE;
1082*8bae5d40Schristos }
1083*8bae5d40Schristos
1084*8bae5d40Schristos bool_t
xdr_am_uid3(XDR * xdrs,am_uid3 * objp)1085*8bae5d40Schristos xdr_am_uid3(XDR *xdrs, am_uid3 *objp)
1086*8bae5d40Schristos {
1087*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1088*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_uid3:");
1089*8bae5d40Schristos
1090*8bae5d40Schristos if (!xdr_u_int(xdrs, objp))
1091*8bae5d40Schristos return FALSE;
1092*8bae5d40Schristos return TRUE;
1093*8bae5d40Schristos }
1094*8bae5d40Schristos
1095*8bae5d40Schristos bool_t
xdr_am_gid3(XDR * xdrs,am_gid3 * objp)1096*8bae5d40Schristos xdr_am_gid3(XDR *xdrs, am_gid3 *objp)
1097*8bae5d40Schristos {
1098*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1099*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_gid3:");
1100*8bae5d40Schristos
1101*8bae5d40Schristos if (!xdr_u_int(xdrs, objp))
1102*8bae5d40Schristos return FALSE;
1103*8bae5d40Schristos return TRUE;
1104*8bae5d40Schristos }
1105*8bae5d40Schristos
1106*8bae5d40Schristos bool_t
xdr_am_size3(XDR * xdrs,am_size3 * objp)1107*8bae5d40Schristos xdr_am_size3(XDR *xdrs, am_size3 *objp)
1108*8bae5d40Schristos {
1109*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1110*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_size3:");
1111*8bae5d40Schristos
1112*8bae5d40Schristos if (!xdr_uint64(xdrs, objp))
1113*8bae5d40Schristos return FALSE;
1114*8bae5d40Schristos return TRUE;
1115*8bae5d40Schristos }
1116*8bae5d40Schristos
1117*8bae5d40Schristos bool_t
xdr_am_fileid3(XDR * xdrs,am_fileid3 * objp)1118*8bae5d40Schristos xdr_am_fileid3(XDR *xdrs, am_fileid3 *objp)
1119*8bae5d40Schristos {
1120*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1121*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_fileid3:");
1122*8bae5d40Schristos
1123*8bae5d40Schristos if (!xdr_uint64(xdrs, objp))
1124*8bae5d40Schristos return FALSE;
1125*8bae5d40Schristos return TRUE;
1126*8bae5d40Schristos }
1127*8bae5d40Schristos
1128*8bae5d40Schristos bool_t
xdr_am_specdata3(XDR * xdrs,am_specdata3 * objp)1129*8bae5d40Schristos xdr_am_specdata3(XDR *xdrs, am_specdata3 *objp)
1130*8bae5d40Schristos {
1131*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1132*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_specdata3:");
1133*8bae5d40Schristos
1134*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->specdata1))
1135*8bae5d40Schristos return FALSE;
1136*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->specdata2))
1137*8bae5d40Schristos return FALSE;
1138*8bae5d40Schristos return TRUE;
1139*8bae5d40Schristos }
1140*8bae5d40Schristos
1141*8bae5d40Schristos bool_t
xdr_am_nfstime3(XDR * xdrs,am_nfstime3 * objp)1142*8bae5d40Schristos xdr_am_nfstime3(XDR *xdrs, am_nfstime3 *objp)
1143*8bae5d40Schristos {
1144*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1145*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_nfstime3:");
1146*8bae5d40Schristos
1147*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->seconds))
1148*8bae5d40Schristos return FALSE;
1149*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->nseconds))
1150*8bae5d40Schristos return FALSE;
1151*8bae5d40Schristos return TRUE;
1152*8bae5d40Schristos }
1153*8bae5d40Schristos
1154*8bae5d40Schristos bool_t
xdr_am_fattr3(XDR * xdrs,am_fattr3 * objp)1155*8bae5d40Schristos xdr_am_fattr3(XDR *xdrs, am_fattr3 *objp)
1156*8bae5d40Schristos {
1157*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1158*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_fattr3:");
1159*8bae5d40Schristos
1160*8bae5d40Schristos if (!xdr_am_ftype3(xdrs, &objp->type))
1161*8bae5d40Schristos return FALSE;
1162*8bae5d40Schristos if (!xdr_am_mode3(xdrs, &objp->mode))
1163*8bae5d40Schristos return FALSE;
1164*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->nlink))
1165*8bae5d40Schristos return FALSE;
1166*8bae5d40Schristos if (!xdr_am_uid3(xdrs, &objp->uid))
1167*8bae5d40Schristos return FALSE;
1168*8bae5d40Schristos if (!xdr_am_gid3(xdrs, &objp->gid))
1169*8bae5d40Schristos return FALSE;
1170*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->size))
1171*8bae5d40Schristos return FALSE;
1172*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->used))
1173*8bae5d40Schristos return FALSE;
1174*8bae5d40Schristos if (!xdr_am_specdata3(xdrs, &objp->rdev))
1175*8bae5d40Schristos return FALSE;
1176*8bae5d40Schristos if (!xdr_uint64(xdrs, &objp->fsid))
1177*8bae5d40Schristos return FALSE;
1178*8bae5d40Schristos if (!xdr_am_fileid3(xdrs, &objp->fileid))
1179*8bae5d40Schristos return FALSE;
1180*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->atime))
1181*8bae5d40Schristos return FALSE;
1182*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->mtime))
1183*8bae5d40Schristos return FALSE;
1184*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->ctime))
1185*8bae5d40Schristos return FALSE;
1186*8bae5d40Schristos return TRUE;
1187*8bae5d40Schristos }
1188*8bae5d40Schristos
1189*8bae5d40Schristos bool_t
xdr_am_post_op_attr(XDR * xdrs,am_post_op_attr * objp)1190*8bae5d40Schristos xdr_am_post_op_attr(XDR *xdrs, am_post_op_attr *objp)
1191*8bae5d40Schristos {
1192*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1193*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_post_op_attr:");
1194*8bae5d40Schristos
1195*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->attributes_follow))
1196*8bae5d40Schristos return FALSE;
1197*8bae5d40Schristos switch (objp->attributes_follow) {
1198*8bae5d40Schristos case TRUE:
1199*8bae5d40Schristos if (!xdr_am_fattr3(xdrs, &objp->am_post_op_attr_u.attributes))
1200*8bae5d40Schristos return FALSE;
1201*8bae5d40Schristos break;
1202*8bae5d40Schristos case FALSE:
1203*8bae5d40Schristos break;
1204*8bae5d40Schristos default:
1205*8bae5d40Schristos return FALSE;
1206*8bae5d40Schristos }
1207*8bae5d40Schristos return TRUE;
1208*8bae5d40Schristos }
1209*8bae5d40Schristos
1210*8bae5d40Schristos bool_t
xdr_am_stable_how(XDR * xdrs,am_stable_how * objp)1211*8bae5d40Schristos xdr_am_stable_how(XDR *xdrs, am_stable_how *objp)
1212*8bae5d40Schristos {
1213*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1214*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_stable_how:");
1215*8bae5d40Schristos
1216*8bae5d40Schristos if (!xdr_enum(xdrs, (enum_t *) objp))
1217*8bae5d40Schristos return FALSE;
1218*8bae5d40Schristos return TRUE;
1219*8bae5d40Schristos }
1220*8bae5d40Schristos
1221*8bae5d40Schristos bool_t
xdr_am_offset3(XDR * xdrs,am_offset3 * objp)1222*8bae5d40Schristos xdr_am_offset3(XDR *xdrs, am_offset3 *objp)
1223*8bae5d40Schristos {
1224*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1225*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_offset3:");
1226*8bae5d40Schristos
1227*8bae5d40Schristos if (!xdr_uint64(xdrs, objp))
1228*8bae5d40Schristos return FALSE;
1229*8bae5d40Schristos return TRUE;
1230*8bae5d40Schristos }
1231*8bae5d40Schristos
1232*8bae5d40Schristos bool_t
xdr_am_count3(XDR * xdrs,am_count3 * objp)1233*8bae5d40Schristos xdr_am_count3(XDR *xdrs, am_count3 *objp)
1234*8bae5d40Schristos {
1235*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1236*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_count3:");
1237*8bae5d40Schristos
1238*8bae5d40Schristos if (!xdr_u_int(xdrs, objp))
1239*8bae5d40Schristos return FALSE;
1240*8bae5d40Schristos return TRUE;
1241*8bae5d40Schristos }
1242*8bae5d40Schristos
1243*8bae5d40Schristos bool_t
xdr_am_wcc_attr(XDR * xdrs,am_wcc_attr * objp)1244*8bae5d40Schristos xdr_am_wcc_attr(XDR *xdrs, am_wcc_attr *objp)
1245*8bae5d40Schristos {
1246*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1247*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_wcc_attr:");
1248*8bae5d40Schristos
1249*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->size))
1250*8bae5d40Schristos return FALSE;
1251*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->mtime))
1252*8bae5d40Schristos return FALSE;
1253*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->ctime))
1254*8bae5d40Schristos return FALSE;
1255*8bae5d40Schristos return TRUE;
1256*8bae5d40Schristos }
1257*8bae5d40Schristos
1258*8bae5d40Schristos bool_t
xdr_am_pre_op_attr(XDR * xdrs,am_pre_op_attr * objp)1259*8bae5d40Schristos xdr_am_pre_op_attr(XDR *xdrs, am_pre_op_attr *objp)
1260*8bae5d40Schristos {
1261*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1262*8bae5d40Schristos plog(XLOG_DEBUG, ":xdr_am_pre_op_attr");
1263*8bae5d40Schristos
1264*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->attributes_follow))
1265*8bae5d40Schristos return FALSE;
1266*8bae5d40Schristos switch (objp->attributes_follow) {
1267*8bae5d40Schristos case TRUE:
1268*8bae5d40Schristos if (!xdr_am_wcc_attr(xdrs, &objp->am_pre_op_attr_u.attributes))
1269*8bae5d40Schristos return FALSE;
1270*8bae5d40Schristos break;
1271*8bae5d40Schristos case FALSE:
1272*8bae5d40Schristos break;
1273*8bae5d40Schristos default:
1274*8bae5d40Schristos return FALSE;
1275*8bae5d40Schristos }
1276*8bae5d40Schristos return TRUE;
1277*8bae5d40Schristos }
1278*8bae5d40Schristos
1279*8bae5d40Schristos bool_t
xdr_am_wcc_data(XDR * xdrs,am_wcc_data * objp)1280*8bae5d40Schristos xdr_am_wcc_data(XDR *xdrs, am_wcc_data *objp)
1281*8bae5d40Schristos {
1282*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1283*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_wcc_data:");
1284*8bae5d40Schristos
1285*8bae5d40Schristos if (!xdr_am_pre_op_attr(xdrs, &objp->before))
1286*8bae5d40Schristos return FALSE;
1287*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->after))
1288*8bae5d40Schristos return FALSE;
1289*8bae5d40Schristos return TRUE;
1290*8bae5d40Schristos }
1291*8bae5d40Schristos
1292*8bae5d40Schristos bool_t
xdr_am_WRITE3args(XDR * xdrs,am_WRITE3args * objp)1293*8bae5d40Schristos xdr_am_WRITE3args(XDR *xdrs, am_WRITE3args *objp)
1294*8bae5d40Schristos {
1295*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1296*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_WRITE3args:");
1297*8bae5d40Schristos
1298*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->file))
1299*8bae5d40Schristos return FALSE;
1300*8bae5d40Schristos if (!xdr_am_offset3(xdrs, &objp->offset))
1301*8bae5d40Schristos return FALSE;
1302*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->count))
1303*8bae5d40Schristos return FALSE;
1304*8bae5d40Schristos if (!xdr_am_stable_how(xdrs, &objp->stable))
1305*8bae5d40Schristos return FALSE;
1306*8bae5d40Schristos if (!xdr_bytes(xdrs, (char **)&objp->data.data_val,
1307*8bae5d40Schristos (u_int *) &objp->data.data_len, ~0))
1308*8bae5d40Schristos return FALSE;
1309*8bae5d40Schristos return TRUE;
1310*8bae5d40Schristos }
1311*8bae5d40Schristos
1312*8bae5d40Schristos bool_t
xdr_am_writeverf3(XDR * xdrs,am_writeverf3 objp)1313*8bae5d40Schristos xdr_am_writeverf3(XDR *xdrs, am_writeverf3 objp)
1314*8bae5d40Schristos {
1315*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1316*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_writeverf3:");
1317*8bae5d40Schristos
1318*8bae5d40Schristos if (!xdr_opaque(xdrs, objp, AM_NFS3_WRITEVERFSIZE))
1319*8bae5d40Schristos return FALSE;
1320*8bae5d40Schristos return TRUE;
1321*8bae5d40Schristos }
1322*8bae5d40Schristos
1323*8bae5d40Schristos bool_t
xdr_am_WRITE3resok(XDR * xdrs,am_WRITE3resok * objp)1324*8bae5d40Schristos xdr_am_WRITE3resok(XDR *xdrs, am_WRITE3resok *objp)
1325*8bae5d40Schristos {
1326*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1327*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_WRITE3resok:");
1328*8bae5d40Schristos
1329*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1330*8bae5d40Schristos return FALSE;
1331*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->count))
1332*8bae5d40Schristos return FALSE;
1333*8bae5d40Schristos if (!xdr_am_stable_how(xdrs, &objp->committed))
1334*8bae5d40Schristos return FALSE;
1335*8bae5d40Schristos if (!xdr_am_writeverf3(xdrs, objp->verf))
1336*8bae5d40Schristos return FALSE;
1337*8bae5d40Schristos return TRUE;
1338*8bae5d40Schristos }
1339*8bae5d40Schristos
1340*8bae5d40Schristos bool_t
xdr_am_WRITE3resfail(XDR * xdrs,am_WRITE3resfail * objp)1341*8bae5d40Schristos xdr_am_WRITE3resfail(XDR *xdrs, am_WRITE3resfail *objp)
1342*8bae5d40Schristos {
1343*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1344*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_WRITE3resfail:");
1345*8bae5d40Schristos
1346*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1347*8bae5d40Schristos return FALSE;
1348*8bae5d40Schristos return TRUE;
1349*8bae5d40Schristos }
1350*8bae5d40Schristos
1351*8bae5d40Schristos bool_t
xdr_am_WRITE3res(XDR * xdrs,am_WRITE3res * objp)1352*8bae5d40Schristos xdr_am_WRITE3res(XDR *xdrs, am_WRITE3res *objp)
1353*8bae5d40Schristos {
1354*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1355*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_WRITE3res:");
1356*8bae5d40Schristos
1357*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1358*8bae5d40Schristos return FALSE;
1359*8bae5d40Schristos switch (objp->status) {
1360*8bae5d40Schristos case AM_NFS3_OK:
1361*8bae5d40Schristos if (!xdr_am_WRITE3resok(xdrs, &objp->res_u.ok))
1362*8bae5d40Schristos return FALSE;
1363*8bae5d40Schristos break;
1364*8bae5d40Schristos default:
1365*8bae5d40Schristos if (!xdr_am_WRITE3resfail(xdrs, &objp->res_u.fail))
1366*8bae5d40Schristos return FALSE;
1367*8bae5d40Schristos break;
1368*8bae5d40Schristos }
1369*8bae5d40Schristos return TRUE;
1370*8bae5d40Schristos }
1371a53f50b9Schristos
1372a53f50b9Schristos bool_t
xdr_am_LOOKUP3args(XDR * xdrs,am_LOOKUP3args * objp)1373a53f50b9Schristos xdr_am_LOOKUP3args(XDR *xdrs, am_LOOKUP3args *objp)
1374a53f50b9Schristos {
1375a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1376a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_LOOKUP3args:");
1377a53f50b9Schristos
1378a53f50b9Schristos if (!xdr_am_diropargs3(xdrs, &objp->what))
1379a53f50b9Schristos return (FALSE);
1380a53f50b9Schristos return (TRUE);
1381a53f50b9Schristos }
1382a53f50b9Schristos
1383a53f50b9Schristos bool_t
xdr_am_LOOKUP3res(XDR * xdrs,am_LOOKUP3res * objp)1384a53f50b9Schristos xdr_am_LOOKUP3res(XDR *xdrs, am_LOOKUP3res *objp)
1385a53f50b9Schristos {
1386a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1387a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_LOOKUP3res:");
1388a53f50b9Schristos
1389a53f50b9Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1390a53f50b9Schristos return (FALSE);
1391a53f50b9Schristos switch (objp->status) {
1392a53f50b9Schristos case AM_NFS3_OK:
1393a53f50b9Schristos if (!xdr_am_LOOKUP3resok(xdrs, &objp->res_u.ok))
1394a53f50b9Schristos return (FALSE);
1395a53f50b9Schristos break;
1396a53f50b9Schristos default:
1397a53f50b9Schristos if (!xdr_am_LOOKUP3resfail(xdrs, &objp->res_u.fail))
1398a53f50b9Schristos return (FALSE);
1399a53f50b9Schristos break;
1400a53f50b9Schristos }
1401a53f50b9Schristos return (TRUE);
1402a53f50b9Schristos }
1403a53f50b9Schristos
1404a53f50b9Schristos bool_t
xdr_am_LOOKUP3resfail(XDR * xdrs,am_LOOKUP3resfail * objp)1405a53f50b9Schristos xdr_am_LOOKUP3resfail(XDR *xdrs, am_LOOKUP3resfail *objp)
1406a53f50b9Schristos {
1407a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1408a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_LOOKUP3resfail:");
1409a53f50b9Schristos
1410*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
1411a53f50b9Schristos return (FALSE);
1412a53f50b9Schristos return (TRUE);
1413a53f50b9Schristos }
1414a53f50b9Schristos
1415a53f50b9Schristos bool_t
xdr_am_LOOKUP3resok(XDR * xdrs,am_LOOKUP3resok * objp)1416a53f50b9Schristos xdr_am_LOOKUP3resok(XDR *xdrs, am_LOOKUP3resok *objp)
1417a53f50b9Schristos {
1418a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1419a53f50b9Schristos plog(XLOG_DEBUG, "xdr_am_LOOKUP3resok:");
1420a53f50b9Schristos
1421a53f50b9Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->object))
1422a53f50b9Schristos return (FALSE);
1423*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1424a53f50b9Schristos return (FALSE);
1425*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
1426a53f50b9Schristos return (FALSE);
1427a53f50b9Schristos return (TRUE);
1428a53f50b9Schristos }
1429a53f50b9Schristos
1430a53f50b9Schristos bool_t
xdr_am_COMMIT3args(XDR * xdrs,am_COMMIT3args * objp)1431*8bae5d40Schristos xdr_am_COMMIT3args(XDR *xdrs, am_COMMIT3args *objp)
1432a53f50b9Schristos {
1433a53f50b9Schristos if (amuDebug(D_XDRTRACE))
1434*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_COMMIT3args:");
1435*8bae5d40Schristos
1436*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->file))
1437*8bae5d40Schristos return FALSE;
1438*8bae5d40Schristos if (!xdr_am_offset3(xdrs, &objp->offset))
1439*8bae5d40Schristos return FALSE;
1440*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->count))
1441*8bae5d40Schristos return FALSE;
1442*8bae5d40Schristos return TRUE;
1443*8bae5d40Schristos }
1444*8bae5d40Schristos
1445*8bae5d40Schristos bool_t
xdr_am_COMMIT3resok(XDR * xdrs,am_COMMIT3resok * objp)1446*8bae5d40Schristos xdr_am_COMMIT3resok(XDR *xdrs, am_COMMIT3resok *objp)
1447*8bae5d40Schristos {
1448*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1449*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_COMMIT3resok:");
1450*8bae5d40Schristos
1451*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1452*8bae5d40Schristos return FALSE;
1453*8bae5d40Schristos if (!xdr_am_writeverf3(xdrs, objp->verf))
1454*8bae5d40Schristos return FALSE;
1455*8bae5d40Schristos return TRUE;
1456*8bae5d40Schristos }
1457*8bae5d40Schristos
1458*8bae5d40Schristos bool_t
xdr_am_COMMIT3resfail(XDR * xdrs,am_COMMIT3resfail * objp)1459*8bae5d40Schristos xdr_am_COMMIT3resfail(XDR *xdrs, am_COMMIT3resfail *objp)
1460*8bae5d40Schristos {
1461*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1462*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_COMMIT3resfail:");
1463*8bae5d40Schristos
1464*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1465*8bae5d40Schristos return FALSE;
1466*8bae5d40Schristos return TRUE;
1467*8bae5d40Schristos }
1468*8bae5d40Schristos
1469*8bae5d40Schristos bool_t
xdr_am_COMMIT3res(XDR * xdrs,am_COMMIT3res * objp)1470*8bae5d40Schristos xdr_am_COMMIT3res(XDR *xdrs, am_COMMIT3res *objp)
1471*8bae5d40Schristos {
1472*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1473*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_COMMIT3res:");
1474*8bae5d40Schristos
1475*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1476*8bae5d40Schristos return FALSE;
1477*8bae5d40Schristos switch (objp->status) {
1478*8bae5d40Schristos case AM_NFS3_OK:
1479*8bae5d40Schristos if (!xdr_am_COMMIT3resok(xdrs, &objp->res_u.ok))
1480*8bae5d40Schristos return FALSE;
1481*8bae5d40Schristos break;
1482*8bae5d40Schristos default:
1483*8bae5d40Schristos if (!xdr_am_COMMIT3resfail(xdrs, &objp->res_u.fail))
1484*8bae5d40Schristos return FALSE;
1485*8bae5d40Schristos break;
1486*8bae5d40Schristos }
1487*8bae5d40Schristos return TRUE;
1488*8bae5d40Schristos }
1489*8bae5d40Schristos
1490*8bae5d40Schristos bool_t
xdr_am_ACCESS3args(XDR * xdrs,am_ACCESS3args * objp)1491*8bae5d40Schristos xdr_am_ACCESS3args(XDR *xdrs, am_ACCESS3args *objp)
1492*8bae5d40Schristos {
1493*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1494*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_ACCESS3args:");
1495*8bae5d40Schristos
1496*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->object))
1497*8bae5d40Schristos return FALSE;
1498*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->access))
1499*8bae5d40Schristos return FALSE;
1500*8bae5d40Schristos return TRUE;
1501*8bae5d40Schristos }
1502*8bae5d40Schristos
1503*8bae5d40Schristos bool_t
xdr_am_ACCESS3resok(XDR * xdrs,am_ACCESS3resok * objp)1504*8bae5d40Schristos xdr_am_ACCESS3resok(XDR *xdrs, am_ACCESS3resok *objp)
1505*8bae5d40Schristos {
1506*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1507*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_ACCESS3resok:");
1508*8bae5d40Schristos
1509*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1510*8bae5d40Schristos return FALSE;
1511*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->access))
1512*8bae5d40Schristos return FALSE;
1513*8bae5d40Schristos return TRUE;
1514*8bae5d40Schristos }
1515*8bae5d40Schristos
1516*8bae5d40Schristos bool_t
xdr_am_ACCESS3resfail(XDR * xdrs,am_ACCESS3resfail * objp)1517*8bae5d40Schristos xdr_am_ACCESS3resfail(XDR *xdrs, am_ACCESS3resfail *objp)
1518*8bae5d40Schristos {
1519*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1520*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_ACCESS3resfail:");
1521*8bae5d40Schristos
1522*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1523*8bae5d40Schristos return FALSE;
1524*8bae5d40Schristos return TRUE;
1525*8bae5d40Schristos }
1526*8bae5d40Schristos
1527*8bae5d40Schristos bool_t
xdr_am_ACCESS3res(XDR * xdrs,am_ACCESS3res * objp)1528*8bae5d40Schristos xdr_am_ACCESS3res(XDR *xdrs, am_ACCESS3res *objp)
1529*8bae5d40Schristos {
1530*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1531*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_ACCESS3res:");
1532*8bae5d40Schristos
1533*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1534*8bae5d40Schristos return FALSE;
1535*8bae5d40Schristos switch (objp->status) {
1536*8bae5d40Schristos case AM_NFS3_OK:
1537*8bae5d40Schristos if (!xdr_am_ACCESS3resok(xdrs, &objp->res_u.ok))
1538*8bae5d40Schristos return FALSE;
1539*8bae5d40Schristos break;
1540*8bae5d40Schristos default:
1541*8bae5d40Schristos if (!xdr_am_ACCESS3resfail(xdrs, &objp->res_u.fail))
1542*8bae5d40Schristos return FALSE;
1543*8bae5d40Schristos break;
1544*8bae5d40Schristos }
1545*8bae5d40Schristos return TRUE;
1546*8bae5d40Schristos }
1547*8bae5d40Schristos
1548*8bae5d40Schristos bool_t
xdr_am_GETATTR3args(XDR * xdrs,am_GETATTR3args * objp)1549*8bae5d40Schristos xdr_am_GETATTR3args(XDR *xdrs, am_GETATTR3args *objp)
1550*8bae5d40Schristos {
1551*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1552*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_GETATTR3args:");
1553*8bae5d40Schristos
1554*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->object))
1555*8bae5d40Schristos return FALSE;
1556*8bae5d40Schristos return TRUE;
1557*8bae5d40Schristos }
1558*8bae5d40Schristos
1559*8bae5d40Schristos bool_t
xdr_am_GETATTR3resok(XDR * xdrs,am_GETATTR3resok * objp)1560*8bae5d40Schristos xdr_am_GETATTR3resok(XDR *xdrs, am_GETATTR3resok *objp)
1561*8bae5d40Schristos {
1562*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1563*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_GETATTR3resok:");
1564*8bae5d40Schristos
1565*8bae5d40Schristos if (!xdr_am_fattr3(xdrs, &objp->obj_attributes))
1566*8bae5d40Schristos return FALSE;
1567*8bae5d40Schristos return TRUE;
1568*8bae5d40Schristos }
1569*8bae5d40Schristos
1570*8bae5d40Schristos bool_t
xdr_am_GETATTR3res(XDR * xdrs,am_GETATTR3res * objp)1571*8bae5d40Schristos xdr_am_GETATTR3res(XDR *xdrs, am_GETATTR3res *objp)
1572*8bae5d40Schristos {
1573*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1574*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_GETATTR3res:");
1575*8bae5d40Schristos
1576*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1577*8bae5d40Schristos return FALSE;
1578*8bae5d40Schristos switch (objp->status) {
1579*8bae5d40Schristos case AM_NFS3_OK:
1580*8bae5d40Schristos if (!xdr_am_GETATTR3resok(xdrs, &objp->res_u.ok))
1581*8bae5d40Schristos return FALSE;
1582*8bae5d40Schristos break;
1583*8bae5d40Schristos default:
1584*8bae5d40Schristos break;
1585*8bae5d40Schristos }
1586*8bae5d40Schristos return TRUE;
1587*8bae5d40Schristos }
1588*8bae5d40Schristos
1589*8bae5d40Schristos bool_t
xdr_am_time_how(XDR * xdrs,am_time_how * objp)1590*8bae5d40Schristos xdr_am_time_how(XDR *xdrs, am_time_how *objp)
1591*8bae5d40Schristos {
1592*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1593*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_time_how:");
1594a53f50b9Schristos
1595a53f50b9Schristos if (!xdr_enum(xdrs, (enum_t *) objp))
1596*8bae5d40Schristos return FALSE;
1597*8bae5d40Schristos return TRUE;
1598a53f50b9Schristos }
1599*8bae5d40Schristos
1600*8bae5d40Schristos bool_t
xdr_am_set_mode3(XDR * xdrs,am_set_mode3 * objp)1601*8bae5d40Schristos xdr_am_set_mode3(XDR *xdrs, am_set_mode3 *objp)
1602*8bae5d40Schristos {
1603*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1604*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_set_mode3:");
1605*8bae5d40Schristos
1606*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->set_it))
1607*8bae5d40Schristos return FALSE;
1608*8bae5d40Schristos switch (objp->set_it) {
1609*8bae5d40Schristos case TRUE:
1610*8bae5d40Schristos if (!xdr_am_mode3(xdrs, &objp->am_set_mode3_u.mode))
1611*8bae5d40Schristos return FALSE;
1612*8bae5d40Schristos break;
1613*8bae5d40Schristos default:
1614*8bae5d40Schristos break;
1615*8bae5d40Schristos }
1616*8bae5d40Schristos return TRUE;
1617*8bae5d40Schristos }
1618*8bae5d40Schristos
1619*8bae5d40Schristos bool_t
xdr_am_set_uid3(XDR * xdrs,am_set_uid3 * objp)1620*8bae5d40Schristos xdr_am_set_uid3(XDR *xdrs, am_set_uid3 *objp)
1621*8bae5d40Schristos {
1622*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1623*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_set_uid3:");
1624*8bae5d40Schristos
1625*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->set_it))
1626*8bae5d40Schristos return FALSE;
1627*8bae5d40Schristos switch (objp->set_it) {
1628*8bae5d40Schristos case TRUE:
1629*8bae5d40Schristos if (!xdr_am_uid3(xdrs, &objp->am_set_uid3_u.uid))
1630*8bae5d40Schristos return FALSE;
1631*8bae5d40Schristos break;
1632*8bae5d40Schristos default:
1633*8bae5d40Schristos break;
1634*8bae5d40Schristos }
1635*8bae5d40Schristos return TRUE;
1636*8bae5d40Schristos }
1637*8bae5d40Schristos
1638*8bae5d40Schristos bool_t
xdr_am_set_gid3(XDR * xdrs,am_set_gid3 * objp)1639*8bae5d40Schristos xdr_am_set_gid3(XDR *xdrs, am_set_gid3 *objp)
1640*8bae5d40Schristos {
1641*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1642*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_set_gid3:");
1643*8bae5d40Schristos
1644*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->set_it))
1645*8bae5d40Schristos return FALSE;
1646*8bae5d40Schristos switch (objp->set_it) {
1647*8bae5d40Schristos case TRUE:
1648*8bae5d40Schristos if (!xdr_am_gid3(xdrs, &objp->am_set_gid3_u.gid))
1649*8bae5d40Schristos return FALSE;
1650*8bae5d40Schristos break;
1651*8bae5d40Schristos default:
1652*8bae5d40Schristos break;
1653*8bae5d40Schristos }
1654*8bae5d40Schristos return TRUE;
1655*8bae5d40Schristos }
1656*8bae5d40Schristos
1657*8bae5d40Schristos bool_t
xdr_am_set_size3(XDR * xdrs,am_set_size3 * objp)1658*8bae5d40Schristos xdr_am_set_size3(XDR *xdrs, am_set_size3 *objp)
1659*8bae5d40Schristos {
1660*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1661*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_set_size3:");
1662*8bae5d40Schristos
1663*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->set_it))
1664*8bae5d40Schristos return FALSE;
1665*8bae5d40Schristos switch (objp->set_it) {
1666*8bae5d40Schristos case TRUE:
1667*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->am_set_size3_u.size))
1668*8bae5d40Schristos return FALSE;
1669*8bae5d40Schristos break;
1670*8bae5d40Schristos default:
1671*8bae5d40Schristos break;
1672*8bae5d40Schristos }
1673*8bae5d40Schristos return TRUE;
1674*8bae5d40Schristos }
1675*8bae5d40Schristos
1676*8bae5d40Schristos bool_t
xdr_am_set_atime(XDR * xdrs,am_set_atime * objp)1677*8bae5d40Schristos xdr_am_set_atime(XDR *xdrs, am_set_atime *objp)
1678*8bae5d40Schristos {
1679*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1680*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_set_atime:");
1681*8bae5d40Schristos
1682*8bae5d40Schristos if (!xdr_am_time_how(xdrs, &objp->set_it))
1683*8bae5d40Schristos return FALSE;
1684*8bae5d40Schristos switch (objp->set_it) {
1685*8bae5d40Schristos case AM_SET_TO_CLIENT_TIME:
1686*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->am_set_atime_u.atime))
1687*8bae5d40Schristos return FALSE;
1688*8bae5d40Schristos break;
1689*8bae5d40Schristos default:
1690*8bae5d40Schristos break;
1691*8bae5d40Schristos }
1692*8bae5d40Schristos return TRUE;
1693*8bae5d40Schristos }
1694*8bae5d40Schristos
1695*8bae5d40Schristos bool_t
xdr_am_set_mtime(XDR * xdrs,am_set_mtime * objp)1696*8bae5d40Schristos xdr_am_set_mtime(XDR *xdrs, am_set_mtime *objp)
1697*8bae5d40Schristos {
1698*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1699*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_set_mtime:");
1700*8bae5d40Schristos
1701*8bae5d40Schristos if (!xdr_am_time_how(xdrs, &objp->set_it))
1702*8bae5d40Schristos return FALSE;
1703*8bae5d40Schristos switch (objp->set_it) {
1704*8bae5d40Schristos case AM_SET_TO_CLIENT_TIME:
1705*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->am_set_mtime_u.mtime))
1706*8bae5d40Schristos return FALSE;
1707*8bae5d40Schristos break;
1708*8bae5d40Schristos default:
1709*8bae5d40Schristos break;
1710*8bae5d40Schristos }
1711*8bae5d40Schristos return TRUE;
1712*8bae5d40Schristos }
1713*8bae5d40Schristos
1714*8bae5d40Schristos bool_t
xdr_am_sattr3(XDR * xdrs,am_sattr3 * objp)1715*8bae5d40Schristos xdr_am_sattr3(XDR *xdrs, am_sattr3 *objp)
1716*8bae5d40Schristos {
1717*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1718*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_sattr3:");
1719*8bae5d40Schristos
1720*8bae5d40Schristos if (!xdr_am_set_mode3(xdrs, &objp->mode))
1721*8bae5d40Schristos return FALSE;
1722*8bae5d40Schristos if (!xdr_am_set_uid3(xdrs, &objp->uid))
1723*8bae5d40Schristos return FALSE;
1724*8bae5d40Schristos if (!xdr_am_set_gid3(xdrs, &objp->gid))
1725*8bae5d40Schristos return FALSE;
1726*8bae5d40Schristos if (!xdr_am_set_size3(xdrs, &objp->size))
1727*8bae5d40Schristos return FALSE;
1728*8bae5d40Schristos if (!xdr_am_set_atime(xdrs, &objp->atime))
1729*8bae5d40Schristos return FALSE;
1730*8bae5d40Schristos if (!xdr_am_set_mtime(xdrs, &objp->mtime))
1731*8bae5d40Schristos return FALSE;
1732*8bae5d40Schristos return TRUE;
1733*8bae5d40Schristos }
1734*8bae5d40Schristos
1735*8bae5d40Schristos bool_t
xdr_am_createmode3(XDR * xdrs,am_createmode3 * objp)1736*8bae5d40Schristos xdr_am_createmode3(XDR *xdrs, am_createmode3 *objp)
1737*8bae5d40Schristos {
1738*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1739*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_createmode3:");
1740*8bae5d40Schristos
1741*8bae5d40Schristos if (!xdr_enum(xdrs, (enum_t *) objp))
1742*8bae5d40Schristos return FALSE;
1743*8bae5d40Schristos return TRUE;
1744*8bae5d40Schristos }
1745*8bae5d40Schristos
1746*8bae5d40Schristos bool_t
xdr_am_createverf3(XDR * xdrs,am_createverf3 objp)1747*8bae5d40Schristos xdr_am_createverf3(XDR *xdrs, am_createverf3 objp)
1748*8bae5d40Schristos {
1749*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1750*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_createverf3:");
1751*8bae5d40Schristos
1752*8bae5d40Schristos if (!xdr_opaque(xdrs, objp, AM_NFS3_CREATEVERFSIZE))
1753*8bae5d40Schristos return FALSE;
1754*8bae5d40Schristos return TRUE;
1755*8bae5d40Schristos }
1756*8bae5d40Schristos
1757*8bae5d40Schristos bool_t
xdr_am_createhow3(XDR * xdrs,am_createhow3 * objp)1758*8bae5d40Schristos xdr_am_createhow3(XDR *xdrs, am_createhow3 *objp)
1759*8bae5d40Schristos {
1760*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1761*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_createhow3:");
1762*8bae5d40Schristos
1763*8bae5d40Schristos if (!xdr_am_createmode3(xdrs, &objp->mode))
1764*8bae5d40Schristos return FALSE;
1765*8bae5d40Schristos switch (objp->mode) {
1766*8bae5d40Schristos case AM_UNCHECKED:
1767*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->am_createhow3_u.obj_attributes))
1768*8bae5d40Schristos return FALSE;
1769*8bae5d40Schristos break;
1770*8bae5d40Schristos case AM_GUARDED:
1771*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->am_createhow3_u.g_obj_attributes))
1772*8bae5d40Schristos return FALSE;
1773*8bae5d40Schristos break;
1774*8bae5d40Schristos case AM_EXCLUSIVE:
1775*8bae5d40Schristos if (!xdr_am_createverf3(xdrs, objp->am_createhow3_u.verf))
1776*8bae5d40Schristos return FALSE;
1777*8bae5d40Schristos break;
1778*8bae5d40Schristos default:
1779*8bae5d40Schristos return FALSE;
1780*8bae5d40Schristos }
1781*8bae5d40Schristos return TRUE;
1782*8bae5d40Schristos }
1783*8bae5d40Schristos
1784*8bae5d40Schristos bool_t
xdr_am_CREATE3args(XDR * xdrs,am_CREATE3args * objp)1785*8bae5d40Schristos xdr_am_CREATE3args(XDR *xdrs, am_CREATE3args *objp)
1786*8bae5d40Schristos {
1787*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1788*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_CREATE3args:");
1789*8bae5d40Schristos
1790*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->where))
1791*8bae5d40Schristos return FALSE;
1792*8bae5d40Schristos if (!xdr_am_createhow3(xdrs, &objp->how))
1793*8bae5d40Schristos return FALSE;
1794*8bae5d40Schristos return TRUE;
1795*8bae5d40Schristos }
1796*8bae5d40Schristos
1797*8bae5d40Schristos bool_t
xdr_am_post_op_fh3(XDR * xdrs,am_post_op_fh3 * objp)1798*8bae5d40Schristos xdr_am_post_op_fh3(XDR *xdrs, am_post_op_fh3 *objp)
1799*8bae5d40Schristos {
1800*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1801*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_post_op_fh3:");
1802*8bae5d40Schristos
1803*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->handle_follows))
1804*8bae5d40Schristos return FALSE;
1805*8bae5d40Schristos switch (objp->handle_follows) {
1806*8bae5d40Schristos case TRUE:
1807*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->am_post_op_fh3_u.handle))
1808*8bae5d40Schristos return FALSE;
1809*8bae5d40Schristos break;
1810*8bae5d40Schristos case FALSE:
1811*8bae5d40Schristos break;
1812*8bae5d40Schristos default:
1813*8bae5d40Schristos return FALSE;
1814*8bae5d40Schristos }
1815*8bae5d40Schristos return TRUE;
1816*8bae5d40Schristos }
1817*8bae5d40Schristos
1818*8bae5d40Schristos bool_t
xdr_am_CREATE3resok(XDR * xdrs,am_CREATE3resok * objp)1819*8bae5d40Schristos xdr_am_CREATE3resok(XDR *xdrs, am_CREATE3resok *objp)
1820*8bae5d40Schristos {
1821*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1822*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_CREATE3resok:");
1823*8bae5d40Schristos
1824*8bae5d40Schristos if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
1825*8bae5d40Schristos return FALSE;
1826*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1827*8bae5d40Schristos return FALSE;
1828*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1829*8bae5d40Schristos return FALSE;
1830*8bae5d40Schristos return TRUE;
1831*8bae5d40Schristos }
1832*8bae5d40Schristos
1833*8bae5d40Schristos bool_t
xdr_am_CREATE3resfail(XDR * xdrs,am_CREATE3resfail * objp)1834*8bae5d40Schristos xdr_am_CREATE3resfail(XDR *xdrs, am_CREATE3resfail *objp)
1835*8bae5d40Schristos {
1836*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1837*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_CREATE3resfail:");
1838*8bae5d40Schristos
1839*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1840*8bae5d40Schristos return FALSE;
1841*8bae5d40Schristos return TRUE;
1842*8bae5d40Schristos }
1843*8bae5d40Schristos
1844*8bae5d40Schristos bool_t
xdr_am_CREATE3res(XDR * xdrs,am_CREATE3res * objp)1845*8bae5d40Schristos xdr_am_CREATE3res(XDR *xdrs, am_CREATE3res *objp)
1846*8bae5d40Schristos {
1847*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1848*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_CREATE3res:");
1849*8bae5d40Schristos
1850*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1851*8bae5d40Schristos return FALSE;
1852*8bae5d40Schristos switch (objp->status) {
1853*8bae5d40Schristos case AM_NFS3_OK:
1854*8bae5d40Schristos if (!xdr_am_CREATE3resok(xdrs, &objp->res_u.ok))
1855*8bae5d40Schristos return FALSE;
1856*8bae5d40Schristos break;
1857*8bae5d40Schristos default:
1858*8bae5d40Schristos if (!xdr_am_CREATE3resfail(xdrs, &objp->res_u.fail))
1859*8bae5d40Schristos return FALSE;
1860*8bae5d40Schristos break;
1861*8bae5d40Schristos }
1862*8bae5d40Schristos return TRUE;
1863*8bae5d40Schristos }
1864*8bae5d40Schristos
1865*8bae5d40Schristos bool_t
xdr_am_REMOVE3args(XDR * xdrs,am_REMOVE3args * objp)1866*8bae5d40Schristos xdr_am_REMOVE3args(XDR *xdrs, am_REMOVE3args *objp)
1867*8bae5d40Schristos {
1868*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1869*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_REMOVE3args:");
1870*8bae5d40Schristos
1871*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->object))
1872*8bae5d40Schristos return FALSE;
1873*8bae5d40Schristos return TRUE;
1874*8bae5d40Schristos }
1875*8bae5d40Schristos
1876*8bae5d40Schristos bool_t
xdr_am_REMOVE3resok(XDR * xdrs,am_REMOVE3resok * objp)1877*8bae5d40Schristos xdr_am_REMOVE3resok(XDR *xdrs, am_REMOVE3resok *objp)
1878*8bae5d40Schristos {
1879*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1880*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_REMOVE3resok:");
1881*8bae5d40Schristos
1882*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1883*8bae5d40Schristos return FALSE;
1884*8bae5d40Schristos return TRUE;
1885*8bae5d40Schristos }
1886*8bae5d40Schristos
1887*8bae5d40Schristos bool_t
xdr_am_REMOVE3resfail(XDR * xdrs,am_REMOVE3resfail * objp)1888*8bae5d40Schristos xdr_am_REMOVE3resfail(XDR *xdrs, am_REMOVE3resfail *objp)
1889*8bae5d40Schristos {
1890*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1891*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_REMOVE3resfail:");
1892*8bae5d40Schristos
1893*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1894*8bae5d40Schristos return FALSE;
1895*8bae5d40Schristos return TRUE;
1896*8bae5d40Schristos }
1897*8bae5d40Schristos
1898*8bae5d40Schristos bool_t
xdr_am_REMOVE3res(XDR * xdrs,am_REMOVE3res * objp)1899*8bae5d40Schristos xdr_am_REMOVE3res(XDR *xdrs, am_REMOVE3res *objp)
1900*8bae5d40Schristos {
1901*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1902*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_REMOVE3res:");
1903*8bae5d40Schristos
1904*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1905*8bae5d40Schristos return FALSE;
1906*8bae5d40Schristos switch (objp->status) {
1907*8bae5d40Schristos case AM_NFS3_OK:
1908*8bae5d40Schristos if (!xdr_am_REMOVE3resok(xdrs, &objp->res_u.ok))
1909*8bae5d40Schristos return FALSE;
1910*8bae5d40Schristos break;
1911*8bae5d40Schristos default:
1912*8bae5d40Schristos if (!xdr_am_REMOVE3resfail(xdrs, &objp->res_u.fail))
1913*8bae5d40Schristos return FALSE;
1914*8bae5d40Schristos break;
1915*8bae5d40Schristos }
1916*8bae5d40Schristos return TRUE;
1917*8bae5d40Schristos }
1918*8bae5d40Schristos
1919*8bae5d40Schristos bool_t
xdr_am_READ3args(XDR * xdrs,am_READ3args * objp)1920*8bae5d40Schristos xdr_am_READ3args(XDR *xdrs, am_READ3args *objp)
1921*8bae5d40Schristos {
1922*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1923*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READ3args:");
1924*8bae5d40Schristos
1925*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->file))
1926*8bae5d40Schristos return FALSE;
1927*8bae5d40Schristos if (!xdr_am_offset3(xdrs, &objp->offset))
1928*8bae5d40Schristos return FALSE;
1929*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->count))
1930*8bae5d40Schristos return FALSE;
1931*8bae5d40Schristos return TRUE;
1932*8bae5d40Schristos }
1933*8bae5d40Schristos
1934*8bae5d40Schristos bool_t
xdr_am_READ3resok(XDR * xdrs,am_READ3resok * objp)1935*8bae5d40Schristos xdr_am_READ3resok(XDR *xdrs, am_READ3resok *objp)
1936*8bae5d40Schristos {
1937*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1938*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READ3resok:");
1939*8bae5d40Schristos
1940*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
1941*8bae5d40Schristos return FALSE;
1942*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->count))
1943*8bae5d40Schristos return FALSE;
1944*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->eof))
1945*8bae5d40Schristos return FALSE;
1946*8bae5d40Schristos if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
1947*8bae5d40Schristos return FALSE;
1948*8bae5d40Schristos return TRUE;
1949*8bae5d40Schristos }
1950*8bae5d40Schristos
1951*8bae5d40Schristos bool_t
xdr_am_READ3resfail(XDR * xdrs,am_READ3resfail * objp)1952*8bae5d40Schristos xdr_am_READ3resfail(XDR *xdrs, am_READ3resfail *objp)
1953*8bae5d40Schristos {
1954*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1955*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READ3resfail:");
1956*8bae5d40Schristos
1957*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
1958*8bae5d40Schristos return FALSE;
1959*8bae5d40Schristos return TRUE;
1960*8bae5d40Schristos }
1961*8bae5d40Schristos
1962*8bae5d40Schristos bool_t
xdr_am_READ3res(XDR * xdrs,am_READ3res * objp)1963*8bae5d40Schristos xdr_am_READ3res(XDR *xdrs, am_READ3res *objp)
1964*8bae5d40Schristos {
1965*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1966*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READ3res:");
1967*8bae5d40Schristos
1968*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
1969*8bae5d40Schristos return FALSE;
1970*8bae5d40Schristos switch (objp->status) {
1971*8bae5d40Schristos case AM_NFS3_OK:
1972*8bae5d40Schristos if (!xdr_am_READ3resok(xdrs, &objp->res_u.ok))
1973*8bae5d40Schristos return FALSE;
1974*8bae5d40Schristos break;
1975*8bae5d40Schristos default:
1976*8bae5d40Schristos if (!xdr_am_READ3resfail(xdrs, &objp->res_u.fail))
1977*8bae5d40Schristos return FALSE;
1978*8bae5d40Schristos break;
1979*8bae5d40Schristos }
1980*8bae5d40Schristos return TRUE;
1981*8bae5d40Schristos }
1982*8bae5d40Schristos
1983*8bae5d40Schristos bool_t
xdr_am_FSINFO3args(XDR * xdrs,am_FSINFO3args * objp)1984*8bae5d40Schristos xdr_am_FSINFO3args(XDR *xdrs, am_FSINFO3args *objp)
1985*8bae5d40Schristos {
1986*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
1987*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSINFO3args:");
1988*8bae5d40Schristos
1989*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->fsroot))
1990*8bae5d40Schristos return FALSE;
1991*8bae5d40Schristos return TRUE;
1992*8bae5d40Schristos }
1993*8bae5d40Schristos
1994*8bae5d40Schristos bool_t
xdr_am_FSINFO3resok(XDR * xdrs,am_FSINFO3resok * objp)1995*8bae5d40Schristos xdr_am_FSINFO3resok(XDR *xdrs, am_FSINFO3resok *objp)
1996*8bae5d40Schristos {
1997*8bae5d40Schristos register int32_t *buf;
1998*8bae5d40Schristos
1999*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2000*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSINFO3resok:");
2001*8bae5d40Schristos
2002*8bae5d40Schristos if (xdrs->x_op == XDR_ENCODE) {
2003*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2004*8bae5d40Schristos return FALSE;
2005*8bae5d40Schristos buf = XDR_INLINE(xdrs, 7 * BYTES_PER_XDR_UNIT);
2006*8bae5d40Schristos if (buf == NULL) {
2007*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->rtmax))
2008*8bae5d40Schristos return FALSE;
2009*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->rtpref))
2010*8bae5d40Schristos return FALSE;
2011*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->rtmult))
2012*8bae5d40Schristos return FALSE;
2013*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtmax))
2014*8bae5d40Schristos return FALSE;
2015*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtpref))
2016*8bae5d40Schristos return FALSE;
2017*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtmult))
2018*8bae5d40Schristos return FALSE;
2019*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->dtpref))
2020*8bae5d40Schristos return FALSE;
2021*8bae5d40Schristos } else {
2022*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->rtmax);
2023*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->rtpref);
2024*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->rtmult);
2025*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->wtmax);
2026*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->wtpref);
2027*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->wtmult);
2028*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->dtpref);
2029*8bae5d40Schristos }
2030*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->maxfilesize))
2031*8bae5d40Schristos return FALSE;
2032*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->time_delta))
2033*8bae5d40Schristos return FALSE;
2034*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->properties))
2035*8bae5d40Schristos return FALSE;
2036*8bae5d40Schristos return TRUE;
2037*8bae5d40Schristos } else if (xdrs->x_op == XDR_DECODE) {
2038*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2039*8bae5d40Schristos return FALSE;
2040*8bae5d40Schristos buf = XDR_INLINE(xdrs, 7 * BYTES_PER_XDR_UNIT);
2041*8bae5d40Schristos if (buf == NULL) {
2042*8bae5d40Schristos if (!xdr_u_int (xdrs, &objp->rtmax))
2043*8bae5d40Schristos return FALSE;
2044*8bae5d40Schristos if (!xdr_u_int (xdrs, &objp->rtpref))
2045*8bae5d40Schristos return FALSE;
2046*8bae5d40Schristos if (!xdr_u_int (xdrs, &objp->rtmult))
2047*8bae5d40Schristos return FALSE;
2048*8bae5d40Schristos if (!xdr_u_int (xdrs, &objp->wtmax))
2049*8bae5d40Schristos return FALSE;
2050*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtpref))
2051*8bae5d40Schristos return FALSE;
2052*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtmult))
2053*8bae5d40Schristos return FALSE;
2054*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->dtpref))
2055*8bae5d40Schristos return FALSE;
2056*8bae5d40Schristos } else {
2057*8bae5d40Schristos objp->rtmax = IXDR_GET_U_LONG(buf);
2058*8bae5d40Schristos objp->rtpref = IXDR_GET_U_LONG(buf);
2059*8bae5d40Schristos objp->rtmult = IXDR_GET_U_LONG(buf);
2060*8bae5d40Schristos objp->wtmax = IXDR_GET_U_LONG(buf);
2061*8bae5d40Schristos objp->wtpref = IXDR_GET_U_LONG(buf);
2062*8bae5d40Schristos objp->wtmult = IXDR_GET_U_LONG(buf);
2063*8bae5d40Schristos objp->dtpref = IXDR_GET_U_LONG(buf);
2064*8bae5d40Schristos }
2065*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->maxfilesize))
2066*8bae5d40Schristos return FALSE;
2067*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->time_delta))
2068*8bae5d40Schristos return FALSE;
2069*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->properties))
2070*8bae5d40Schristos return FALSE;
2071*8bae5d40Schristos return TRUE;
2072*8bae5d40Schristos }
2073*8bae5d40Schristos
2074*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2075*8bae5d40Schristos return FALSE;
2076*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->rtmax))
2077*8bae5d40Schristos return FALSE;
2078*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->rtpref))
2079*8bae5d40Schristos return FALSE;
2080*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->rtmult))
2081*8bae5d40Schristos return FALSE;
2082*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtmax))
2083*8bae5d40Schristos return FALSE;
2084*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtpref))
2085*8bae5d40Schristos return FALSE;
2086*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->wtmult))
2087*8bae5d40Schristos return FALSE;
2088*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->dtpref))
2089*8bae5d40Schristos return FALSE;
2090*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->maxfilesize))
2091*8bae5d40Schristos return FALSE;
2092*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->time_delta))
2093*8bae5d40Schristos return FALSE;
2094*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->properties))
2095*8bae5d40Schristos return FALSE;
2096*8bae5d40Schristos return TRUE;
2097*8bae5d40Schristos }
2098*8bae5d40Schristos
2099*8bae5d40Schristos bool_t
xdr_am_FSINFO3resfail(XDR * xdrs,am_FSINFO3resfail * objp)2100*8bae5d40Schristos xdr_am_FSINFO3resfail(XDR *xdrs, am_FSINFO3resfail *objp)
2101*8bae5d40Schristos {
2102*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2103*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSINFO3resfail:");
2104*8bae5d40Schristos
2105*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2106*8bae5d40Schristos return FALSE;
2107*8bae5d40Schristos return TRUE;
2108*8bae5d40Schristos }
2109*8bae5d40Schristos
2110*8bae5d40Schristos bool_t
xdr_am_FSINFO3res(XDR * xdrs,am_FSINFO3res * objp)2111*8bae5d40Schristos xdr_am_FSINFO3res(XDR *xdrs, am_FSINFO3res *objp)
2112*8bae5d40Schristos {
2113*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2114*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSINFO3res:");
2115*8bae5d40Schristos
2116*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2117*8bae5d40Schristos return FALSE;
2118*8bae5d40Schristos switch (objp->status) {
2119*8bae5d40Schristos case AM_NFS3_OK:
2120*8bae5d40Schristos if (!xdr_am_FSINFO3resok(xdrs, &objp->res_u.ok))
2121*8bae5d40Schristos return FALSE;
2122*8bae5d40Schristos break;
2123*8bae5d40Schristos default:
2124*8bae5d40Schristos if (!xdr_am_FSINFO3resfail(xdrs, &objp->res_u.fail))
2125*8bae5d40Schristos return FALSE;
2126*8bae5d40Schristos break;
2127*8bae5d40Schristos }
2128*8bae5d40Schristos return TRUE;
2129*8bae5d40Schristos }
2130*8bae5d40Schristos
2131*8bae5d40Schristos bool_t
xdr_am_FSSTAT3args(XDR * xdrs,am_FSSTAT3args * objp)2132*8bae5d40Schristos xdr_am_FSSTAT3args(XDR *xdrs, am_FSSTAT3args *objp)
2133*8bae5d40Schristos {
2134*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2135*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSSTAT3args:");
2136*8bae5d40Schristos
2137*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->fsroot))
2138*8bae5d40Schristos return FALSE;
2139*8bae5d40Schristos return TRUE;
2140*8bae5d40Schristos }
2141*8bae5d40Schristos
2142*8bae5d40Schristos bool_t
xdr_am_FSSTAT3resok(XDR * xdrs,am_FSSTAT3resok * objp)2143*8bae5d40Schristos xdr_am_FSSTAT3resok(XDR *xdrs, am_FSSTAT3resok *objp)
2144*8bae5d40Schristos {
2145*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2146*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSSTAT3resok:");
2147*8bae5d40Schristos
2148*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2149*8bae5d40Schristos return FALSE;
2150*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->tbytes))
2151*8bae5d40Schristos return FALSE;
2152*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->fbytes))
2153*8bae5d40Schristos return FALSE;
2154*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->abytes))
2155*8bae5d40Schristos return FALSE;
2156*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->tfiles))
2157*8bae5d40Schristos return FALSE;
2158*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->ffiles))
2159*8bae5d40Schristos return FALSE;
2160*8bae5d40Schristos if (!xdr_am_size3(xdrs, &objp->afiles))
2161*8bae5d40Schristos return FALSE;
2162*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->invarsec))
2163*8bae5d40Schristos return FALSE;
2164*8bae5d40Schristos return TRUE;
2165*8bae5d40Schristos }
2166*8bae5d40Schristos
2167*8bae5d40Schristos bool_t
xdr_am_FSSTAT3resfail(XDR * xdrs,am_FSSTAT3resfail * objp)2168*8bae5d40Schristos xdr_am_FSSTAT3resfail(XDR *xdrs, am_FSSTAT3resfail *objp)
2169*8bae5d40Schristos {
2170*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2171*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSSTAT3resfail:");
2172*8bae5d40Schristos
2173*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2174*8bae5d40Schristos return FALSE;
2175*8bae5d40Schristos return TRUE;
2176*8bae5d40Schristos }
2177*8bae5d40Schristos
2178*8bae5d40Schristos bool_t
xdr_am_FSSTAT3res(XDR * xdrs,am_FSSTAT3res * objp)2179*8bae5d40Schristos xdr_am_FSSTAT3res(XDR *xdrs, am_FSSTAT3res *objp)
2180*8bae5d40Schristos {
2181*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2182*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_FSSTAT3res:");
2183*8bae5d40Schristos
2184*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2185*8bae5d40Schristos return FALSE;
2186*8bae5d40Schristos switch (objp->status) {
2187*8bae5d40Schristos case AM_NFS3_OK:
2188*8bae5d40Schristos if (!xdr_am_FSSTAT3resok(xdrs, &objp->res_u.ok))
2189*8bae5d40Schristos return FALSE;
2190*8bae5d40Schristos break;
2191*8bae5d40Schristos default:
2192*8bae5d40Schristos if (!xdr_am_FSSTAT3resfail(xdrs, &objp->res_u.fail))
2193*8bae5d40Schristos return FALSE;
2194*8bae5d40Schristos break;
2195*8bae5d40Schristos }
2196*8bae5d40Schristos return TRUE;
2197*8bae5d40Schristos }
2198*8bae5d40Schristos
2199*8bae5d40Schristos bool_t
xdr_am_PATHCONF3args(XDR * xdrs,am_PATHCONF3args * objp)2200*8bae5d40Schristos xdr_am_PATHCONF3args(XDR *xdrs, am_PATHCONF3args *objp)
2201*8bae5d40Schristos {
2202*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2203*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_PATHCONF3args:");
2204*8bae5d40Schristos
2205*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->object))
2206*8bae5d40Schristos return FALSE;
2207*8bae5d40Schristos return TRUE;
2208*8bae5d40Schristos }
2209*8bae5d40Schristos
2210*8bae5d40Schristos bool_t
xdr_am_PATHCONF3resok(XDR * xdrs,am_PATHCONF3resok * objp)2211*8bae5d40Schristos xdr_am_PATHCONF3resok(XDR *xdrs, am_PATHCONF3resok *objp)
2212*8bae5d40Schristos {
2213*8bae5d40Schristos register int32_t *buf;
2214*8bae5d40Schristos
2215*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2216*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_PATHCONF3resok:");
2217*8bae5d40Schristos
2218*8bae5d40Schristos if (xdrs->x_op == XDR_ENCODE) {
2219*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2220*8bae5d40Schristos return FALSE;
2221*8bae5d40Schristos buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT);
2222*8bae5d40Schristos if (buf == NULL) {
2223*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->linkmax))
2224*8bae5d40Schristos return FALSE;
2225*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->name_max))
2226*8bae5d40Schristos return FALSE;
2227*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->no_trunc))
2228*8bae5d40Schristos return FALSE;
2229*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->chown_restricted))
2230*8bae5d40Schristos return FALSE;
2231*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->case_insensitive))
2232*8bae5d40Schristos return FALSE;
2233*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->case_preserving))
2234*8bae5d40Schristos return FALSE;
2235*8bae5d40Schristos } else {
2236*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->linkmax);
2237*8bae5d40Schristos IXDR_PUT_U_LONG(buf, objp->name_max);
2238*8bae5d40Schristos IXDR_PUT_BOOL(buf, objp->no_trunc);
2239*8bae5d40Schristos IXDR_PUT_BOOL(buf, objp->chown_restricted);
2240*8bae5d40Schristos IXDR_PUT_BOOL(buf, objp->case_insensitive);
2241*8bae5d40Schristos IXDR_PUT_BOOL(buf, objp->case_preserving);
2242*8bae5d40Schristos }
2243*8bae5d40Schristos return TRUE;
2244*8bae5d40Schristos } else if (xdrs->x_op == XDR_DECODE) {
2245*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2246*8bae5d40Schristos return FALSE;
2247*8bae5d40Schristos buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT);
2248*8bae5d40Schristos if (buf == NULL) {
2249*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->linkmax))
2250*8bae5d40Schristos return FALSE;
2251*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->name_max))
2252*8bae5d40Schristos return FALSE;
2253*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->no_trunc))
2254*8bae5d40Schristos return FALSE;
2255*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->chown_restricted))
2256*8bae5d40Schristos return FALSE;
2257*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->case_insensitive))
2258*8bae5d40Schristos return FALSE;
2259*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->case_preserving))
2260*8bae5d40Schristos return FALSE;
2261*8bae5d40Schristos } else {
2262*8bae5d40Schristos objp->linkmax = IXDR_GET_U_LONG(buf);
2263*8bae5d40Schristos objp->name_max = IXDR_GET_U_LONG(buf);
2264*8bae5d40Schristos objp->no_trunc = IXDR_GET_BOOL(buf);
2265*8bae5d40Schristos objp->chown_restricted = IXDR_GET_BOOL(buf);
2266*8bae5d40Schristos objp->case_insensitive = IXDR_GET_BOOL(buf);
2267*8bae5d40Schristos objp->case_preserving = IXDR_GET_BOOL(buf);
2268*8bae5d40Schristos }
2269*8bae5d40Schristos return TRUE;
2270*8bae5d40Schristos }
2271*8bae5d40Schristos
2272*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2273*8bae5d40Schristos return FALSE;
2274*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->linkmax))
2275*8bae5d40Schristos return FALSE;
2276*8bae5d40Schristos if (!xdr_u_int(xdrs, &objp->name_max))
2277*8bae5d40Schristos return FALSE;
2278*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->no_trunc))
2279*8bae5d40Schristos return FALSE;
2280*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->chown_restricted))
2281*8bae5d40Schristos return FALSE;
2282*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->case_insensitive))
2283*8bae5d40Schristos return FALSE;
2284*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->case_preserving))
2285*8bae5d40Schristos return FALSE;
2286*8bae5d40Schristos return TRUE;
2287*8bae5d40Schristos }
2288*8bae5d40Schristos
2289*8bae5d40Schristos bool_t
xdr_am_PATHCONF3resfail(XDR * xdrs,am_PATHCONF3resfail * objp)2290*8bae5d40Schristos xdr_am_PATHCONF3resfail(XDR *xdrs, am_PATHCONF3resfail *objp)
2291*8bae5d40Schristos {
2292*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2293*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_PATHCONF3resfail:");
2294*8bae5d40Schristos
2295*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2296*8bae5d40Schristos return FALSE;
2297*8bae5d40Schristos return TRUE;
2298*8bae5d40Schristos }
2299*8bae5d40Schristos
2300*8bae5d40Schristos bool_t
xdr_am_PATHCONF3res(XDR * xdrs,am_PATHCONF3res * objp)2301*8bae5d40Schristos xdr_am_PATHCONF3res(XDR *xdrs, am_PATHCONF3res *objp)
2302*8bae5d40Schristos {
2303*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2304*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_PATHCONF3res:");
2305*8bae5d40Schristos
2306*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2307*8bae5d40Schristos return FALSE;
2308*8bae5d40Schristos switch (objp->status) {
2309*8bae5d40Schristos case AM_NFS3_OK:
2310*8bae5d40Schristos if (!xdr_am_PATHCONF3resok(xdrs, &objp->res_u.ok))
2311*8bae5d40Schristos return FALSE;
2312*8bae5d40Schristos break;
2313*8bae5d40Schristos default:
2314*8bae5d40Schristos if (!xdr_am_PATHCONF3resfail(xdrs, &objp->res_u.fail))
2315*8bae5d40Schristos return FALSE;
2316*8bae5d40Schristos break;
2317*8bae5d40Schristos }
2318*8bae5d40Schristos return TRUE;
2319*8bae5d40Schristos }
2320*8bae5d40Schristos
2321*8bae5d40Schristos bool_t
xdr_am_nfspath3(XDR * xdrs,am_nfspath3 * objp)2322*8bae5d40Schristos xdr_am_nfspath3(XDR *xdrs, am_nfspath3 *objp)
2323*8bae5d40Schristos {
2324*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2325*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_nfspath3:");
2326*8bae5d40Schristos
2327*8bae5d40Schristos if (!xdr_string(xdrs, objp, ~0))
2328*8bae5d40Schristos return FALSE;
2329*8bae5d40Schristos return TRUE;
2330*8bae5d40Schristos }
2331*8bae5d40Schristos
2332*8bae5d40Schristos bool_t
xdr_am_symlinkdata3(XDR * xdrs,am_symlinkdata3 * objp)2333*8bae5d40Schristos xdr_am_symlinkdata3(XDR *xdrs, am_symlinkdata3 *objp)
2334*8bae5d40Schristos {
2335*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2336*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_symlinkdata3:");
2337*8bae5d40Schristos
2338*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->symlink_attributes))
2339*8bae5d40Schristos return FALSE;
2340*8bae5d40Schristos if (!xdr_am_nfspath3(xdrs, &objp->symlink_data))
2341*8bae5d40Schristos return FALSE;
2342*8bae5d40Schristos return TRUE;
2343*8bae5d40Schristos }
2344*8bae5d40Schristos
2345*8bae5d40Schristos bool_t
xdr_am_SYMLINK3args(XDR * xdrs,am_SYMLINK3args * objp)2346*8bae5d40Schristos xdr_am_SYMLINK3args(XDR *xdrs, am_SYMLINK3args *objp)
2347*8bae5d40Schristos {
2348*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2349*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SYMLINK3args:");
2350*8bae5d40Schristos
2351*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->where))
2352*8bae5d40Schristos return FALSE;
2353*8bae5d40Schristos if (!xdr_am_symlinkdata3(xdrs, &objp->symlink))
2354*8bae5d40Schristos return FALSE;
2355*8bae5d40Schristos return TRUE;
2356*8bae5d40Schristos }
2357*8bae5d40Schristos
2358*8bae5d40Schristos bool_t
xdr_am_SYMLINK3resok(XDR * xdrs,am_SYMLINK3resok * objp)2359*8bae5d40Schristos xdr_am_SYMLINK3resok(XDR *xdrs, am_SYMLINK3resok *objp)
2360*8bae5d40Schristos {
2361*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2362*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SYMLINK3resok:");
2363*8bae5d40Schristos
2364*8bae5d40Schristos if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
2365*8bae5d40Schristos return FALSE;
2366*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2367*8bae5d40Schristos return FALSE;
2368*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2369*8bae5d40Schristos return FALSE;
2370*8bae5d40Schristos return TRUE;
2371*8bae5d40Schristos }
2372*8bae5d40Schristos
2373*8bae5d40Schristos bool_t
xdr_am_SYMLINK3resfail(XDR * xdrs,am_SYMLINK3resfail * objp)2374*8bae5d40Schristos xdr_am_SYMLINK3resfail(XDR *xdrs, am_SYMLINK3resfail *objp)
2375*8bae5d40Schristos {
2376*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2377*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SYMLINK3resfail:");
2378*8bae5d40Schristos
2379*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2380*8bae5d40Schristos return FALSE;
2381*8bae5d40Schristos return TRUE;
2382*8bae5d40Schristos }
2383*8bae5d40Schristos
2384*8bae5d40Schristos bool_t
xdr_am_SYMLINK3res(XDR * xdrs,am_SYMLINK3res * objp)2385*8bae5d40Schristos xdr_am_SYMLINK3res(XDR *xdrs, am_SYMLINK3res *objp)
2386*8bae5d40Schristos {
2387*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2388*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SYMLINK3res:");
2389*8bae5d40Schristos
2390*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2391*8bae5d40Schristos return FALSE;
2392*8bae5d40Schristos switch (objp->status) {
2393*8bae5d40Schristos case AM_NFS3_OK:
2394*8bae5d40Schristos if (!xdr_am_SYMLINK3resok(xdrs, &objp->res_u.ok))
2395*8bae5d40Schristos return FALSE;
2396*8bae5d40Schristos break;
2397*8bae5d40Schristos default:
2398*8bae5d40Schristos if (!xdr_am_SYMLINK3resfail(xdrs, &objp->res_u.fail))
2399*8bae5d40Schristos return FALSE;
2400*8bae5d40Schristos break;
2401*8bae5d40Schristos }
2402*8bae5d40Schristos return TRUE;
2403*8bae5d40Schristos }
2404*8bae5d40Schristos
2405*8bae5d40Schristos bool_t
xdr_am_READLINK3args(XDR * xdrs,am_READLINK3args * objp)2406*8bae5d40Schristos xdr_am_READLINK3args(XDR *xdrs, am_READLINK3args *objp)
2407*8bae5d40Schristos {
2408*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2409*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READLINK3args:");
2410*8bae5d40Schristos
2411*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->symlink))
2412*8bae5d40Schristos return FALSE;
2413*8bae5d40Schristos return TRUE;
2414*8bae5d40Schristos }
2415*8bae5d40Schristos
2416*8bae5d40Schristos bool_t
xdr_am_READLINK3resok(XDR * xdrs,am_READLINK3resok * objp)2417*8bae5d40Schristos xdr_am_READLINK3resok(XDR *xdrs, am_READLINK3resok *objp)
2418*8bae5d40Schristos {
2419*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2420*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READLINK3resok:");
2421*8bae5d40Schristos
2422*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->symlink_attributes))
2423*8bae5d40Schristos return FALSE;
2424*8bae5d40Schristos if (!xdr_am_nfspath3(xdrs, &objp->data))
2425*8bae5d40Schristos return FALSE;
2426*8bae5d40Schristos return TRUE;
2427*8bae5d40Schristos }
2428*8bae5d40Schristos
2429*8bae5d40Schristos bool_t
xdr_am_READLINK3resfail(XDR * xdrs,am_READLINK3resfail * objp)2430*8bae5d40Schristos xdr_am_READLINK3resfail(XDR *xdrs, am_READLINK3resfail *objp)
2431*8bae5d40Schristos {
2432*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2433*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READLINK3resfail:");
2434*8bae5d40Schristos
2435*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->symlink_attributes))
2436*8bae5d40Schristos return FALSE;
2437*8bae5d40Schristos return TRUE;
2438*8bae5d40Schristos }
2439*8bae5d40Schristos
2440*8bae5d40Schristos bool_t
xdr_am_READLINK3res(XDR * xdrs,am_READLINK3res * objp)2441*8bae5d40Schristos xdr_am_READLINK3res(XDR *xdrs, am_READLINK3res *objp)
2442*8bae5d40Schristos {
2443*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2444*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READLINK3res:");
2445*8bae5d40Schristos
2446*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2447*8bae5d40Schristos return FALSE;
2448*8bae5d40Schristos switch (objp->status) {
2449*8bae5d40Schristos case AM_NFS3_OK:
2450*8bae5d40Schristos if (!xdr_am_READLINK3resok(xdrs, &objp->res_u.ok))
2451*8bae5d40Schristos return FALSE;
2452*8bae5d40Schristos break;
2453*8bae5d40Schristos default:
2454*8bae5d40Schristos if (!xdr_am_READLINK3resfail(xdrs, &objp->res_u.fail))
2455*8bae5d40Schristos return FALSE;
2456*8bae5d40Schristos break;
2457*8bae5d40Schristos }
2458*8bae5d40Schristos return TRUE;
2459*8bae5d40Schristos }
2460*8bae5d40Schristos
2461*8bae5d40Schristos bool_t
xdr_am_devicedata3(XDR * xdrs,am_devicedata3 * objp)2462*8bae5d40Schristos xdr_am_devicedata3(XDR *xdrs, am_devicedata3 *objp)
2463*8bae5d40Schristos {
2464*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2465*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_devicedata3:");
2466*8bae5d40Schristos
2467*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->dev_attributes))
2468*8bae5d40Schristos return FALSE;
2469*8bae5d40Schristos if (!xdr_am_specdata3(xdrs, &objp->spec))
2470*8bae5d40Schristos return FALSE;
2471*8bae5d40Schristos return TRUE;
2472*8bae5d40Schristos }
2473*8bae5d40Schristos
2474*8bae5d40Schristos bool_t
xdr_am_mknoddata3(XDR * xdrs,am_mknoddata3 * objp)2475*8bae5d40Schristos xdr_am_mknoddata3(XDR *xdrs, am_mknoddata3 *objp)
2476*8bae5d40Schristos {
2477*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2478*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_mknoddata3:");
2479*8bae5d40Schristos
2480*8bae5d40Schristos if (!xdr_am_ftype3(xdrs, &objp->type))
2481*8bae5d40Schristos return FALSE;
2482*8bae5d40Schristos switch (objp->type) {
2483*8bae5d40Schristos case AM_NF3CHR:
2484*8bae5d40Schristos if (!xdr_am_devicedata3(xdrs, &objp->am_mknoddata3_u.chr_device))
2485*8bae5d40Schristos return FALSE;
2486*8bae5d40Schristos break;
2487*8bae5d40Schristos case AM_NF3BLK:
2488*8bae5d40Schristos if (!xdr_am_devicedata3(xdrs, &objp->am_mknoddata3_u.blk_device))
2489*8bae5d40Schristos return FALSE;
2490*8bae5d40Schristos break;
2491*8bae5d40Schristos case AM_NF3SOCK:
2492*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->am_mknoddata3_u.sock_attributes))
2493*8bae5d40Schristos return FALSE;
2494*8bae5d40Schristos break;
2495*8bae5d40Schristos case AM_NF3FIFO:
2496*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->am_mknoddata3_u.pipe_attributes))
2497*8bae5d40Schristos return FALSE;
2498*8bae5d40Schristos break;
2499*8bae5d40Schristos default:
2500*8bae5d40Schristos break;
2501*8bae5d40Schristos }
2502*8bae5d40Schristos return TRUE;
2503*8bae5d40Schristos }
2504*8bae5d40Schristos
2505*8bae5d40Schristos bool_t
xdr_am_MKNOD3args(XDR * xdrs,am_MKNOD3args * objp)2506*8bae5d40Schristos xdr_am_MKNOD3args(XDR *xdrs, am_MKNOD3args *objp)
2507*8bae5d40Schristos {
2508*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2509*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_MKNOD3args:");
2510*8bae5d40Schristos
2511*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->where))
2512*8bae5d40Schristos return FALSE;
2513*8bae5d40Schristos if (!xdr_am_mknoddata3(xdrs, &objp->what))
2514*8bae5d40Schristos return FALSE;
2515*8bae5d40Schristos return TRUE;
2516*8bae5d40Schristos }
2517*8bae5d40Schristos
2518*8bae5d40Schristos bool_t
xdr_am_MKNOD3resok(XDR * xdrs,am_MKNOD3resok * objp)2519*8bae5d40Schristos xdr_am_MKNOD3resok(XDR *xdrs, am_MKNOD3resok *objp)
2520*8bae5d40Schristos {
2521*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2522*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_MKNOD3resok:");
2523*8bae5d40Schristos
2524*8bae5d40Schristos if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
2525*8bae5d40Schristos return FALSE;
2526*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2527*8bae5d40Schristos return FALSE;
2528*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2529*8bae5d40Schristos return FALSE;
2530*8bae5d40Schristos return TRUE;
2531*8bae5d40Schristos }
2532*8bae5d40Schristos
2533*8bae5d40Schristos bool_t
xdr_am_MKNOD3resfail(XDR * xdrs,am_MKNOD3resfail * objp)2534*8bae5d40Schristos xdr_am_MKNOD3resfail(XDR *xdrs, am_MKNOD3resfail *objp)
2535*8bae5d40Schristos {
2536*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2537*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_MKNOD3resfail:");
2538*8bae5d40Schristos
2539*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2540*8bae5d40Schristos return FALSE;
2541*8bae5d40Schristos return TRUE;
2542*8bae5d40Schristos }
2543*8bae5d40Schristos
2544*8bae5d40Schristos bool_t
xdr_am_MKNOD3res(XDR * xdrs,am_MKNOD3res * objp)2545*8bae5d40Schristos xdr_am_MKNOD3res(XDR *xdrs, am_MKNOD3res *objp)
2546*8bae5d40Schristos {
2547*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2548*8bae5d40Schristos plog(XLOG_DEBUG, ":");
2549*8bae5d40Schristos
2550*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2551*8bae5d40Schristos return FALSE;
2552*8bae5d40Schristos switch (objp->status) {
2553*8bae5d40Schristos case AM_NFS3_OK:
2554*8bae5d40Schristos if (!xdr_am_MKNOD3resok(xdrs, &objp->res_u.ok))
2555*8bae5d40Schristos return FALSE;
2556*8bae5d40Schristos break;
2557*8bae5d40Schristos default:
2558*8bae5d40Schristos if (!xdr_am_MKNOD3resfail(xdrs, &objp->res_u.fail))
2559*8bae5d40Schristos return FALSE;
2560*8bae5d40Schristos break;
2561*8bae5d40Schristos }
2562*8bae5d40Schristos return TRUE;
2563*8bae5d40Schristos }
2564*8bae5d40Schristos
2565*8bae5d40Schristos bool_t
xdr_am_MKDIR3args(XDR * xdrs,am_MKDIR3args * objp)2566*8bae5d40Schristos xdr_am_MKDIR3args(XDR *xdrs, am_MKDIR3args *objp)
2567*8bae5d40Schristos {
2568*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2569*8bae5d40Schristos plog(XLOG_DEBUG, ":");
2570*8bae5d40Schristos
2571*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->where))
2572*8bae5d40Schristos return FALSE;
2573*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->attributes))
2574*8bae5d40Schristos return FALSE;
2575*8bae5d40Schristos return TRUE;
2576*8bae5d40Schristos }
2577*8bae5d40Schristos
2578*8bae5d40Schristos bool_t
xdr_am_MKDIR3resok(XDR * xdrs,am_MKDIR3resok * objp)2579*8bae5d40Schristos xdr_am_MKDIR3resok(XDR *xdrs, am_MKDIR3resok *objp)
2580*8bae5d40Schristos {
2581*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2582*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_MKDIR3resok:");
2583*8bae5d40Schristos
2584*8bae5d40Schristos if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
2585*8bae5d40Schristos return FALSE;
2586*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2587*8bae5d40Schristos return FALSE;
2588*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2589*8bae5d40Schristos return FALSE;
2590*8bae5d40Schristos return TRUE;
2591*8bae5d40Schristos }
2592*8bae5d40Schristos
2593*8bae5d40Schristos bool_t
xdr_am_MKDIR3resfail(XDR * xdrs,am_MKDIR3resfail * objp)2594*8bae5d40Schristos xdr_am_MKDIR3resfail(XDR *xdrs, am_MKDIR3resfail *objp)
2595*8bae5d40Schristos {
2596*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2597*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_MKDIR3resfail:");
2598*8bae5d40Schristos
2599*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2600*8bae5d40Schristos return FALSE;
2601*8bae5d40Schristos return TRUE;
2602*8bae5d40Schristos }
2603*8bae5d40Schristos
2604*8bae5d40Schristos bool_t
xdr_am_MKDIR3res(XDR * xdrs,am_MKDIR3res * objp)2605*8bae5d40Schristos xdr_am_MKDIR3res(XDR *xdrs, am_MKDIR3res *objp)
2606*8bae5d40Schristos {
2607*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2608*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_MKDIR3res:");
2609*8bae5d40Schristos
2610*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2611*8bae5d40Schristos return FALSE;
2612*8bae5d40Schristos switch (objp->status) {
2613*8bae5d40Schristos case AM_NFS3_OK:
2614*8bae5d40Schristos if (!xdr_am_MKDIR3resok(xdrs, &objp->res_u.ok))
2615*8bae5d40Schristos return FALSE;
2616*8bae5d40Schristos break;
2617*8bae5d40Schristos default:
2618*8bae5d40Schristos if (!xdr_am_MKDIR3resfail(xdrs, &objp->res_u.fail))
2619*8bae5d40Schristos return FALSE;
2620*8bae5d40Schristos break;
2621*8bae5d40Schristos }
2622*8bae5d40Schristos return TRUE;
2623*8bae5d40Schristos }
2624*8bae5d40Schristos
2625*8bae5d40Schristos bool_t
xdr_am_RMDIR3args(XDR * xdrs,am_RMDIR3args * objp)2626*8bae5d40Schristos xdr_am_RMDIR3args(XDR *xdrs, am_RMDIR3args *objp)
2627*8bae5d40Schristos {
2628*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2629*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RMDIR3args:");
2630*8bae5d40Schristos
2631*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->object))
2632*8bae5d40Schristos return FALSE;
2633*8bae5d40Schristos return TRUE;
2634*8bae5d40Schristos }
2635*8bae5d40Schristos
2636*8bae5d40Schristos bool_t
xdr_am_RMDIR3resok(XDR * xdrs,am_RMDIR3resok * objp)2637*8bae5d40Schristos xdr_am_RMDIR3resok(XDR *xdrs, am_RMDIR3resok *objp)
2638*8bae5d40Schristos {
2639*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2640*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RMDIR3resok:");
2641*8bae5d40Schristos
2642*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2643*8bae5d40Schristos return FALSE;
2644*8bae5d40Schristos return TRUE;
2645*8bae5d40Schristos }
2646*8bae5d40Schristos
2647*8bae5d40Schristos bool_t
xdr_am_RMDIR3resfail(XDR * xdrs,am_RMDIR3resfail * objp)2648*8bae5d40Schristos xdr_am_RMDIR3resfail(XDR *xdrs, am_RMDIR3resfail *objp)
2649*8bae5d40Schristos {
2650*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2651*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RMDIR3resfail:");
2652*8bae5d40Schristos
2653*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2654*8bae5d40Schristos return FALSE;
2655*8bae5d40Schristos return TRUE;
2656*8bae5d40Schristos }
2657*8bae5d40Schristos
2658*8bae5d40Schristos bool_t
xdr_am_RMDIR3res(XDR * xdrs,am_RMDIR3res * objp)2659*8bae5d40Schristos xdr_am_RMDIR3res(XDR *xdrs, am_RMDIR3res *objp)
2660*8bae5d40Schristos {
2661*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2662*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RMDIR3res:");
2663*8bae5d40Schristos
2664*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2665*8bae5d40Schristos return FALSE;
2666*8bae5d40Schristos switch (objp->status) {
2667*8bae5d40Schristos case AM_NFS3_OK:
2668*8bae5d40Schristos if (!xdr_am_RMDIR3resok(xdrs, &objp->res_u.ok))
2669*8bae5d40Schristos return FALSE;
2670*8bae5d40Schristos break;
2671*8bae5d40Schristos default:
2672*8bae5d40Schristos if (!xdr_am_RMDIR3resfail(xdrs, &objp->res_u.fail))
2673*8bae5d40Schristos return FALSE;
2674*8bae5d40Schristos break;
2675*8bae5d40Schristos }
2676*8bae5d40Schristos return TRUE;
2677*8bae5d40Schristos }
2678*8bae5d40Schristos
2679*8bae5d40Schristos bool_t
xdr_am_RENAME3args(XDR * xdrs,am_RENAME3args * objp)2680*8bae5d40Schristos xdr_am_RENAME3args(XDR *xdrs, am_RENAME3args *objp)
2681*8bae5d40Schristos {
2682*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2683*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RENAME3args:");
2684*8bae5d40Schristos
2685*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->from))
2686*8bae5d40Schristos return FALSE;
2687*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->to))
2688*8bae5d40Schristos return FALSE;
2689*8bae5d40Schristos return TRUE;
2690*8bae5d40Schristos }
2691*8bae5d40Schristos
2692*8bae5d40Schristos bool_t
xdr_am_RENAME3resok(XDR * xdrs,am_RENAME3resok * objp)2693*8bae5d40Schristos xdr_am_RENAME3resok(XDR *xdrs, am_RENAME3resok *objp)
2694*8bae5d40Schristos {
2695*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2696*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RENAME3resok:");
2697*8bae5d40Schristos
2698*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->fromdir_wcc))
2699*8bae5d40Schristos return FALSE;
2700*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->todir_wcc))
2701*8bae5d40Schristos return FALSE;
2702*8bae5d40Schristos return TRUE;
2703*8bae5d40Schristos }
2704*8bae5d40Schristos
2705*8bae5d40Schristos bool_t
xdr_am_RENAME3resfail(XDR * xdrs,am_RENAME3resfail * objp)2706*8bae5d40Schristos xdr_am_RENAME3resfail(XDR *xdrs, am_RENAME3resfail *objp)
2707*8bae5d40Schristos {
2708*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2709*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RENAME3resfail:");
2710*8bae5d40Schristos
2711*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->fromdir_wcc))
2712*8bae5d40Schristos return FALSE;
2713*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->todir_wcc))
2714*8bae5d40Schristos return FALSE;
2715*8bae5d40Schristos return TRUE;
2716*8bae5d40Schristos }
2717*8bae5d40Schristos
2718*8bae5d40Schristos bool_t
xdr_am_RENAME3res(XDR * xdrs,am_RENAME3res * objp)2719*8bae5d40Schristos xdr_am_RENAME3res(XDR *xdrs, am_RENAME3res *objp)
2720*8bae5d40Schristos {
2721*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2722*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_RENAME3res:");
2723*8bae5d40Schristos
2724*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2725*8bae5d40Schristos return FALSE;
2726*8bae5d40Schristos switch (objp->status) {
2727*8bae5d40Schristos case AM_NFS3_OK:
2728*8bae5d40Schristos if (!xdr_am_RENAME3resok(xdrs, &objp->res_u.ok))
2729*8bae5d40Schristos return FALSE;
2730*8bae5d40Schristos break;
2731*8bae5d40Schristos default:
2732*8bae5d40Schristos if (!xdr_am_RENAME3resfail(xdrs, &objp->res_u.fail))
2733*8bae5d40Schristos return FALSE;
2734*8bae5d40Schristos break;
2735*8bae5d40Schristos }
2736*8bae5d40Schristos return TRUE;
2737*8bae5d40Schristos }
2738*8bae5d40Schristos
2739*8bae5d40Schristos bool_t
xdr_am_READDIRPLUS3args(XDR * xdrs,am_READDIRPLUS3args * objp)2740*8bae5d40Schristos xdr_am_READDIRPLUS3args(XDR *xdrs, am_READDIRPLUS3args *objp)
2741*8bae5d40Schristos {
2742*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2743*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3args:");
2744*8bae5d40Schristos
2745*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->dir))
2746*8bae5d40Schristos return FALSE;
2747*8bae5d40Schristos if (!xdr_am_cookie3(xdrs, &objp->cookie))
2748*8bae5d40Schristos return FALSE;
2749*8bae5d40Schristos if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2750*8bae5d40Schristos return FALSE;
2751*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->dircount))
2752*8bae5d40Schristos return FALSE;
2753*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->maxcount))
2754*8bae5d40Schristos return FALSE;
2755*8bae5d40Schristos return TRUE;
2756*8bae5d40Schristos }
2757*8bae5d40Schristos
2758*8bae5d40Schristos bool_t
xdr_am_entryplus3(XDR * xdrs,am_entryplus3 * objp)2759*8bae5d40Schristos xdr_am_entryplus3(XDR *xdrs, am_entryplus3 *objp)
2760*8bae5d40Schristos {
2761*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2762*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_entryplus3:");
2763*8bae5d40Schristos
2764*8bae5d40Schristos if (!xdr_am_fileid3(xdrs, &objp->fileid))
2765*8bae5d40Schristos return FALSE;
2766*8bae5d40Schristos if (!xdr_am_filename3(xdrs, &objp->name))
2767*8bae5d40Schristos return FALSE;
2768*8bae5d40Schristos if (!xdr_am_cookie3(xdrs, &objp->cookie))
2769*8bae5d40Schristos return FALSE;
2770*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->name_attributes))
2771*8bae5d40Schristos return FALSE;
2772*8bae5d40Schristos if (!xdr_am_post_op_fh3(xdrs, &objp->name_handle))
2773*8bae5d40Schristos return FALSE;
2774*8bae5d40Schristos if (!xdr_pointer(xdrs, (char **)&objp->nextentry,
2775*8bae5d40Schristos sizeof(am_entryplus3), (xdrproc_t) xdr_am_entryplus3))
2776*8bae5d40Schristos return FALSE;
2777*8bae5d40Schristos return TRUE;
2778*8bae5d40Schristos }
2779*8bae5d40Schristos
2780*8bae5d40Schristos bool_t
xdr_am_dirlistplus3(XDR * xdrs,am_dirlistplus3 * objp)2781*8bae5d40Schristos xdr_am_dirlistplus3(XDR *xdrs, am_dirlistplus3 *objp)
2782*8bae5d40Schristos {
2783*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2784*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_dirlistplus3:");
2785*8bae5d40Schristos
2786*8bae5d40Schristos if (!xdr_pointer(xdrs, (char **)&objp->entries,
2787*8bae5d40Schristos sizeof(am_entryplus3), (xdrproc_t) xdr_am_entryplus3))
2788*8bae5d40Schristos return FALSE;
2789*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->eof))
2790*8bae5d40Schristos return FALSE;
2791*8bae5d40Schristos return TRUE;
2792*8bae5d40Schristos }
2793*8bae5d40Schristos
2794*8bae5d40Schristos bool_t
xdr_am_READDIRPLUS3resok(XDR * xdrs,am_READDIRPLUS3resok * objp)2795*8bae5d40Schristos xdr_am_READDIRPLUS3resok(XDR *xdrs, am_READDIRPLUS3resok *objp)
2796*8bae5d40Schristos {
2797*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2798*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3resok:");
2799*8bae5d40Schristos
2800*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2801*8bae5d40Schristos return FALSE;
2802*8bae5d40Schristos if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2803*8bae5d40Schristos return FALSE;
2804*8bae5d40Schristos if (!xdr_am_dirlistplus3(xdrs, &objp->reply))
2805*8bae5d40Schristos return FALSE;
2806*8bae5d40Schristos return TRUE;
2807*8bae5d40Schristos }
2808*8bae5d40Schristos
2809*8bae5d40Schristos bool_t
xdr_am_READDIRPLUS3resfail(XDR * xdrs,am_READDIRPLUS3resfail * objp)2810*8bae5d40Schristos xdr_am_READDIRPLUS3resfail(XDR *xdrs, am_READDIRPLUS3resfail *objp)
2811*8bae5d40Schristos {
2812*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2813*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3resfail:");
2814*8bae5d40Schristos
2815*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2816*8bae5d40Schristos return FALSE;
2817*8bae5d40Schristos return TRUE;
2818*8bae5d40Schristos }
2819*8bae5d40Schristos
2820*8bae5d40Schristos bool_t
xdr_am_READDIRPLUS3res(XDR * xdrs,am_READDIRPLUS3res * objp)2821*8bae5d40Schristos xdr_am_READDIRPLUS3res(XDR *xdrs, am_READDIRPLUS3res *objp)
2822*8bae5d40Schristos {
2823*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2824*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3res:");
2825*8bae5d40Schristos
2826*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2827*8bae5d40Schristos return FALSE;
2828*8bae5d40Schristos switch (objp->status) {
2829*8bae5d40Schristos case AM_NFS3_OK:
2830*8bae5d40Schristos if (!xdr_am_READDIRPLUS3resok(xdrs, &objp->res_u.ok))
2831*8bae5d40Schristos return FALSE;
2832*8bae5d40Schristos break;
2833*8bae5d40Schristos default:
2834*8bae5d40Schristos if (!xdr_am_READDIRPLUS3resfail(xdrs, &objp->res_u.fail))
2835*8bae5d40Schristos return FALSE;
2836*8bae5d40Schristos break;
2837*8bae5d40Schristos }
2838*8bae5d40Schristos return TRUE;
2839*8bae5d40Schristos }
2840*8bae5d40Schristos
2841*8bae5d40Schristos bool_t
xdr_am_READDIR3args(XDR * xdrs,am_READDIR3args * objp)2842*8bae5d40Schristos xdr_am_READDIR3args(XDR *xdrs, am_READDIR3args *objp)
2843*8bae5d40Schristos {
2844*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2845*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIR3args:");
2846*8bae5d40Schristos
2847*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->dir))
2848*8bae5d40Schristos return FALSE;
2849*8bae5d40Schristos if (!xdr_am_cookie3(xdrs, &objp->cookie))
2850*8bae5d40Schristos return FALSE;
2851*8bae5d40Schristos if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2852*8bae5d40Schristos return FALSE;
2853*8bae5d40Schristos if (!xdr_am_count3(xdrs, &objp->count))
2854*8bae5d40Schristos return FALSE;
2855*8bae5d40Schristos return TRUE;
2856*8bae5d40Schristos }
2857*8bae5d40Schristos
2858*8bae5d40Schristos bool_t
xdr_am_entry3(XDR * xdrs,am_entry3 * objp)2859*8bae5d40Schristos xdr_am_entry3(XDR *xdrs, am_entry3 *objp)
2860*8bae5d40Schristos {
2861*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2862*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_entry3:");
2863*8bae5d40Schristos
2864*8bae5d40Schristos if (!xdr_am_fileid3(xdrs, &objp->fileid))
2865*8bae5d40Schristos return FALSE;
2866*8bae5d40Schristos if (!xdr_am_filename3(xdrs, &objp->name))
2867*8bae5d40Schristos return FALSE;
2868*8bae5d40Schristos if (!xdr_am_cookie3(xdrs, &objp->cookie))
2869*8bae5d40Schristos return FALSE;
2870*8bae5d40Schristos if (!xdr_pointer(xdrs, (char **)&objp->nextentry,
2871*8bae5d40Schristos sizeof(am_entry3), (xdrproc_t) xdr_am_entry3))
2872*8bae5d40Schristos return FALSE;
2873*8bae5d40Schristos return TRUE;
2874*8bae5d40Schristos }
2875*8bae5d40Schristos
2876*8bae5d40Schristos bool_t
xdr_am_dirlist3(XDR * xdrs,am_dirlist3 * objp)2877*8bae5d40Schristos xdr_am_dirlist3(XDR *xdrs, am_dirlist3 *objp)
2878*8bae5d40Schristos {
2879*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2880*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_dirlist3:");
2881*8bae5d40Schristos
2882*8bae5d40Schristos if (!xdr_pointer(xdrs, (char **)&objp->entries,
2883*8bae5d40Schristos sizeof(am_entry3), (xdrproc_t) xdr_am_entry3))
2884*8bae5d40Schristos return FALSE;
2885*8bae5d40Schristos if (!xdr_bool (xdrs, &objp->eof))
2886*8bae5d40Schristos return FALSE;
2887*8bae5d40Schristos return TRUE;
2888*8bae5d40Schristos }
2889*8bae5d40Schristos
2890*8bae5d40Schristos bool_t
xdr_am_READDIR3resok(XDR * xdrs,am_READDIR3resok * objp)2891*8bae5d40Schristos xdr_am_READDIR3resok(XDR *xdrs, am_READDIR3resok *objp)
2892*8bae5d40Schristos {
2893*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2894*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIR3resok:");
2895*8bae5d40Schristos
2896*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2897*8bae5d40Schristos return FALSE;
2898*8bae5d40Schristos if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2899*8bae5d40Schristos return FALSE;
2900*8bae5d40Schristos if (!xdr_am_dirlist3(xdrs, &objp->reply))
2901*8bae5d40Schristos return FALSE;
2902*8bae5d40Schristos return TRUE;
2903*8bae5d40Schristos }
2904*8bae5d40Schristos
2905*8bae5d40Schristos bool_t
xdr_am_READDIR3resfail(XDR * xdrs,am_READDIR3resfail * objp)2906*8bae5d40Schristos xdr_am_READDIR3resfail(XDR *xdrs, am_READDIR3resfail *objp)
2907*8bae5d40Schristos {
2908*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2909*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIR3resfail:");
2910*8bae5d40Schristos
2911*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2912*8bae5d40Schristos return FALSE;
2913*8bae5d40Schristos return TRUE;
2914*8bae5d40Schristos }
2915*8bae5d40Schristos
2916*8bae5d40Schristos bool_t
xdr_am_READDIR3res(XDR * xdrs,am_READDIR3res * objp)2917*8bae5d40Schristos xdr_am_READDIR3res(XDR *xdrs, am_READDIR3res *objp)
2918*8bae5d40Schristos {
2919*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2920*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_READDIR3res:");
2921*8bae5d40Schristos
2922*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2923*8bae5d40Schristos return FALSE;
2924*8bae5d40Schristos switch (objp->status) {
2925*8bae5d40Schristos case AM_NFS3_OK:
2926*8bae5d40Schristos if (!xdr_am_READDIR3resok(xdrs, &objp->res_u.ok))
2927*8bae5d40Schristos return FALSE;
2928*8bae5d40Schristos break;
2929*8bae5d40Schristos default:
2930*8bae5d40Schristos if (!xdr_am_READDIR3resfail(xdrs, &objp->res_u.fail))
2931*8bae5d40Schristos return FALSE;
2932*8bae5d40Schristos break;
2933*8bae5d40Schristos }
2934*8bae5d40Schristos return TRUE;
2935*8bae5d40Schristos }
2936*8bae5d40Schristos
2937*8bae5d40Schristos bool_t
xdr_am_LINK3args(XDR * xdrs,am_LINK3args * objp)2938*8bae5d40Schristos xdr_am_LINK3args(XDR *xdrs, am_LINK3args *objp)
2939*8bae5d40Schristos {
2940*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2941*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_LINK3args:");
2942*8bae5d40Schristos
2943*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->file))
2944*8bae5d40Schristos return FALSE;
2945*8bae5d40Schristos if (!xdr_am_diropargs3(xdrs, &objp->link))
2946*8bae5d40Schristos return FALSE;
2947*8bae5d40Schristos return TRUE;
2948*8bae5d40Schristos }
2949*8bae5d40Schristos
2950*8bae5d40Schristos bool_t
xdr_am_LINK3resok(XDR * xdrs,am_LINK3resok * objp)2951*8bae5d40Schristos xdr_am_LINK3resok(XDR *xdrs, am_LINK3resok *objp)
2952*8bae5d40Schristos {
2953*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2954*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_LINK3resok:");
2955*8bae5d40Schristos
2956*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
2957*8bae5d40Schristos return FALSE;
2958*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->linkdir_wcc))
2959*8bae5d40Schristos return FALSE;
2960*8bae5d40Schristos return TRUE;
2961*8bae5d40Schristos }
2962*8bae5d40Schristos
2963*8bae5d40Schristos bool_t
xdr_am_LINK3resfail(XDR * xdrs,am_LINK3resfail * objp)2964*8bae5d40Schristos xdr_am_LINK3resfail(XDR *xdrs, am_LINK3resfail *objp)
2965*8bae5d40Schristos {
2966*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2967*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_LINK3resfail:");
2968*8bae5d40Schristos
2969*8bae5d40Schristos if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
2970*8bae5d40Schristos return FALSE;
2971*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->linkdir_wcc))
2972*8bae5d40Schristos return FALSE;
2973*8bae5d40Schristos return TRUE;
2974*8bae5d40Schristos }
2975*8bae5d40Schristos
2976*8bae5d40Schristos bool_t
xdr_am_LINK3res(XDR * xdrs,am_LINK3res * objp)2977*8bae5d40Schristos xdr_am_LINK3res(XDR *xdrs, am_LINK3res *objp)
2978*8bae5d40Schristos {
2979*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
2980*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_LINK3res:");
2981*8bae5d40Schristos
2982*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
2983*8bae5d40Schristos return FALSE;
2984*8bae5d40Schristos switch (objp->status) {
2985*8bae5d40Schristos case AM_NFS3_OK:
2986*8bae5d40Schristos if (!xdr_am_LINK3resok(xdrs, &objp->res_u.ok))
2987*8bae5d40Schristos return FALSE;
2988*8bae5d40Schristos break;
2989*8bae5d40Schristos default:
2990*8bae5d40Schristos if (!xdr_am_LINK3resfail(xdrs, &objp->res_u.fail))
2991*8bae5d40Schristos return FALSE;
2992*8bae5d40Schristos break;
2993*8bae5d40Schristos }
2994*8bae5d40Schristos return TRUE;
2995*8bae5d40Schristos }
2996*8bae5d40Schristos
2997*8bae5d40Schristos bool_t
xdr_am_sattrguard3(XDR * xdrs,am_sattrguard3 * objp)2998*8bae5d40Schristos xdr_am_sattrguard3(XDR *xdrs, am_sattrguard3 *objp)
2999*8bae5d40Schristos {
3000*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
3001*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_sattrguard3:");
3002*8bae5d40Schristos
3003*8bae5d40Schristos if (!xdr_bool(xdrs, &objp->check))
3004*8bae5d40Schristos return FALSE;
3005*8bae5d40Schristos switch (objp->check) {
3006*8bae5d40Schristos case TRUE:
3007*8bae5d40Schristos if (!xdr_am_nfstime3(xdrs, &objp->am_sattrguard3_u.obj_ctime))
3008*8bae5d40Schristos return FALSE;
3009*8bae5d40Schristos break;
3010*8bae5d40Schristos case FALSE:
3011*8bae5d40Schristos break;
3012*8bae5d40Schristos default:
3013*8bae5d40Schristos return FALSE;
3014*8bae5d40Schristos }
3015*8bae5d40Schristos return TRUE;
3016*8bae5d40Schristos }
3017*8bae5d40Schristos
3018*8bae5d40Schristos bool_t
xdr_am_SETATTR3args(XDR * xdrs,am_SETATTR3args * objp)3019*8bae5d40Schristos xdr_am_SETATTR3args(XDR *xdrs, am_SETATTR3args *objp)
3020*8bae5d40Schristos {
3021*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
3022*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SETATTR3args:");
3023*8bae5d40Schristos
3024*8bae5d40Schristos if (!xdr_am_nfs_fh3(xdrs, &objp->object))
3025*8bae5d40Schristos return FALSE;
3026*8bae5d40Schristos if (!xdr_am_sattr3(xdrs, &objp->new_attributes))
3027*8bae5d40Schristos return FALSE;
3028*8bae5d40Schristos if (!xdr_am_sattrguard3(xdrs, &objp->guard))
3029*8bae5d40Schristos return FALSE;
3030*8bae5d40Schristos return TRUE;
3031*8bae5d40Schristos }
3032*8bae5d40Schristos
3033*8bae5d40Schristos bool_t
xdr_am_SETATTR3resok(XDR * xdrs,am_SETATTR3resok * objp)3034*8bae5d40Schristos xdr_am_SETATTR3resok(XDR *xdrs, am_SETATTR3resok *objp)
3035*8bae5d40Schristos {
3036*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
3037*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SETATTR3resok:");
3038*8bae5d40Schristos
3039*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->obj_wcc))
3040*8bae5d40Schristos return FALSE;
3041*8bae5d40Schristos return TRUE;
3042*8bae5d40Schristos }
3043*8bae5d40Schristos
3044*8bae5d40Schristos bool_t
xdr_am_SETATTR3resfail(XDR * xdrs,am_SETATTR3resfail * objp)3045*8bae5d40Schristos xdr_am_SETATTR3resfail(XDR *xdrs, am_SETATTR3resfail *objp)
3046*8bae5d40Schristos {
3047*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
3048*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SETATTR3resfail:");
3049*8bae5d40Schristos
3050*8bae5d40Schristos if (!xdr_am_wcc_data(xdrs, &objp->obj_wcc))
3051*8bae5d40Schristos return FALSE;
3052*8bae5d40Schristos return TRUE;
3053*8bae5d40Schristos }
3054*8bae5d40Schristos
3055*8bae5d40Schristos bool_t
xdr_am_SETATTR3res(XDR * xdrs,am_SETATTR3res * objp)3056*8bae5d40Schristos xdr_am_SETATTR3res(XDR *xdrs, am_SETATTR3res *objp)
3057*8bae5d40Schristos {
3058*8bae5d40Schristos if (amuDebug(D_XDRTRACE))
3059*8bae5d40Schristos plog(XLOG_DEBUG, "xdr_am_SETATTR3res:");
3060*8bae5d40Schristos
3061*8bae5d40Schristos if (!xdr_am_nfsstat3(xdrs, &objp->status))
3062*8bae5d40Schristos return FALSE;
3063*8bae5d40Schristos switch (objp->status) {
3064*8bae5d40Schristos case AM_NFS3_OK:
3065*8bae5d40Schristos if (!xdr_am_SETATTR3resok(xdrs, &objp->res_u.ok))
3066*8bae5d40Schristos return FALSE;
3067*8bae5d40Schristos break;
3068*8bae5d40Schristos default:
3069*8bae5d40Schristos if (!xdr_am_SETATTR3resfail(xdrs, &objp->res_u.fail))
3070*8bae5d40Schristos return FALSE;
3071*8bae5d40Schristos break;
3072*8bae5d40Schristos }
3073*8bae5d40Schristos return TRUE;
3074*8bae5d40Schristos }
3075*8bae5d40Schristos #endif /* HAVE_FS_NFS3 */
3076