138494Sobrien/*
2310490Scy * Copyright (c) 1997-2014 Erez Zadok
338494Sobrien * Copyright (c) 1990 Jan-Simon Pendry
438494Sobrien * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
538494Sobrien * Copyright (c) 1990 The Regents of the University of California.
638494Sobrien * All rights reserved.
738494Sobrien *
838494Sobrien * This code is derived from software contributed to Berkeley by
938494Sobrien * Jan-Simon Pendry at Imperial College, London.
1038494Sobrien *
1138494Sobrien * Redistribution and use in source and binary forms, with or without
1238494Sobrien * modification, are permitted provided that the following conditions
1338494Sobrien * are met:
1438494Sobrien * 1. Redistributions of source code must retain the above copyright
1538494Sobrien *    notice, this list of conditions and the following disclaimer.
1638494Sobrien * 2. Redistributions in binary form must reproduce the above copyright
1738494Sobrien *    notice, this list of conditions and the following disclaimer in the
1838494Sobrien *    documentation and/or other materials provided with the distribution.
19310490Scy * 3. Neither the name of the University nor the names of its contributors
2038494Sobrien *    may be used to endorse or promote products derived from this software
2138494Sobrien *    without specific prior written permission.
2238494Sobrien *
2338494Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2438494Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2538494Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2638494Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2738494Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2838494Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2938494Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3038494Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3138494Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3238494Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3338494Sobrien * SUCH DAMAGE.
3438494Sobrien *
3538494Sobrien *
36174294Sobrien * File: am-utils/libamu/xdr_func.c
3738494Sobrien *
3838494Sobrien */
3938494Sobrien
4038494Sobrien/*
4138494Sobrien * Complete list of all possible xdr functions which may be needed.
4238494Sobrien */
4338494Sobrien#ifdef HAVE_CONFIG_H
4438494Sobrien# include <config.h>
4538494Sobrien#endif /* HAVE_CONFIG_H */
4638494Sobrien#include <am_defs.h>
4738494Sobrien#include <amu.h>
4838494Sobrien
49174294Sobrien#ifdef __RPCSVC_MOUNT_H__
50174294Sobrien# error IRIX6 should not include rpcsvc/mount.h
51174294Sobrien#endif /* __RPCSVC_MOUNT_H__ */
5282794Sobrien
5338494Sobrien/*
5438494Sobrien * MACROS:
5538494Sobrien */
56174294Sobrien#ifdef HAVE_FS_AUTOFS
57174294Sobrien# ifndef AUTOFS_MAXCOMPONENTLEN
58174294Sobrien#  define AUTOFS_MAXCOMPONENTLEN 255
59174294Sobrien# endif /* not AUTOFS_MAXCOMPONENTLEN */
60174294Sobrien# ifndef AUTOFS_MAXOPTSLEN
61174294Sobrien#  define AUTOFS_MAXOPTSLEN 255
62174294Sobrien# endif /* not AUTOFS_MAXOPTSLEN */
63174294Sobrien# ifndef AUTOFS_MAXPATHLEN
64174294Sobrien#  define AUTOFS_MAXPATHLEN 1024
65174294Sobrien# endif /* not AUTOFS_MAXPATHLEN */
66174294Sobrien#endif /* HAVE_FS_AUTOFS */
6738494Sobrien
6838494Sobrien/* forward definitions, are they needed? */
6938494Sobrienextern bool_t xdr_exportnode(XDR *xdrs, exportnode *objp);
7038494Sobrienextern bool_t xdr_groupnode(XDR *xdrs, groupnode *objp);
7138494Sobrienextern bool_t xdr_name(XDR *xdrs, name *objp);
7238494Sobrien
7338494Sobrien
7438494Sobrien#ifndef HAVE_XDR_ATTRSTAT
7538494Sobrienbool_t
7638494Sobrienxdr_attrstat(XDR *xdrs, nfsattrstat *objp)
7738494Sobrien{
78174294Sobrien  if (amuDebug(D_XDRTRACE))
7938494Sobrien    plog(XLOG_DEBUG, "xdr_attrstat:");
8038494Sobrien
8138494Sobrien  if (!xdr_nfsstat(xdrs, &objp->ns_status)) {
8238494Sobrien    return (FALSE);
8338494Sobrien  }
8438494Sobrien  switch (objp->ns_status) {
8538494Sobrien  case NFS_OK:
8638494Sobrien    if (!xdr_fattr(xdrs, &objp->ns_u.ns_attr_u)) {
8738494Sobrien      return (FALSE);
8838494Sobrien    }
8938494Sobrien    break;
9038494Sobrien  default:
9138494Sobrien    break;
9238494Sobrien  }
9338494Sobrien  return (TRUE);
9438494Sobrien}
9538494Sobrien#endif /* not HAVE_XDR_ATTRSTAT */
9638494Sobrien
9738494Sobrien
9838494Sobrien#ifndef HAVE_XDR_CREATEARGS
9938494Sobrienbool_t
10038494Sobrienxdr_createargs(XDR *xdrs, nfscreateargs *objp)
10138494Sobrien{
102174294Sobrien  if (amuDebug(D_XDRTRACE))
10338494Sobrien    plog(XLOG_DEBUG, "xdr_createargs:");
10438494Sobrien
10538494Sobrien  if (!xdr_diropargs(xdrs, &objp->ca_where)) {
10638494Sobrien    return (FALSE);
10738494Sobrien  }
10838494Sobrien  if (!xdr_sattr(xdrs, &objp->ca_attributes)) {
10938494Sobrien    return (FALSE);
11038494Sobrien  }
11138494Sobrien  return (TRUE);
11238494Sobrien}
11338494Sobrien#endif /* not HAVE_XDR_CREATEARGS */
11438494Sobrien
11538494Sobrien
11638494Sobrien#ifndef HAVE_XDR_DIRLIST
11738494Sobrienbool_t
11838494Sobrienxdr_dirlist(XDR *xdrs, nfsdirlist *objp)
11938494Sobrien{
120174294Sobrien  if (amuDebug(D_XDRTRACE))
12138494Sobrien    plog(XLOG_DEBUG, "xdr_dirlist:");
12238494Sobrien
12338494Sobrien  if (!xdr_pointer(xdrs, (char **) &objp->dl_entries, sizeof(nfsentry), (XDRPROC_T_TYPE) xdr_entry)) {
12438494Sobrien    return (FALSE);
12538494Sobrien  }
12638494Sobrien  if (!xdr_bool(xdrs, &objp->dl_eof)) {
12738494Sobrien    return (FALSE);
12838494Sobrien  }
12938494Sobrien  return (TRUE);
13038494Sobrien}
13138494Sobrien#endif /* not HAVE_XDR_DIRLIST */
13238494Sobrien
13338494Sobrien
13438494Sobrien#ifndef HAVE_XDR_DIROPARGS
13538494Sobrienbool_t
13638494Sobrienxdr_diropargs(XDR *xdrs, nfsdiropargs *objp)
13738494Sobrien{
138174294Sobrien  if (amuDebug(D_XDRTRACE))
13938494Sobrien    plog(XLOG_DEBUG, "xdr_diropargs:");
14038494Sobrien
14138494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->da_fhandle)) {
14238494Sobrien    return (FALSE);
14338494Sobrien  }
14438494Sobrien  if (!xdr_filename(xdrs, &objp->da_name)) {
14538494Sobrien    return (FALSE);
14638494Sobrien  }
14738494Sobrien  return (TRUE);
14838494Sobrien}
14938494Sobrien#endif /* not HAVE_XDR_DIROPARGS */
15038494Sobrien
15138494Sobrien
15238494Sobrien#ifndef HAVE_XDR_DIROPOKRES
15338494Sobrienbool_t
15438494Sobrienxdr_diropokres(XDR *xdrs, nfsdiropokres *objp)
15538494Sobrien{
156174294Sobrien  if (amuDebug(D_XDRTRACE))
15738494Sobrien    plog(XLOG_DEBUG, "xdr_diropokres:");
15838494Sobrien
15938494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->drok_fhandle)) {
16038494Sobrien    return (FALSE);
16138494Sobrien  }
16238494Sobrien  if (!xdr_fattr(xdrs, &objp->drok_attributes)) {
16338494Sobrien    return (FALSE);
16438494Sobrien  }
16538494Sobrien  return (TRUE);
16638494Sobrien}
16738494Sobrien#endif /* not HAVE_XDR_DIROPOKRES */
16838494Sobrien
16938494Sobrien
17038494Sobrien#ifndef HAVE_XDR_DIROPRES
17138494Sobrienbool_t
17238494Sobrienxdr_diropres(XDR *xdrs, nfsdiropres *objp)
17338494Sobrien{
174174294Sobrien  if (amuDebug(D_XDRTRACE))
17538494Sobrien    plog(XLOG_DEBUG, "xdr_diropres:");
17638494Sobrien
17738494Sobrien  if (!xdr_nfsstat(xdrs, &objp->dr_status)) {
17838494Sobrien    return (FALSE);
17938494Sobrien  }
18038494Sobrien  switch (objp->dr_status) {
18138494Sobrien  case NFS_OK:
18238494Sobrien    if (!xdr_diropokres(xdrs, &objp->dr_u.dr_drok_u)) {
18338494Sobrien      return (FALSE);
18438494Sobrien    }
18538494Sobrien    break;
18638494Sobrien  default:
18738494Sobrien    break;
18838494Sobrien  }
18938494Sobrien  return (TRUE);
19038494Sobrien}
19138494Sobrien#endif /* not HAVE_XDR_DIROPRES */
19238494Sobrien
19338494Sobrien
19438494Sobrien#ifndef HAVE_XDR_DIRPATH
19538494Sobrienbool_t
19638494Sobrienxdr_dirpath(XDR *xdrs, dirpath *objp)
19738494Sobrien{
198174294Sobrien  if (amuDebug(D_XDRTRACE))
19938494Sobrien    plog(XLOG_DEBUG, "xdr_dirpath:");
20038494Sobrien
20138494Sobrien  if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
20238494Sobrien    return (FALSE);
20338494Sobrien  }
20438494Sobrien  return (TRUE);
20538494Sobrien}
20638494Sobrien#endif /* not HAVE_XDR_DIRPATH */
20738494Sobrien
20838494Sobrien
20938494Sobrien#ifndef HAVE_XDR_ENTRY
21038494Sobrienbool_t
21138494Sobrienxdr_entry(XDR *xdrs, nfsentry *objp)
21238494Sobrien{
213174294Sobrien  if (amuDebug(D_XDRTRACE))
21438494Sobrien    plog(XLOG_DEBUG, "xdr_entry:");
21538494Sobrien
21638494Sobrien  if (!xdr_u_int(xdrs, &objp->ne_fileid)) {
21738494Sobrien    return (FALSE);
21838494Sobrien  }
21938494Sobrien  if (!xdr_filename(xdrs, &objp->ne_name)) {
22038494Sobrien    return (FALSE);
22138494Sobrien  }
22238494Sobrien  if (!xdr_nfscookie(xdrs, objp->ne_cookie)) {
22338494Sobrien    return (FALSE);
22438494Sobrien  }
22538494Sobrien  if (!xdr_pointer(xdrs, (char **) &objp->ne_nextentry, sizeof(nfsentry), (XDRPROC_T_TYPE) xdr_entry)) {
22638494Sobrien    return (FALSE);
22738494Sobrien  }
22838494Sobrien  return (TRUE);
22938494Sobrien}
23038494Sobrien#endif /* not HAVE_XDR_ENTRY */
23138494Sobrien
23238494Sobrien
23338494Sobrien#ifndef HAVE_XDR_EXPORTNODE
23438494Sobrienbool_t
23538494Sobrienxdr_exportnode(XDR *xdrs, exportnode *objp)
23638494Sobrien{
237174294Sobrien  if (amuDebug(D_XDRTRACE))
23838494Sobrien    plog(XLOG_DEBUG, "xdr_exportnode:");
23938494Sobrien
24038494Sobrien  if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
24138494Sobrien    return (FALSE);
24238494Sobrien  }
24382794Sobrien  if (!xdr_groups(xdrs, &objp->ex_groups)) {
24438494Sobrien    return (FALSE);
24538494Sobrien  }
24638494Sobrien  if (!xdr_exports(xdrs, &objp->ex_next)) {
24738494Sobrien    return (FALSE);
24838494Sobrien  }
24938494Sobrien  return (TRUE);
25038494Sobrien}
25138494Sobrien#endif /* not HAVE_XDR_EXPORTNODE */
25238494Sobrien
25338494Sobrien
25438494Sobrien#ifndef HAVE_XDR_EXPORTS
25538494Sobrienbool_t
25638494Sobrienxdr_exports(XDR *xdrs, exports *objp)
25738494Sobrien{
258174294Sobrien  if (amuDebug(D_XDRTRACE))
25938494Sobrien    plog(XLOG_DEBUG, "xdr_exports:");
26038494Sobrien
26138494Sobrien  if (!xdr_pointer(xdrs, (char **) objp, sizeof(exportnode), (XDRPROC_T_TYPE) xdr_exportnode)) {
26238494Sobrien    return (FALSE);
26338494Sobrien  }
26438494Sobrien  return (TRUE);
26538494Sobrien}
26638494Sobrien#endif /* not HAVE_XDR_EXPORTS */
26738494Sobrien
26838494Sobrien
26938494Sobrien#ifndef HAVE_XDR_FATTR
27038494Sobrienbool_t
27138494Sobrienxdr_fattr(XDR *xdrs, nfsfattr *objp)
27238494Sobrien{
273174294Sobrien  if (amuDebug(D_XDRTRACE))
27438494Sobrien    plog(XLOG_DEBUG, "xdr_fattr:");
27538494Sobrien
27638494Sobrien  if (!xdr_ftype(xdrs, &objp->na_type)) {
27738494Sobrien    return (FALSE);
27838494Sobrien  }
27938494Sobrien  if (!xdr_u_int(xdrs, &objp->na_mode)) {
28038494Sobrien    return (FALSE);
28138494Sobrien  }
28238494Sobrien  if (!xdr_u_int(xdrs, &objp->na_nlink)) {
28338494Sobrien    return (FALSE);
28438494Sobrien  }
28538494Sobrien  if (!xdr_u_int(xdrs, &objp->na_uid)) {
28638494Sobrien    return (FALSE);
28738494Sobrien  }
28838494Sobrien  if (!xdr_u_int(xdrs, &objp->na_gid)) {
28938494Sobrien    return (FALSE);
29038494Sobrien  }
29138494Sobrien  if (!xdr_u_int(xdrs, &objp->na_size)) {
29238494Sobrien    return (FALSE);
29338494Sobrien  }
29438494Sobrien  if (!xdr_u_int(xdrs, &objp->na_blocksize)) {
29538494Sobrien    return (FALSE);
29638494Sobrien  }
29738494Sobrien  if (!xdr_u_int(xdrs, &objp->na_rdev)) {
29838494Sobrien    return (FALSE);
29938494Sobrien  }
30038494Sobrien  if (!xdr_u_int(xdrs, &objp->na_blocks)) {
30138494Sobrien    return (FALSE);
30238494Sobrien  }
30338494Sobrien  if (!xdr_u_int(xdrs, &objp->na_fsid)) {
30438494Sobrien    return (FALSE);
30538494Sobrien  }
30638494Sobrien  if (!xdr_u_int(xdrs, &objp->na_fileid)) {
30738494Sobrien    return (FALSE);
30838494Sobrien  }
30938494Sobrien  if (!xdr_nfstime(xdrs, &objp->na_atime)) {
31038494Sobrien    return (FALSE);
31138494Sobrien  }
31238494Sobrien  if (!xdr_nfstime(xdrs, &objp->na_mtime)) {
31338494Sobrien    return (FALSE);
31438494Sobrien  }
31538494Sobrien  if (!xdr_nfstime(xdrs, &objp->na_ctime)) {
31638494Sobrien    return (FALSE);
31738494Sobrien  }
31838494Sobrien  return (TRUE);
31938494Sobrien}
32038494Sobrien#endif /* not HAVE_XDR_FATTR */
32138494Sobrien
32238494Sobrien
32338494Sobrien#ifndef HAVE_XDR_FHANDLE
32438494Sobrienbool_t
32538494Sobrienxdr_fhandle(XDR *xdrs, fhandle objp)
32638494Sobrien{
327174294Sobrien  if (amuDebug(D_XDRTRACE))
32838494Sobrien    plog(XLOG_DEBUG, "xdr_fhandle:");
32938494Sobrien
33038494Sobrien  if (!xdr_opaque(xdrs, objp, NFS_FHSIZE)) {
33138494Sobrien    return (FALSE);
33238494Sobrien  }
33338494Sobrien  return (TRUE);
33438494Sobrien}
33538494Sobrien#endif /* not HAVE_XDR_FHANDLE */
33638494Sobrien
33738494Sobrien
33838494Sobrien#ifndef HAVE_XDR_FHSTATUS
33938494Sobrienbool_t
34038494Sobrienxdr_fhstatus(XDR *xdrs, fhstatus *objp)
34138494Sobrien{
342174294Sobrien  if (amuDebug(D_XDRTRACE))
34338494Sobrien    plog(XLOG_DEBUG, "xdr_fhstatus:");
34438494Sobrien
34538494Sobrien  if (!xdr_u_int(xdrs, &objp->fhs_status)) {
34638494Sobrien    return (FALSE);
34738494Sobrien  }
34838494Sobrien  if (objp->fhs_status == 0 && !xdr_fhandle(xdrs, objp->fhs_fh)) {
34938494Sobrien    return (FALSE);
35038494Sobrien  }
35138494Sobrien  return (TRUE);
35238494Sobrien}
35338494Sobrien#endif /* not HAVE_XDR_FHSTATUS */
35438494Sobrien
35538494Sobrien
35638494Sobrien#ifndef HAVE_XDR_FILENAME
35738494Sobrienbool_t
35838494Sobrienxdr_filename(XDR *xdrs, filename *objp)
35938494Sobrien{
360174294Sobrien  if (amuDebug(D_XDRTRACE))
36138494Sobrien    plog(XLOG_DEBUG, "xdr_filename:");
36238494Sobrien
36338494Sobrien  if (!xdr_string(xdrs, objp, NFS_MAXNAMLEN)) {
36438494Sobrien    return (FALSE);
36538494Sobrien  }
36638494Sobrien  return (TRUE);
36738494Sobrien}
36838494Sobrien#endif /* not HAVE_XDR_FILENAME */
36938494Sobrien
37038494Sobrien
37138494Sobrien#ifndef HAVE_XDR_FTYPE
37238494Sobrienbool_t
37338494Sobrienxdr_ftype(XDR *xdrs, nfsftype *objp)
37438494Sobrien{
375174294Sobrien  enum_t local_obj = *objp;
376174294Sobrien
377174294Sobrien  if (amuDebug(D_XDRTRACE))
37838494Sobrien    plog(XLOG_DEBUG, "xdr_ftype:");
37938494Sobrien
380174294Sobrien  if (!xdr_enum(xdrs, &local_obj)) {
38138494Sobrien    return (FALSE);
38238494Sobrien  }
38338494Sobrien  return (TRUE);
38438494Sobrien}
38538494Sobrien#endif /* not HAVE_XDR_FTYPE */
38638494Sobrien
38738494Sobrien
38838494Sobrien#ifndef HAVE_XDR_GROUPNODE
38938494Sobrienbool_t
39038494Sobrienxdr_groupnode(XDR *xdrs, groupnode *objp)
39138494Sobrien{
392174294Sobrien  if (amuDebug(D_XDRTRACE))
39338494Sobrien    plog(XLOG_DEBUG, "xdr_groupnode:");
39438494Sobrien
39538494Sobrien  if (!xdr_name(xdrs, &objp->gr_name)) {
39638494Sobrien    return (FALSE);
39738494Sobrien  }
39882794Sobrien  if (!xdr_groups(xdrs, &objp->gr_next)) {
39938494Sobrien    return (FALSE);
40038494Sobrien  }
40138494Sobrien  return (TRUE);
40238494Sobrien}
40338494Sobrien#endif /* not HAVE_XDR_GROUPNODE */
40438494Sobrien
40538494Sobrien
40638494Sobrien#ifndef HAVE_XDR_GROUPS
40738494Sobrienbool_t
40882794Sobrienxdr_groups(XDR *xdrs, groups *objp)
40938494Sobrien{
410174294Sobrien  if (amuDebug(D_XDRTRACE))
41138494Sobrien    plog(XLOG_DEBUG, "xdr_groups:");
41238494Sobrien
41338494Sobrien  if (!xdr_pointer(xdrs, (char **) objp, sizeof(groupnode), (XDRPROC_T_TYPE) xdr_groupnode)) {
41438494Sobrien    return (FALSE);
41538494Sobrien  }
41638494Sobrien  return (TRUE);
41738494Sobrien}
41838494Sobrien#endif /* not HAVE_XDR_GROUPS */
41938494Sobrien
42038494Sobrien
42138494Sobrien#ifndef HAVE_XDR_LINKARGS
42238494Sobrienbool_t
42338494Sobrienxdr_linkargs(XDR *xdrs, nfslinkargs *objp)
42438494Sobrien{
425174294Sobrien  if (amuDebug(D_XDRTRACE))
42638494Sobrien    plog(XLOG_DEBUG, "xdr_linkargs:");
42738494Sobrien
42838494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->la_fhandle)) {
42938494Sobrien    return (FALSE);
43038494Sobrien  }
43138494Sobrien  if (!xdr_diropargs(xdrs, &objp->la_to)) {
43238494Sobrien    return (FALSE);
43338494Sobrien  }
43438494Sobrien  return (TRUE);
43538494Sobrien}
43638494Sobrien#endif /* not HAVE_XDR_LINKARGS */
43738494Sobrien
43838494Sobrien
43938494Sobrien#ifndef HAVE_XDR_MOUNTBODY
44038494Sobrienbool_t
44138494Sobrienxdr_mountbody(XDR *xdrs, mountbody *objp)
44238494Sobrien{
443174294Sobrien  if (amuDebug(D_XDRTRACE))
44438494Sobrien    plog(XLOG_DEBUG, "xdr_mountbody:");
44538494Sobrien
44638494Sobrien  if (!xdr_name(xdrs, &objp->ml_hostname)) {
44738494Sobrien    return (FALSE);
44838494Sobrien  }
44938494Sobrien  if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
45038494Sobrien    return (FALSE);
45138494Sobrien  }
45238494Sobrien  if (!xdr_mountlist(xdrs, &objp->ml_next)) {
45338494Sobrien    return (FALSE);
45438494Sobrien  }
45538494Sobrien  return (TRUE);
45638494Sobrien}
45738494Sobrien#endif /* not HAVE_XDR_MOUNTBODY */
45838494Sobrien
45938494Sobrien
46038494Sobrien#ifndef HAVE_XDR_MOUNTLIST
46138494Sobrienbool_t
46238494Sobrienxdr_mountlist(XDR *xdrs, mountlist *objp)
46338494Sobrien{
464174294Sobrien  if (amuDebug(D_XDRTRACE))
46538494Sobrien    plog(XLOG_DEBUG, "xdr_mountlist:");
46638494Sobrien
46738494Sobrien  if (!xdr_pointer(xdrs, (char **) objp, sizeof(mountbody), (XDRPROC_T_TYPE) xdr_mountbody)) {
46838494Sobrien    return (FALSE);
46938494Sobrien  }
47038494Sobrien  return (TRUE);
47138494Sobrien}
47238494Sobrien#endif /* not HAVE_XDR_MOUNTLIST */
47338494Sobrien
47438494Sobrien
47538494Sobrien#ifndef HAVE_XDR_NAME
47638494Sobrienbool_t
47738494Sobrienxdr_name(XDR *xdrs, name *objp)
47838494Sobrien{
479174294Sobrien  if (amuDebug(D_XDRTRACE))
48038494Sobrien    plog(XLOG_DEBUG, "xdr_name:");
48138494Sobrien
48238494Sobrien  if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
48338494Sobrien    return (FALSE);
48438494Sobrien  }
48538494Sobrien  return (TRUE);
48638494Sobrien}
48738494Sobrien#endif /* not HAVE_XDR_NAME */
48838494Sobrien
48938494Sobrien
49038494Sobrien#ifndef HAVE_XDR_NFS_FH
49138494Sobrienbool_t
49238494Sobrienxdr_nfs_fh(XDR *xdrs, am_nfs_fh *objp)
49338494Sobrien{
494174294Sobrien  if (amuDebug(D_XDRTRACE))
49538494Sobrien    plog(XLOG_DEBUG, "xdr_nfs_fh:");
49638494Sobrien
49738494Sobrien  if (!xdr_opaque(xdrs, (caddr_t) objp->fh_data, NFS_FHSIZE)) {
49838494Sobrien    return (FALSE);
49938494Sobrien  }
50038494Sobrien  return (TRUE);
50138494Sobrien}
50238494Sobrien#endif /* not HAVE_XDR_NFS_FH */
50338494Sobrien
50438494Sobrien
50538494Sobrien#ifndef HAVE_XDR_NFSCOOKIE
50638494Sobrienbool_t
50738494Sobrienxdr_nfscookie(XDR *xdrs, nfscookie objp)
50838494Sobrien{
509174294Sobrien  if (amuDebug(D_XDRTRACE))
51038494Sobrien    plog(XLOG_DEBUG, "xdr_nfscookie:");
51138494Sobrien
51238494Sobrien  if (!xdr_opaque(xdrs, objp, NFS_COOKIESIZE)) {
51338494Sobrien    return (FALSE);
51438494Sobrien  }
51538494Sobrien  return (TRUE);
51638494Sobrien}
51738494Sobrien#endif /* not HAVE_XDR_NFSCOOKIE */
51838494Sobrien
51938494Sobrien
52038494Sobrien#ifndef HAVE_XDR_NFSPATH
52138494Sobrienbool_t
52238494Sobrienxdr_nfspath(XDR *xdrs, nfspath *objp)
52338494Sobrien{
524174294Sobrien  if (amuDebug(D_XDRTRACE))
52538494Sobrien    plog(XLOG_DEBUG, "xdr_nfspath:");
52638494Sobrien
52738494Sobrien  if (!xdr_string(xdrs, objp, NFS_MAXPATHLEN)) {
52838494Sobrien    return (FALSE);
52938494Sobrien  }
53038494Sobrien  return (TRUE);
53138494Sobrien}
53238494Sobrien#endif /* not HAVE_XDR_NFSPATH */
53338494Sobrien
53438494Sobrien
53538494Sobrien#ifndef HAVE_XDR_NFSSTAT
53638494Sobrienbool_t
53738494Sobrienxdr_nfsstat(XDR *xdrs, nfsstat *objp)
53838494Sobrien{
539174294Sobrien  enum_t local_obj = *objp;
540174294Sobrien
541174294Sobrien  if (amuDebug(D_XDRTRACE))
54238494Sobrien    plog(XLOG_DEBUG, "xdr_nfsstat:");
54338494Sobrien
544174294Sobrien  if (!xdr_enum(xdrs, &local_obj)) {
54538494Sobrien    return (FALSE);
54638494Sobrien  }
54738494Sobrien  return (TRUE);
54838494Sobrien}
54938494Sobrien#endif /* not HAVE_XDR_NFSSTAT */
55038494Sobrien
55138494Sobrien
55238494Sobrien#ifndef HAVE_XDR_NFSTIME
55338494Sobrienbool_t
55438494Sobrienxdr_nfstime(XDR *xdrs, nfstime *objp)
55538494Sobrien{
556174294Sobrien  if (amuDebug(D_XDRTRACE))
55738494Sobrien    plog(XLOG_DEBUG, "xdr_nfstime:");
55838494Sobrien
55938494Sobrien  if (!xdr_u_int(xdrs, (u_int *) &objp->nt_seconds)) {
56038494Sobrien    return (FALSE);
56138494Sobrien  }
56238494Sobrien  if (!xdr_u_int(xdrs, (u_int *) &objp->nt_useconds)) {
56338494Sobrien    return (FALSE);
56438494Sobrien  }
56538494Sobrien  return (TRUE);
56638494Sobrien}
56738494Sobrien#endif /* not HAVE_XDR_NFSTIME */
56838494Sobrien
56938494Sobrien
57038494Sobrien#ifndef HAVE_XDR_POINTER
57138494Sobrienbool_t
57238494Sobrienxdr_pointer(register XDR *xdrs, char **objpp, u_int obj_size, XDRPROC_T_TYPE xdr_obj)
57338494Sobrien{
574174294Sobrien  if (amuDebug(D_XDRTRACE))
57538494Sobrien    plog(XLOG_DEBUG, "xdr_pointer:");
57638494Sobrien
57738494Sobrien  bool_t more_data;
57838494Sobrien
57938494Sobrien  more_data = (*objpp != NULL);
58038494Sobrien  if (!xdr_bool(xdrs, &more_data)) {
58138494Sobrien    return (FALSE);
58238494Sobrien  }
58338494Sobrien  if (!more_data) {
58438494Sobrien    *objpp = NULL;
58538494Sobrien    return (TRUE);
58638494Sobrien  }
58738494Sobrien
58838494Sobrien  return (xdr_reference(xdrs, objpp, obj_size, xdr_obj));
58938494Sobrien}
59038494Sobrien#endif /* not HAVE_XDR_POINTER */
59138494Sobrien
59238494Sobrien
59338494Sobrien#ifndef HAVE_XDR_READARGS
59438494Sobrienbool_t
59538494Sobrienxdr_readargs(XDR *xdrs, nfsreadargs *objp)
59638494Sobrien{
597174294Sobrien  if (amuDebug(D_XDRTRACE))
59838494Sobrien    plog(XLOG_DEBUG, "xdr_readargs:");
59938494Sobrien
60038494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->ra_fhandle)) {
60138494Sobrien    return (FALSE);
60238494Sobrien  }
60338494Sobrien  if (!xdr_u_int(xdrs, &objp->ra_offset)) {
60438494Sobrien    return (FALSE);
60538494Sobrien  }
60638494Sobrien  if (!xdr_u_int(xdrs, &objp->ra_count)) {
60738494Sobrien    return (FALSE);
60838494Sobrien  }
60938494Sobrien  if (!xdr_u_int(xdrs, &objp->ra_totalcount)) {
61038494Sobrien    return (FALSE);
61138494Sobrien  }
61238494Sobrien  return (TRUE);
61338494Sobrien}
61438494Sobrien#endif /* not HAVE_XDR_READARGS */
61538494Sobrien
61638494Sobrien
61738494Sobrien#ifndef HAVE_XDR_READDIRARGS
61838494Sobrienbool_t
61938494Sobrienxdr_readdirargs(XDR *xdrs, nfsreaddirargs *objp)
62038494Sobrien{
621174294Sobrien  if (amuDebug(D_XDRTRACE))
62238494Sobrien    plog(XLOG_DEBUG, "xdr_readdirargs:");
62338494Sobrien
62438494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->rda_fhandle)) {
62538494Sobrien    return (FALSE);
62638494Sobrien  }
62738494Sobrien  if (!xdr_nfscookie(xdrs, objp->rda_cookie)) {
62838494Sobrien    return (FALSE);
62938494Sobrien  }
63038494Sobrien  if (!xdr_u_int(xdrs, &objp->rda_count)) {
63138494Sobrien    return (FALSE);
63238494Sobrien  }
63338494Sobrien  return (TRUE);
63438494Sobrien}
63538494Sobrien#endif /* not HAVE_XDR_READDIRARGS */
63638494Sobrien
63738494Sobrien
63838494Sobrien#ifndef HAVE_XDR_READDIRRES
63938494Sobrienbool_t
64038494Sobrienxdr_readdirres(XDR *xdrs, nfsreaddirres *objp)
64138494Sobrien{
642174294Sobrien  if (amuDebug(D_XDRTRACE))
64338494Sobrien    plog(XLOG_DEBUG, "xdr_readdirres:");
64438494Sobrien
64538494Sobrien  if (!xdr_nfsstat(xdrs, &objp->rdr_status)) {
64638494Sobrien    return (FALSE);
64738494Sobrien  }
64838494Sobrien  switch (objp->rdr_status) {
64938494Sobrien  case NFS_OK:
65038494Sobrien    if (!xdr_dirlist(xdrs, &objp->rdr_u.rdr_reply_u)) {
65138494Sobrien      return (FALSE);
65238494Sobrien    }
65338494Sobrien    break;
65438494Sobrien  default:
65538494Sobrien    break;
65638494Sobrien  }
65738494Sobrien  return (TRUE);
65838494Sobrien}
65938494Sobrien#endif /* not HAVE_XDR_READDIRRES */
66038494Sobrien
66138494Sobrien
66238494Sobrien#ifndef HAVE_XDR_READLINKRES
66338494Sobrienbool_t
66438494Sobrienxdr_readlinkres(XDR *xdrs, nfsreadlinkres *objp)
66538494Sobrien{
666174294Sobrien  if (amuDebug(D_XDRTRACE))
66738494Sobrien    plog(XLOG_DEBUG, "xdr_readlinkres:");
66838494Sobrien
66938494Sobrien  if (!xdr_nfsstat(xdrs, &objp->rlr_status)) {
67038494Sobrien    return (FALSE);
67138494Sobrien  }
67238494Sobrien  switch (objp->rlr_status) {
67338494Sobrien  case NFS_OK:
67438494Sobrien    if (!xdr_nfspath(xdrs, &objp->rlr_u.rlr_data_u)) {
67538494Sobrien      return (FALSE);
67638494Sobrien    }
67738494Sobrien    break;
67838494Sobrien  default:
67938494Sobrien    break;
68038494Sobrien  }
68138494Sobrien  return (TRUE);
68238494Sobrien}
68338494Sobrien#endif /* not HAVE_XDR_READLINKRES */
68438494Sobrien
68538494Sobrien
68638494Sobrien#ifndef HAVE_XDR_READOKRES
68738494Sobrienbool_t
68838494Sobrienxdr_readokres(XDR *xdrs, nfsreadokres *objp)
68938494Sobrien{
690174294Sobrien  if (amuDebug(D_XDRTRACE))
69138494Sobrien    plog(XLOG_DEBUG, "xdr_readokres:");
69238494Sobrien
69338494Sobrien  if (!xdr_fattr(xdrs, &objp->raok_attributes)) {
69438494Sobrien    return (FALSE);
69538494Sobrien  }
69638494Sobrien  if (!xdr_bytes(xdrs,
69738494Sobrien		 (char **) & objp->raok_u.raok_val_u,
69838494Sobrien		 (u_int *) & objp->raok_u.raok_len_u,
69938494Sobrien		 NFS_MAXDATA)) {
70038494Sobrien    return (FALSE);
70138494Sobrien  }
70238494Sobrien  return (TRUE);
70338494Sobrien}
70438494Sobrien#endif /* not HAVE_XDR_READOKRES */
70538494Sobrien
70638494Sobrien
70738494Sobrien#ifndef HAVE_XDR_READRES
70838494Sobrienbool_t
70938494Sobrienxdr_readres(XDR *xdrs, nfsreadres *objp)
71038494Sobrien{
711174294Sobrien  if (amuDebug(D_XDRTRACE))
71238494Sobrien    plog(XLOG_DEBUG, "xdr_readres:");
71338494Sobrien
71438494Sobrien  if (!xdr_nfsstat(xdrs, &objp->rr_status)) {
71538494Sobrien    return (FALSE);
71638494Sobrien  }
71738494Sobrien  switch (objp->rr_status) {
71838494Sobrien  case NFS_OK:
71938494Sobrien    if (!xdr_readokres(xdrs, &objp->rr_u.rr_reply_u)) {
72038494Sobrien      return (FALSE);
72138494Sobrien    }
72238494Sobrien    break;
72338494Sobrien  default:
72438494Sobrien    break;
72538494Sobrien  }
72638494Sobrien  return (TRUE);
72738494Sobrien}
72838494Sobrien#endif /* not HAVE_XDR_READRES */
72938494Sobrien
73038494Sobrien
73138494Sobrien#ifndef HAVE_XDR_RENAMEARGS
73238494Sobrienbool_t
73338494Sobrienxdr_renameargs(XDR *xdrs, nfsrenameargs *objp)
73438494Sobrien{
735174294Sobrien  if (amuDebug(D_XDRTRACE))
73638494Sobrien    plog(XLOG_DEBUG, "xdr_renameargs:");
73738494Sobrien
73838494Sobrien  if (!xdr_diropargs(xdrs, &objp->rna_from)) {
73938494Sobrien    return (FALSE);
74038494Sobrien  }
74138494Sobrien  if (!xdr_diropargs(xdrs, &objp->rna_to)) {
74238494Sobrien    return (FALSE);
74338494Sobrien  }
74438494Sobrien  return (TRUE);
74538494Sobrien}
74638494Sobrien#endif /* not HAVE_XDR_RENAMEARGS */
74738494Sobrien
74838494Sobrien
74938494Sobrien#ifndef HAVE_XDR_SATTR
75038494Sobrienbool_t
75138494Sobrienxdr_sattr(XDR *xdrs, nfssattr *objp)
75238494Sobrien{
753174294Sobrien  if (amuDebug(D_XDRTRACE))
75438494Sobrien    plog(XLOG_DEBUG, "xdr_sattr:");
75538494Sobrien
75638494Sobrien  if (!xdr_u_int(xdrs, &objp->sa_mode)) {
75738494Sobrien    return (FALSE);
75838494Sobrien  }
75938494Sobrien  if (!xdr_u_int(xdrs, &objp->sa_uid)) {
76038494Sobrien    return (FALSE);
76138494Sobrien  }
76238494Sobrien  if (!xdr_u_int(xdrs, &objp->sa_gid)) {
76338494Sobrien    return (FALSE);
76438494Sobrien  }
76538494Sobrien  if (!xdr_u_int(xdrs, &objp->sa_size)) {
76638494Sobrien    return (FALSE);
76738494Sobrien  }
76838494Sobrien  if (!xdr_nfstime(xdrs, &objp->sa_atime)) {
76938494Sobrien    return (FALSE);
77038494Sobrien  }
77138494Sobrien  if (!xdr_nfstime(xdrs, &objp->sa_mtime)) {
77238494Sobrien    return (FALSE);
77338494Sobrien  }
77438494Sobrien  return (TRUE);
77538494Sobrien}
77638494Sobrien#endif /* not HAVE_XDR_SATTR */
77738494Sobrien
77838494Sobrien
77938494Sobrien#ifndef HAVE_XDR_SATTRARGS
78038494Sobrienbool_t
78138494Sobrienxdr_sattrargs(XDR *xdrs, nfssattrargs *objp)
78238494Sobrien{
783174294Sobrien  if (amuDebug(D_XDRTRACE))
78438494Sobrien    plog(XLOG_DEBUG, "xdr_sattrargs:");
78538494Sobrien
78638494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->sag_fhandle)) {
78738494Sobrien    return (FALSE);
78838494Sobrien  }
78938494Sobrien  if (!xdr_sattr(xdrs, &objp->sag_attributes)) {
79038494Sobrien    return (FALSE);
79138494Sobrien  }
79238494Sobrien  return (TRUE);
79338494Sobrien}
79438494Sobrien#endif /* not HAVE_XDR_SATTRARGS */
79538494Sobrien
79638494Sobrien
79738494Sobrien#ifndef HAVE_XDR_STATFSOKRES
79838494Sobrienbool_t
79938494Sobrienxdr_statfsokres(XDR *xdrs, nfsstatfsokres *objp)
80038494Sobrien{
801174294Sobrien  if (amuDebug(D_XDRTRACE))
80238494Sobrien    plog(XLOG_DEBUG, "xdr_statfsokres:");
80338494Sobrien
80438494Sobrien  if (!xdr_u_int(xdrs, &objp->sfrok_tsize)) {
80538494Sobrien    return (FALSE);
80638494Sobrien  }
80738494Sobrien  if (!xdr_u_int(xdrs, &objp->sfrok_bsize)) {
80838494Sobrien    return (FALSE);
80938494Sobrien  }
81038494Sobrien  if (!xdr_u_int(xdrs, &objp->sfrok_blocks)) {
81138494Sobrien    return (FALSE);
81238494Sobrien  }
81338494Sobrien  if (!xdr_u_int(xdrs, &objp->sfrok_bfree)) {
81438494Sobrien    return (FALSE);
81538494Sobrien  }
81638494Sobrien  if (!xdr_u_int(xdrs, &objp->sfrok_bavail)) {
81738494Sobrien    return (FALSE);
81838494Sobrien  }
81938494Sobrien  return (TRUE);
82038494Sobrien}
82138494Sobrien#endif /* not HAVE_XDR_STATFSOKRES */
82238494Sobrien
82338494Sobrien
82438494Sobrien#ifndef HAVE_XDR_STATFSRES
82538494Sobrienbool_t
82638494Sobrienxdr_statfsres(XDR *xdrs, nfsstatfsres *objp)
82738494Sobrien{
828174294Sobrien  if (amuDebug(D_XDRTRACE))
82938494Sobrien    plog(XLOG_DEBUG, "xdr_statfsres:");
83038494Sobrien
83138494Sobrien  if (!xdr_nfsstat(xdrs, &objp->sfr_status)) {
83238494Sobrien    return (FALSE);
83338494Sobrien  }
83438494Sobrien  switch (objp->sfr_status) {
83538494Sobrien  case NFS_OK:
83638494Sobrien    if (!xdr_statfsokres(xdrs, &objp->sfr_u.sfr_reply_u)) {
83738494Sobrien      return (FALSE);
83838494Sobrien    }
83938494Sobrien    break;
84038494Sobrien  default:
84138494Sobrien    break;
84238494Sobrien  }
84338494Sobrien  return (TRUE);
84438494Sobrien}
84538494Sobrien#endif /* not HAVE_XDR_STATFSRES */
84638494Sobrien
84738494Sobrien
84838494Sobrien#ifndef HAVE_XDR_SYMLINKARGS
84938494Sobrienbool_t
85038494Sobrienxdr_symlinkargs(XDR *xdrs, nfssymlinkargs *objp)
85138494Sobrien{
852174294Sobrien  if (amuDebug(D_XDRTRACE))
85338494Sobrien    plog(XLOG_DEBUG, "xdr_symlinkargs:");
85438494Sobrien
85538494Sobrien  if (!xdr_diropargs(xdrs, &objp->sla_from)) {
85638494Sobrien    return (FALSE);
85738494Sobrien  }
85838494Sobrien  if (!xdr_nfspath(xdrs, &objp->sla_to)) {
85938494Sobrien    return (FALSE);
86038494Sobrien  }
86138494Sobrien  if (!xdr_sattr(xdrs, &objp->sla_attributes)) {
86238494Sobrien    return (FALSE);
86338494Sobrien  }
86438494Sobrien  return (TRUE);
86538494Sobrien}
86638494Sobrien#endif /* not HAVE_XDR_SYMLINKARGS */
86738494Sobrien
86838494Sobrien
86938494Sobrien#ifndef HAVE_XDR_WRITEARGS
87038494Sobrienbool_t
87138494Sobrienxdr_writeargs(XDR *xdrs, nfswriteargs *objp)
87238494Sobrien{
873174294Sobrien  if (amuDebug(D_XDRTRACE))
87438494Sobrien    plog(XLOG_DEBUG, "xdr_writeargs:");
87538494Sobrien
87638494Sobrien  if (!xdr_nfs_fh(xdrs, &objp->wra_fhandle)) {
87738494Sobrien    return (FALSE);
87838494Sobrien  }
87938494Sobrien  if (!xdr_u_int(xdrs, &objp->wra_beginoffset)) {
88038494Sobrien    return (FALSE);
88138494Sobrien  }
88238494Sobrien  if (!xdr_u_int(xdrs, &objp->wra_offset)) {
88338494Sobrien    return (FALSE);
88438494Sobrien  }
88538494Sobrien  if (!xdr_u_int(xdrs, &objp->wra_totalcount)) {
88638494Sobrien    return (FALSE);
88738494Sobrien  }
88838494Sobrien  if (!xdr_bytes(xdrs,
88938494Sobrien		 (char **) & objp->wra_u.wra_val_u,
89038494Sobrien		 (u_int *) & objp->wra_u.wra_len_u,
89138494Sobrien		 NFS_MAXDATA)) {
89238494Sobrien    return (FALSE);
89338494Sobrien  }
89438494Sobrien  return (TRUE);
89538494Sobrien}
89638494Sobrien#endif /* not HAVE_XDR_WRITEARGS */
897174294Sobrien
898174294Sobrien
899174294Sobrien/*
900174294Sobrien * NFS V3 XDR FUNCTIONS:
901174294Sobrien */
902174294Sobrien#ifdef HAVE_FS_NFS3
903174294Sobrienbool_t
904174294Sobrienxdr_am_fhandle3(XDR *xdrs, am_fhandle3 *objp)
905174294Sobrien{
906174294Sobrien  if (amuDebug(D_XDRTRACE))
907174294Sobrien    plog(XLOG_DEBUG, "xdr_am_fhandle3:");
908174294Sobrien
909174294Sobrien  if (!xdr_bytes(xdrs,
910174294Sobrien		 (char **) &objp->fhandle3_val,
911174294Sobrien		 (u_int *) &objp->fhandle3_len,
912174294Sobrien		 AM_FHSIZE3))
913174294Sobrien    return (FALSE);
914174294Sobrien  return (TRUE);
915174294Sobrien}
916174294Sobrien
917174294Sobrien
918174294Sobrienbool_t
919174294Sobrienxdr_am_mountstat3(XDR *xdrs, am_mountstat3 *objp)
920174294Sobrien{
921174294Sobrien  enum_t local_obj = *objp;
922174294Sobrien
923174294Sobrien  if (amuDebug(D_XDRTRACE))
924174294Sobrien    plog(XLOG_DEBUG, "xdr_am_mountstat3:");
925174294Sobrien
926174294Sobrien  if (!xdr_enum(xdrs, &local_obj))
927174294Sobrien    return (FALSE);
928174294Sobrien  return (TRUE);
929174294Sobrien}
930174294Sobrien
931174294Sobrien
932174294Sobrienbool_t
933174294Sobrienxdr_am_mountres3_ok(XDR *xdrs, am_mountres3_ok *objp)
934174294Sobrien{
935174294Sobrien  if (amuDebug(D_XDRTRACE))
936174294Sobrien    plog(XLOG_DEBUG, "xdr_am_mountres3_ok:");
937174294Sobrien
938174294Sobrien  if (!xdr_am_fhandle3(xdrs, &objp->fhandle))
939174294Sobrien    return (FALSE);
940174294Sobrien  if (!xdr_array(xdrs,
941174294Sobrien		 (char **) ((voidp) &objp->auth_flavors.auth_flavors_val),
942174294Sobrien		 (u_int *) &objp->auth_flavors.auth_flavors_len,
943174294Sobrien		 ~0,
944174294Sobrien		 sizeof(int),
945174294Sobrien		 (XDRPROC_T_TYPE) xdr_int))
946174294Sobrien    return (FALSE);
947174294Sobrien  return (TRUE);
948174294Sobrien}
949174294Sobrien
950174294Sobrienbool_t
951174294Sobrienxdr_am_mountres3(XDR *xdrs, am_mountres3 *objp)
952174294Sobrien{
953174294Sobrien  if (amuDebug(D_XDRTRACE))
954174294Sobrien    plog(XLOG_DEBUG, "xdr_am_mountres3:");
955174294Sobrien
956174294Sobrien  if (!xdr_am_mountstat3(xdrs, &objp->fhs_status))
957174294Sobrien    return (FALSE);
958174294Sobrien
959174294Sobrien  if (objp->fhs_status == AM_MNT3_OK) {
960174294Sobrien    if (!xdr_am_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
961174294Sobrien      return (FALSE);
962174294Sobrien  }
963174294Sobrien  return (TRUE);
964174294Sobrien}
965174294Sobrien
966310490Scybool_t
967310490Scyxdr_am_cookieverf3(XDR *xdrs, am_cookieverf3 objp)
968310490Scy{
969310490Scy  if (amuDebug(D_XDRTRACE))
970310490Scy    plog(XLOG_DEBUG, "xdr_am_cookieverf3:");
971174294Sobrien
972310490Scy  if (!xdr_opaque(xdrs, objp, AM_NFS3_COOKIEVERFSIZE))
973310490Scy    return FALSE;
974310490Scy  return TRUE;
975310490Scy}
976310490Scy
977310490Scy#if 0
978310490Scy/* In FreeBSD xdr_uint64() is defined in ../../../include/rpcsvc/nfs_prot.x */
979310490Scy/*
980310490Scy * Not ideal, xdr_u_int64_t() is not defined in Linux glibc RPC
981310490Scy * but xdr_u_quad_t() is. But in libtirpc xdr_u_quad_t() is not
982310490Scy * defined and xdr_u_int64_t() is. So xdr_u_int64_t() is probably
983310490Scy * an expected standard xdr function so, if it isn't defined use
984310490Scy * an internal xdr_u_int64_t() that uses xdr_u_quad_t().
985310490Scy */
986310490Scy#ifndef HAVE_XDR_U_INT64_T
987310490Scy#define xdr_u_int64_t(xdrs, objp) xdr_u_quad_t(xdrs, objp)
988310490Scy#endif /* HAVE_XDR_U_INT64_T */
989310490Scy
990174294Sobrienbool_t
991310490Scyxdr_uint64(XDR *xdrs, uint64 *objp)
992310490Scy{
993310490Scy  if (amuDebug(D_XDRTRACE))
994310490Scy    plog(XLOG_DEBUG, "xdr_uint64:");
995310490Scy
996310490Scy  if (!xdr_u_int64_t(xdrs, objp))
997310490Scy    return FALSE;
998310490Scy  return TRUE;
999310490Scy}
1000310490Scy#endif
1001310490Scy
1002310490Scybool_t
1003310490Scyxdr_am_cookie3(XDR *xdrs, am_cookie3 *objp)
1004310490Scy{
1005310490Scy  if (amuDebug(D_XDRTRACE))
1006310490Scy    plog(XLOG_DEBUG, "xdr_am_cookie3:");
1007310490Scy
1008310490Scy  if (!xdr_uint64(xdrs, objp))
1009310490Scy    return FALSE;
1010310490Scy  return TRUE;
1011310490Scy}
1012310490Scy
1013310490Scybool_t
1014310490Scyxdr_am_nfs_fh3(XDR *xdrs, am_nfs_fh3 *objp)
1015310490Scy{
1016310490Scy  if (amuDebug(D_XDRTRACE))
1017310490Scy    plog(XLOG_DEBUG, "xdr_am_nfs_fh3:");
1018310490Scy
1019310490Scy  if (!xdr_u_int(xdrs, &objp->am_fh3_length))
1020310490Scy    return (FALSE);
1021310490Scy  if (objp->am_fh3_length > AM_FHSIZE3)
1022310490Scy    return (FALSE);
1023310490Scy  if (!xdr_opaque(xdrs, objp->am_fh3_data, objp->am_fh3_length))
1024310490Scy    return (FALSE);
1025310490Scy  return (TRUE);
1026310490Scy}
1027310490Scy
1028310490Scybool_t
1029310490Scyxdr_am_nfsstat3(XDR *xdrs, am_nfsstat3 *objp)
1030310490Scy{
1031310490Scy  if (amuDebug(D_XDRTRACE))
1032310490Scy    plog(XLOG_DEBUG, "xdr_am_nfsstat3:");
1033310490Scy
1034310490Scy  if (!xdr_enum(xdrs, (enum_t *)objp))
1035310490Scy    return (FALSE);
1036310490Scy  return (TRUE);
1037310490Scy}
1038310490Scy
1039310490Scybool_t
1040174294Sobrienxdr_am_diropargs3(XDR *xdrs, am_diropargs3 *objp)
1041174294Sobrien{
1042174294Sobrien  if (amuDebug(D_XDRTRACE))
1043174294Sobrien    plog(XLOG_DEBUG, "xdr_am_diropargs3:");
1044174294Sobrien
1045174294Sobrien  if (!xdr_am_nfs_fh3(xdrs, &objp->dir))
1046174294Sobrien    return (FALSE);
1047174294Sobrien  if (!xdr_am_filename3(xdrs, &objp->name))
1048174294Sobrien    return (FALSE);
1049174294Sobrien  return (TRUE);
1050174294Sobrien}
1051174294Sobrien
1052174294Sobrienbool_t
1053174294Sobrienxdr_am_filename3(XDR *xdrs, am_filename3 *objp)
1054174294Sobrien{
1055174294Sobrien  if (amuDebug(D_XDRTRACE))
1056174294Sobrien    plog(XLOG_DEBUG, "xdr_am_filename3:");
1057174294Sobrien
1058174294Sobrien  if (!xdr_string(xdrs, objp, ~0))
1059174294Sobrien    return (FALSE);
1060174294Sobrien  return (TRUE);
1061174294Sobrien}
1062174294Sobrien
1063310490Scybool_t
1064310490Scyxdr_am_ftype3(XDR *xdrs, am_ftype3 *objp)
1065310490Scy{
1066310490Scy  if (amuDebug(D_XDRTRACE))
1067310490Scy    plog(XLOG_DEBUG, "xdr_am_ftype3:");
1068174294Sobrien
1069310490Scy  if (!xdr_enum(xdrs, (enum_t *) objp))
1070310490Scy    return FALSE;
1071310490Scy  return TRUE;
1072310490Scy}
1073310490Scy
1074174294Sobrienbool_t
1075310490Scyxdr_am_mode3(XDR *xdrs, am_mode3 *objp)
1076310490Scy{
1077310490Scy  if (amuDebug(D_XDRTRACE))
1078310490Scy    plog(XLOG_DEBUG, "xdr_am_mode3:");
1079310490Scy
1080310490Scy  if (!xdr_u_int(xdrs, objp))
1081310490Scy    return FALSE;
1082310490Scy  return TRUE;
1083310490Scy}
1084310490Scy
1085310490Scybool_t
1086310490Scyxdr_am_uid3(XDR *xdrs, am_uid3 *objp)
1087310490Scy{
1088310490Scy  if (amuDebug(D_XDRTRACE))
1089310490Scy    plog(XLOG_DEBUG, "xdr_am_uid3:");
1090310490Scy
1091310490Scy  if (!xdr_u_int(xdrs, objp))
1092310490Scy    return FALSE;
1093310490Scy  return TRUE;
1094310490Scy}
1095310490Scy
1096310490Scybool_t
1097310490Scyxdr_am_gid3(XDR *xdrs, am_gid3 *objp)
1098310490Scy{
1099310490Scy  if (amuDebug(D_XDRTRACE))
1100310490Scy    plog(XLOG_DEBUG, "xdr_am_gid3:");
1101310490Scy
1102310490Scy  if (!xdr_u_int(xdrs, objp))
1103310490Scy    return FALSE;
1104310490Scy  return TRUE;
1105310490Scy}
1106310490Scy
1107310490Scybool_t
1108310490Scyxdr_am_size3(XDR *xdrs, am_size3 *objp)
1109310490Scy{
1110310490Scy  if (amuDebug(D_XDRTRACE))
1111310490Scy    plog(XLOG_DEBUG, "xdr_am_size3:");
1112310490Scy
1113310490Scy  if (!xdr_uint64(xdrs, objp))
1114310490Scy    return FALSE;
1115310490Scy  return TRUE;
1116310490Scy}
1117310490Scy
1118310490Scybool_t
1119310490Scyxdr_am_fileid3(XDR *xdrs, am_fileid3 *objp)
1120310490Scy{
1121310490Scy  if (amuDebug(D_XDRTRACE))
1122310490Scy    plog(XLOG_DEBUG, "xdr_am_fileid3:");
1123310490Scy
1124310490Scy  if (!xdr_uint64(xdrs, objp))
1125310490Scy    return FALSE;
1126310490Scy  return TRUE;
1127310490Scy}
1128310490Scy
1129310490Scybool_t
1130310490Scyxdr_am_specdata3(XDR *xdrs, am_specdata3 *objp)
1131310490Scy{
1132310490Scy  if (amuDebug(D_XDRTRACE))
1133310490Scy    plog(XLOG_DEBUG, "xdr_am_specdata3:");
1134310490Scy
1135310490Scy  if (!xdr_u_int(xdrs, &objp->specdata1))
1136310490Scy    return FALSE;
1137310490Scy  if (!xdr_u_int(xdrs, &objp->specdata2))
1138310490Scy    return FALSE;
1139310490Scy  return TRUE;
1140310490Scy}
1141310490Scy
1142310490Scybool_t
1143310490Scyxdr_am_nfstime3(XDR *xdrs, am_nfstime3 *objp)
1144310490Scy{
1145310490Scy  if (amuDebug(D_XDRTRACE))
1146310490Scy    plog(XLOG_DEBUG, "xdr_am_nfstime3:");
1147310490Scy
1148310490Scy  if (!xdr_u_int(xdrs, &objp->seconds))
1149310490Scy    return FALSE;
1150310490Scy  if (!xdr_u_int(xdrs, &objp->nseconds))
1151310490Scy    return FALSE;
1152310490Scy  return TRUE;
1153310490Scy}
1154310490Scy
1155310490Scybool_t
1156310490Scyxdr_am_fattr3(XDR *xdrs, am_fattr3 *objp)
1157310490Scy{
1158310490Scy  if (amuDebug(D_XDRTRACE))
1159310490Scy    plog(XLOG_DEBUG, "xdr_am_fattr3:");
1160310490Scy
1161310490Scy  if (!xdr_am_ftype3(xdrs, &objp->type))
1162310490Scy    return FALSE;
1163310490Scy  if (!xdr_am_mode3(xdrs, &objp->mode))
1164310490Scy    return FALSE;
1165310490Scy  if (!xdr_u_int(xdrs, &objp->nlink))
1166310490Scy    return FALSE;
1167310490Scy  if (!xdr_am_uid3(xdrs, &objp->uid))
1168310490Scy    return FALSE;
1169310490Scy  if (!xdr_am_gid3(xdrs, &objp->gid))
1170310490Scy    return FALSE;
1171310490Scy  if (!xdr_am_size3(xdrs, &objp->size))
1172310490Scy    return FALSE;
1173310490Scy  if (!xdr_am_size3(xdrs, &objp->used))
1174310490Scy    return FALSE;
1175310490Scy  if (!xdr_am_specdata3(xdrs, &objp->rdev))
1176310490Scy    return FALSE;
1177310490Scy  if (!xdr_uint64(xdrs, &objp->fsid))
1178310490Scy    return FALSE;
1179310490Scy  if (!xdr_am_fileid3(xdrs, &objp->fileid))
1180310490Scy    return FALSE;
1181310490Scy  if (!xdr_am_nfstime3(xdrs, &objp->atime))
1182310490Scy    return FALSE;
1183310490Scy  if (!xdr_am_nfstime3(xdrs, &objp->mtime))
1184310490Scy    return FALSE;
1185310490Scy  if (!xdr_am_nfstime3(xdrs, &objp->ctime))
1186310490Scy    return FALSE;
1187310490Scy  return TRUE;
1188310490Scy}
1189310490Scy
1190310490Scybool_t
1191310490Scyxdr_am_post_op_attr(XDR *xdrs, am_post_op_attr *objp)
1192310490Scy{
1193310490Scy  if (amuDebug(D_XDRTRACE))
1194310490Scy    plog(XLOG_DEBUG, "xdr_am_post_op_attr:");
1195310490Scy
1196310490Scy  if (!xdr_bool(xdrs, &objp->attributes_follow))
1197310490Scy    return FALSE;
1198310490Scy  switch (objp->attributes_follow) {
1199310490Scy  case TRUE:
1200310490Scy    if (!xdr_am_fattr3(xdrs, &objp->am_post_op_attr_u.attributes))
1201310490Scy      return FALSE;
1202310490Scy    break;
1203310490Scy  case FALSE:
1204310490Scy    break;
1205310490Scy  default:
1206310490Scy    return FALSE;
1207310490Scy  }
1208310490Scy  return TRUE;
1209310490Scy}
1210310490Scy
1211310490Scybool_t
1212310490Scyxdr_am_stable_how(XDR *xdrs, am_stable_how *objp)
1213310490Scy{
1214310490Scy  if (amuDebug(D_XDRTRACE))
1215310490Scy    plog(XLOG_DEBUG, "xdr_am_stable_how:");
1216310490Scy
1217310490Scy  if (!xdr_enum(xdrs, (enum_t *) objp))
1218310490Scy    return FALSE;
1219310490Scy  return TRUE;
1220310490Scy}
1221310490Scy
1222310490Scybool_t
1223310490Scyxdr_am_offset3(XDR *xdrs, am_offset3 *objp)
1224310490Scy{
1225310490Scy  if (amuDebug(D_XDRTRACE))
1226310490Scy    plog(XLOG_DEBUG, "xdr_am_offset3:");
1227310490Scy
1228310490Scy  if (!xdr_uint64(xdrs, objp))
1229310490Scy    return FALSE;
1230310490Scy  return TRUE;
1231310490Scy}
1232310490Scy
1233310490Scybool_t
1234310490Scyxdr_am_count3(XDR *xdrs, am_count3 *objp)
1235310490Scy{
1236310490Scy  if (amuDebug(D_XDRTRACE))
1237310490Scy    plog(XLOG_DEBUG, "xdr_am_count3:");
1238310490Scy
1239310490Scy  if (!xdr_u_int(xdrs, objp))
1240310490Scy    return FALSE;
1241310490Scy  return TRUE;
1242310490Scy}
1243310490Scy
1244310490Scybool_t
1245310490Scyxdr_am_wcc_attr(XDR *xdrs, am_wcc_attr *objp)
1246310490Scy{
1247310490Scy  if (amuDebug(D_XDRTRACE))
1248310490Scy    plog(XLOG_DEBUG, "xdr_am_wcc_attr:");
1249310490Scy
1250310490Scy  if (!xdr_am_size3(xdrs, &objp->size))
1251310490Scy    return FALSE;
1252310490Scy  if (!xdr_am_nfstime3(xdrs, &objp->mtime))
1253310490Scy    return FALSE;
1254310490Scy  if (!xdr_am_nfstime3(xdrs, &objp->ctime))
1255310490Scy    return FALSE;
1256310490Scy  return TRUE;
1257310490Scy}
1258310490Scy
1259310490Scybool_t
1260310490Scyxdr_am_pre_op_attr(XDR *xdrs, am_pre_op_attr *objp)
1261310490Scy{
1262310490Scy  if (amuDebug(D_XDRTRACE))
1263310490Scy    plog(XLOG_DEBUG, ":xdr_am_pre_op_attr");
1264310490Scy
1265310490Scy  if (!xdr_bool(xdrs, &objp->attributes_follow))
1266310490Scy    return FALSE;
1267310490Scy  switch (objp->attributes_follow) {
1268310490Scy  case TRUE:
1269310490Scy    if (!xdr_am_wcc_attr(xdrs, &objp->am_pre_op_attr_u.attributes))
1270310490Scy      return FALSE;
1271310490Scy    break;
1272310490Scy  case FALSE:
1273310490Scy    break;
1274310490Scy  default:
1275310490Scy    return FALSE;
1276310490Scy  }
1277310490Scy  return TRUE;
1278310490Scy}
1279310490Scy
1280310490Scybool_t
1281310490Scyxdr_am_wcc_data(XDR *xdrs, am_wcc_data *objp)
1282310490Scy{
1283310490Scy  if (amuDebug(D_XDRTRACE))
1284310490Scy    plog(XLOG_DEBUG, "xdr_am_wcc_data:");
1285310490Scy
1286310490Scy  if (!xdr_am_pre_op_attr(xdrs, &objp->before))
1287310490Scy    return FALSE;
1288310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->after))
1289310490Scy    return FALSE;
1290310490Scy  return TRUE;
1291310490Scy}
1292310490Scy
1293310490Scybool_t
1294310490Scyxdr_am_WRITE3args(XDR *xdrs, am_WRITE3args *objp)
1295310490Scy{
1296310490Scy  if (amuDebug(D_XDRTRACE))
1297310490Scy    plog(XLOG_DEBUG, "xdr_am_WRITE3args:");
1298310490Scy
1299310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->file))
1300310490Scy    return FALSE;
1301310490Scy  if (!xdr_am_offset3(xdrs, &objp->offset))
1302310490Scy    return FALSE;
1303310490Scy  if (!xdr_am_count3(xdrs, &objp->count))
1304310490Scy    return FALSE;
1305310490Scy  if (!xdr_am_stable_how(xdrs, &objp->stable))
1306310490Scy    return FALSE;
1307310490Scy  if (!xdr_bytes(xdrs, (char **)&objp->data.data_val,
1308310490Scy                (u_int *) &objp->data.data_len, ~0))
1309310490Scy    return FALSE;
1310310490Scy  return TRUE;
1311310490Scy}
1312310490Scy
1313310490Scybool_t
1314310490Scyxdr_am_writeverf3(XDR *xdrs, am_writeverf3 objp)
1315310490Scy{
1316310490Scy  if (amuDebug(D_XDRTRACE))
1317310490Scy    plog(XLOG_DEBUG, "xdr_am_writeverf3:");
1318310490Scy
1319310490Scy  if (!xdr_opaque(xdrs, objp, AM_NFS3_WRITEVERFSIZE))
1320310490Scy    return FALSE;
1321310490Scy  return TRUE;
1322310490Scy}
1323310490Scy
1324310490Scybool_t
1325310490Scyxdr_am_WRITE3resok(XDR *xdrs, am_WRITE3resok *objp)
1326310490Scy{
1327310490Scy  if (amuDebug(D_XDRTRACE))
1328310490Scy    plog(XLOG_DEBUG, "xdr_am_WRITE3resok:");
1329310490Scy
1330310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1331310490Scy    return FALSE;
1332310490Scy  if (!xdr_am_count3(xdrs, &objp->count))
1333310490Scy    return FALSE;
1334310490Scy  if (!xdr_am_stable_how(xdrs, &objp->committed))
1335310490Scy    return FALSE;
1336310490Scy  if (!xdr_am_writeverf3(xdrs, objp->verf))
1337310490Scy    return FALSE;
1338310490Scy  return TRUE;
1339310490Scy}
1340310490Scy
1341310490Scybool_t
1342310490Scyxdr_am_WRITE3resfail(XDR *xdrs, am_WRITE3resfail *objp)
1343310490Scy{
1344310490Scy  if (amuDebug(D_XDRTRACE))
1345310490Scy    plog(XLOG_DEBUG, "xdr_am_WRITE3resfail:");
1346310490Scy
1347310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1348310490Scy    return FALSE;
1349310490Scy  return TRUE;
1350310490Scy}
1351310490Scy
1352310490Scybool_t
1353310490Scyxdr_am_WRITE3res(XDR *xdrs, am_WRITE3res *objp)
1354310490Scy{
1355310490Scy  if (amuDebug(D_XDRTRACE))
1356310490Scy    plog(XLOG_DEBUG, "xdr_am_WRITE3res:");
1357310490Scy
1358310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1359310490Scy    return FALSE;
1360310490Scy  switch (objp->status) {
1361310490Scy  case AM_NFS3_OK:
1362310490Scy    if (!xdr_am_WRITE3resok(xdrs, &objp->res_u.ok))
1363310490Scy      return FALSE;
1364310490Scy    break;
1365310490Scy  default:
1366310490Scy    if (!xdr_am_WRITE3resfail(xdrs, &objp->res_u.fail))
1367310490Scy      return FALSE;
1368310490Scy    break;
1369310490Scy  }
1370310490Scy  return TRUE;
1371310490Scy}
1372310490Scy
1373310490Scybool_t
1374174294Sobrienxdr_am_LOOKUP3args(XDR *xdrs, am_LOOKUP3args *objp)
1375174294Sobrien{
1376174294Sobrien  if (amuDebug(D_XDRTRACE))
1377174294Sobrien    plog(XLOG_DEBUG, "xdr_am_LOOKUP3args:");
1378174294Sobrien
1379174294Sobrien  if (!xdr_am_diropargs3(xdrs, &objp->what))
1380174294Sobrien    return (FALSE);
1381174294Sobrien  return (TRUE);
1382174294Sobrien}
1383174294Sobrien
1384174294Sobrienbool_t
1385174294Sobrienxdr_am_LOOKUP3res(XDR *xdrs, am_LOOKUP3res *objp)
1386174294Sobrien{
1387174294Sobrien  if (amuDebug(D_XDRTRACE))
1388174294Sobrien    plog(XLOG_DEBUG, "xdr_am_LOOKUP3res:");
1389174294Sobrien
1390174294Sobrien  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1391174294Sobrien    return (FALSE);
1392174294Sobrien  switch (objp->status) {
1393174294Sobrien  case AM_NFS3_OK:
1394174294Sobrien    if (!xdr_am_LOOKUP3resok(xdrs, &objp->res_u.ok))
1395174294Sobrien      return (FALSE);
1396174294Sobrien    break;
1397174294Sobrien  default:
1398174294Sobrien    if (!xdr_am_LOOKUP3resfail(xdrs, &objp->res_u.fail))
1399174294Sobrien      return (FALSE);
1400174294Sobrien    break;
1401174294Sobrien  }
1402174294Sobrien  return (TRUE);
1403174294Sobrien}
1404174294Sobrien
1405174294Sobrienbool_t
1406174294Sobrienxdr_am_LOOKUP3resfail(XDR *xdrs, am_LOOKUP3resfail *objp)
1407174294Sobrien{
1408174294Sobrien  if (amuDebug(D_XDRTRACE))
1409174294Sobrien    plog(XLOG_DEBUG, "xdr_am_LOOKUP3resfail:");
1410174294Sobrien
1411310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
1412174294Sobrien    return (FALSE);
1413174294Sobrien  return (TRUE);
1414174294Sobrien}
1415174294Sobrien
1416174294Sobrienbool_t
1417174294Sobrienxdr_am_LOOKUP3resok(XDR *xdrs, am_LOOKUP3resok *objp)
1418174294Sobrien{
1419174294Sobrien  if (amuDebug(D_XDRTRACE))
1420174294Sobrien    plog(XLOG_DEBUG, "xdr_am_LOOKUP3resok:");
1421174294Sobrien
1422174294Sobrien  if (!xdr_am_nfs_fh3(xdrs, &objp->object))
1423174294Sobrien    return (FALSE);
1424310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1425174294Sobrien    return (FALSE);
1426310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
1427174294Sobrien    return (FALSE);
1428174294Sobrien  return (TRUE);
1429174294Sobrien}
1430174294Sobrien
1431310490Scybool_t
1432310490Scyxdr_am_COMMIT3args(XDR *xdrs, am_COMMIT3args *objp)
1433310490Scy{
1434310490Scy  if (amuDebug(D_XDRTRACE))
1435310490Scy    plog(XLOG_DEBUG, "xdr_am_COMMIT3args:");
1436174294Sobrien
1437310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->file))
1438310490Scy    return FALSE;
1439310490Scy  if (!xdr_am_offset3(xdrs, &objp->offset))
1440310490Scy    return FALSE;
1441310490Scy  if (!xdr_am_count3(xdrs, &objp->count))
1442310490Scy    return FALSE;
1443310490Scy  return TRUE;
1444310490Scy}
1445310490Scy
1446174294Sobrienbool_t
1447310490Scyxdr_am_COMMIT3resok(XDR *xdrs, am_COMMIT3resok *objp)
1448174294Sobrien{
1449174294Sobrien  if (amuDebug(D_XDRTRACE))
1450310490Scy    plog(XLOG_DEBUG, "xdr_am_COMMIT3resok:");
1451174294Sobrien
1452310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1453310490Scy    return FALSE;
1454310490Scy  if (!xdr_am_writeverf3(xdrs, objp->verf))
1455310490Scy    return FALSE;
1456310490Scy  return TRUE;
1457174294Sobrien}
1458174294Sobrien
1459310490Scybool_t
1460310490Scyxdr_am_COMMIT3resfail(XDR *xdrs, am_COMMIT3resfail *objp)
1461310490Scy{
1462310490Scy  if (amuDebug(D_XDRTRACE))
1463310490Scy    plog(XLOG_DEBUG, "xdr_am_COMMIT3resfail:");
1464174294Sobrien
1465310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->file_wcc))
1466310490Scy    return FALSE;
1467310490Scy  return TRUE;
1468310490Scy}
1469310490Scy
1470174294Sobrienbool_t
1471310490Scyxdr_am_COMMIT3res(XDR *xdrs, am_COMMIT3res *objp)
1472174294Sobrien{
1473174294Sobrien  if (amuDebug(D_XDRTRACE))
1474310490Scy    plog(XLOG_DEBUG, "xdr_am_COMMIT3res:");
1475174294Sobrien
1476310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1477310490Scy    return FALSE;
1478310490Scy  switch (objp->status) {
1479310490Scy  case AM_NFS3_OK:
1480310490Scy    if (!xdr_am_COMMIT3resok(xdrs, &objp->res_u.ok))
1481310490Scy      return FALSE;
1482310490Scy    break;
1483310490Scy  default:
1484310490Scy    if (!xdr_am_COMMIT3resfail(xdrs, &objp->res_u.fail))
1485310490Scy      return FALSE;
1486310490Scy    break;
1487310490Scy  }
1488310490Scy  return TRUE;
1489174294Sobrien}
1490310490Scy
1491310490Scybool_t
1492310490Scyxdr_am_ACCESS3args(XDR *xdrs, am_ACCESS3args *objp)
1493310490Scy{
1494310490Scy  if (amuDebug(D_XDRTRACE))
1495310490Scy    plog(XLOG_DEBUG, "xdr_am_ACCESS3args:");
1496310490Scy
1497310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->object))
1498310490Scy    return FALSE;
1499310490Scy  if (!xdr_u_int(xdrs, &objp->access))
1500310490Scy    return FALSE;
1501310490Scy  return TRUE;
1502310490Scy}
1503310490Scy
1504310490Scybool_t
1505310490Scyxdr_am_ACCESS3resok(XDR *xdrs, am_ACCESS3resok *objp)
1506310490Scy{
1507310490Scy  if (amuDebug(D_XDRTRACE))
1508310490Scy    plog(XLOG_DEBUG, "xdr_am_ACCESS3resok:");
1509310490Scy
1510310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1511310490Scy    return FALSE;
1512310490Scy  if (!xdr_u_int(xdrs, &objp->access))
1513310490Scy    return FALSE;
1514310490Scy  return TRUE;
1515310490Scy}
1516310490Scy
1517310490Scybool_t
1518310490Scyxdr_am_ACCESS3resfail(XDR *xdrs, am_ACCESS3resfail *objp)
1519310490Scy{
1520310490Scy  if (amuDebug(D_XDRTRACE))
1521310490Scy    plog(XLOG_DEBUG, "xdr_am_ACCESS3resfail:");
1522310490Scy
1523310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1524310490Scy    return FALSE;
1525310490Scy  return TRUE;
1526310490Scy}
1527310490Scy
1528310490Scybool_t
1529310490Scyxdr_am_ACCESS3res(XDR *xdrs, am_ACCESS3res *objp)
1530310490Scy{
1531310490Scy  if (amuDebug(D_XDRTRACE))
1532310490Scy    plog(XLOG_DEBUG, "xdr_am_ACCESS3res:");
1533310490Scy
1534310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1535310490Scy    return FALSE;
1536310490Scy  switch (objp->status) {
1537310490Scy  case AM_NFS3_OK:
1538310490Scy    if (!xdr_am_ACCESS3resok(xdrs, &objp->res_u.ok))
1539310490Scy      return FALSE;
1540310490Scy    break;
1541310490Scy  default:
1542310490Scy    if (!xdr_am_ACCESS3resfail(xdrs, &objp->res_u.fail))
1543310490Scy      return FALSE;
1544310490Scy    break;
1545310490Scy  }
1546310490Scy  return TRUE;
1547310490Scy}
1548310490Scy
1549310490Scybool_t
1550310490Scyxdr_am_GETATTR3args(XDR *xdrs, am_GETATTR3args *objp)
1551310490Scy{
1552310490Scy  if (amuDebug(D_XDRTRACE))
1553310490Scy    plog(XLOG_DEBUG, "xdr_am_GETATTR3args:");
1554310490Scy
1555310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->object))
1556310490Scy    return FALSE;
1557310490Scy  return TRUE;
1558310490Scy}
1559310490Scy
1560310490Scybool_t
1561310490Scyxdr_am_GETATTR3resok(XDR *xdrs, am_GETATTR3resok *objp)
1562310490Scy{
1563310490Scy  if (amuDebug(D_XDRTRACE))
1564310490Scy    plog(XLOG_DEBUG, "xdr_am_GETATTR3resok:");
1565310490Scy
1566310490Scy  if (!xdr_am_fattr3(xdrs, &objp->obj_attributes))
1567310490Scy    return FALSE;
1568310490Scy  return TRUE;
1569310490Scy}
1570310490Scy
1571310490Scybool_t
1572310490Scyxdr_am_GETATTR3res(XDR *xdrs, am_GETATTR3res *objp)
1573310490Scy{
1574310490Scy  if (amuDebug(D_XDRTRACE))
1575310490Scy    plog(XLOG_DEBUG, "xdr_am_GETATTR3res:");
1576310490Scy
1577310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1578310490Scy    return FALSE;
1579310490Scy  switch (objp->status) {
1580310490Scy  case AM_NFS3_OK:
1581310490Scy    if (!xdr_am_GETATTR3resok(xdrs, &objp->res_u.ok))
1582310490Scy      return FALSE;
1583310490Scy    break;
1584310490Scy  default:
1585310490Scy    break;
1586310490Scy  }
1587310490Scy  return TRUE;
1588310490Scy}
1589310490Scy
1590310490Scybool_t
1591310490Scyxdr_am_time_how(XDR *xdrs, am_time_how *objp)
1592310490Scy{
1593310490Scy  if (amuDebug(D_XDRTRACE))
1594310490Scy    plog(XLOG_DEBUG, "xdr_am_time_how:");
1595310490Scy
1596310490Scy  if (!xdr_enum(xdrs, (enum_t *) objp))
1597310490Scy    return FALSE;
1598310490Scy  return TRUE;
1599310490Scy}
1600310490Scy
1601310490Scybool_t
1602310490Scyxdr_am_set_mode3(XDR *xdrs, am_set_mode3 *objp)
1603310490Scy{
1604310490Scy  if (amuDebug(D_XDRTRACE))
1605310490Scy    plog(XLOG_DEBUG, "xdr_am_set_mode3:");
1606310490Scy
1607310490Scy  if (!xdr_bool(xdrs, &objp->set_it))
1608310490Scy    return FALSE;
1609310490Scy  switch (objp->set_it) {
1610310490Scy  case TRUE:
1611310490Scy    if (!xdr_am_mode3(xdrs, &objp->am_set_mode3_u.mode))
1612310490Scy      return FALSE;
1613310490Scy    break;
1614310490Scy  default:
1615310490Scy    break;
1616310490Scy  }
1617310490Scy  return TRUE;
1618310490Scy}
1619310490Scy
1620310490Scybool_t
1621310490Scyxdr_am_set_uid3(XDR *xdrs, am_set_uid3 *objp)
1622310490Scy{
1623310490Scy  if (amuDebug(D_XDRTRACE))
1624310490Scy    plog(XLOG_DEBUG, "xdr_am_set_uid3:");
1625310490Scy
1626310490Scy  if (!xdr_bool(xdrs, &objp->set_it))
1627310490Scy    return FALSE;
1628310490Scy  switch (objp->set_it) {
1629310490Scy  case TRUE:
1630310490Scy    if (!xdr_am_uid3(xdrs, &objp->am_set_uid3_u.uid))
1631310490Scy      return FALSE;
1632310490Scy    break;
1633310490Scy  default:
1634310490Scy    break;
1635310490Scy  }
1636310490Scy  return TRUE;
1637310490Scy}
1638310490Scy
1639310490Scybool_t
1640310490Scyxdr_am_set_gid3(XDR *xdrs, am_set_gid3 *objp)
1641310490Scy{
1642310490Scy  if (amuDebug(D_XDRTRACE))
1643310490Scy    plog(XLOG_DEBUG, "xdr_am_set_gid3:");
1644310490Scy
1645310490Scy  if (!xdr_bool(xdrs, &objp->set_it))
1646310490Scy    return FALSE;
1647310490Scy  switch (objp->set_it) {
1648310490Scy  case TRUE:
1649310490Scy    if (!xdr_am_gid3(xdrs, &objp->am_set_gid3_u.gid))
1650310490Scy      return FALSE;
1651310490Scy    break;
1652310490Scy  default:
1653310490Scy    break;
1654310490Scy  }
1655310490Scy  return TRUE;
1656310490Scy}
1657310490Scy
1658310490Scybool_t
1659310490Scyxdr_am_set_size3(XDR *xdrs, am_set_size3 *objp)
1660310490Scy{
1661310490Scy  if (amuDebug(D_XDRTRACE))
1662310490Scy    plog(XLOG_DEBUG, "xdr_am_set_size3:");
1663310490Scy
1664310490Scy  if (!xdr_bool(xdrs, &objp->set_it))
1665310490Scy    return FALSE;
1666310490Scy  switch (objp->set_it) {
1667310490Scy  case TRUE:
1668310490Scy    if (!xdr_am_size3(xdrs, &objp->am_set_size3_u.size))
1669310490Scy      return FALSE;
1670310490Scy    break;
1671310490Scy  default:
1672310490Scy    break;
1673310490Scy  }
1674310490Scy  return TRUE;
1675310490Scy}
1676310490Scy
1677310490Scybool_t
1678310490Scyxdr_am_set_atime(XDR *xdrs, am_set_atime *objp)
1679310490Scy{
1680310490Scy  if (amuDebug(D_XDRTRACE))
1681310490Scy    plog(XLOG_DEBUG, "xdr_am_set_atime:");
1682310490Scy
1683310490Scy  if (!xdr_am_time_how(xdrs, &objp->set_it))
1684310490Scy    return FALSE;
1685310490Scy  switch (objp->set_it) {
1686310490Scy  case AM_SET_TO_CLIENT_TIME:
1687310490Scy    if (!xdr_am_nfstime3(xdrs, &objp->am_set_atime_u.atime))
1688310490Scy      return FALSE;
1689310490Scy    break;
1690310490Scy  default:
1691310490Scy    break;
1692310490Scy  }
1693310490Scy  return TRUE;
1694310490Scy}
1695310490Scy
1696310490Scybool_t
1697310490Scyxdr_am_set_mtime(XDR *xdrs, am_set_mtime *objp)
1698310490Scy{
1699310490Scy  if (amuDebug(D_XDRTRACE))
1700310490Scy    plog(XLOG_DEBUG, "xdr_am_set_mtime:");
1701310490Scy
1702310490Scy  if (!xdr_am_time_how(xdrs, &objp->set_it))
1703310490Scy    return FALSE;
1704310490Scy  switch (objp->set_it) {
1705310490Scy  case AM_SET_TO_CLIENT_TIME:
1706310490Scy    if (!xdr_am_nfstime3(xdrs, &objp->am_set_mtime_u.mtime))
1707310490Scy      return FALSE;
1708310490Scy    break;
1709310490Scy  default:
1710310490Scy    break;
1711310490Scy  }
1712310490Scy  return TRUE;
1713310490Scy}
1714310490Scy
1715310490Scybool_t
1716310490Scyxdr_am_sattr3(XDR *xdrs, am_sattr3 *objp)
1717310490Scy{
1718310490Scy  if (amuDebug(D_XDRTRACE))
1719310490Scy    plog(XLOG_DEBUG, "xdr_am_sattr3:");
1720310490Scy
1721310490Scy  if (!xdr_am_set_mode3(xdrs, &objp->mode))
1722310490Scy    return FALSE;
1723310490Scy  if (!xdr_am_set_uid3(xdrs, &objp->uid))
1724310490Scy    return FALSE;
1725310490Scy  if (!xdr_am_set_gid3(xdrs, &objp->gid))
1726310490Scy    return FALSE;
1727310490Scy  if (!xdr_am_set_size3(xdrs, &objp->size))
1728310490Scy     return FALSE;
1729310490Scy  if (!xdr_am_set_atime(xdrs, &objp->atime))
1730310490Scy    return FALSE;
1731310490Scy  if (!xdr_am_set_mtime(xdrs, &objp->mtime))
1732310490Scy    return FALSE;
1733310490Scy  return TRUE;
1734310490Scy}
1735310490Scy
1736310490Scybool_t
1737310490Scyxdr_am_createmode3(XDR *xdrs, am_createmode3 *objp)
1738310490Scy{
1739310490Scy  if (amuDebug(D_XDRTRACE))
1740310490Scy    plog(XLOG_DEBUG, "xdr_am_createmode3:");
1741310490Scy
1742310490Scy  if (!xdr_enum(xdrs, (enum_t *) objp))
1743310490Scy    return FALSE;
1744310490Scy  return TRUE;
1745310490Scy}
1746310490Scy
1747310490Scybool_t
1748310490Scyxdr_am_createverf3(XDR *xdrs, am_createverf3 objp)
1749310490Scy{
1750310490Scy  if (amuDebug(D_XDRTRACE))
1751310490Scy    plog(XLOG_DEBUG, "xdr_am_createverf3:");
1752310490Scy
1753310490Scy  if (!xdr_opaque(xdrs, objp, AM_NFS3_CREATEVERFSIZE))
1754310490Scy    return FALSE;
1755310490Scy  return TRUE;
1756310490Scy}
1757310490Scy
1758310490Scybool_t
1759310490Scyxdr_am_createhow3(XDR *xdrs, am_createhow3 *objp)
1760310490Scy{
1761310490Scy  if (amuDebug(D_XDRTRACE))
1762310490Scy    plog(XLOG_DEBUG, "xdr_am_createhow3:");
1763310490Scy
1764310490Scy   if (!xdr_am_createmode3(xdrs, &objp->mode))
1765310490Scy     return FALSE;
1766310490Scy  switch (objp->mode) {
1767310490Scy  case AM_UNCHECKED:
1768310490Scy    if (!xdr_am_sattr3(xdrs, &objp->am_createhow3_u.obj_attributes))
1769310490Scy      return FALSE;
1770310490Scy    break;
1771310490Scy  case AM_GUARDED:
1772310490Scy    if (!xdr_am_sattr3(xdrs, &objp->am_createhow3_u.g_obj_attributes))
1773310490Scy      return FALSE;
1774310490Scy    break;
1775310490Scy  case AM_EXCLUSIVE:
1776310490Scy    if (!xdr_am_createverf3(xdrs, objp->am_createhow3_u.verf))
1777310490Scy      return FALSE;
1778310490Scy    break;
1779310490Scy  default:
1780310490Scy    return FALSE;
1781310490Scy  }
1782310490Scy  return TRUE;
1783310490Scy}
1784310490Scy
1785310490Scybool_t
1786310490Scyxdr_am_CREATE3args(XDR *xdrs, am_CREATE3args *objp)
1787310490Scy{
1788310490Scy  if (amuDebug(D_XDRTRACE))
1789310490Scy    plog(XLOG_DEBUG, "xdr_am_CREATE3args:");
1790310490Scy
1791310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->where))
1792310490Scy    return FALSE;
1793310490Scy  if (!xdr_am_createhow3(xdrs, &objp->how))
1794310490Scy    return FALSE;
1795310490Scy  return TRUE;
1796310490Scy}
1797310490Scy
1798310490Scybool_t
1799310490Scyxdr_am_post_op_fh3(XDR *xdrs, am_post_op_fh3 *objp)
1800310490Scy{
1801310490Scy  if (amuDebug(D_XDRTRACE))
1802310490Scy    plog(XLOG_DEBUG, "xdr_am_post_op_fh3:");
1803310490Scy
1804310490Scy  if (!xdr_bool(xdrs, &objp->handle_follows))
1805310490Scy    return FALSE;
1806310490Scy  switch (objp->handle_follows) {
1807310490Scy  case TRUE:
1808310490Scy    if (!xdr_am_nfs_fh3(xdrs, &objp->am_post_op_fh3_u.handle))
1809310490Scy      return FALSE;
1810310490Scy    break;
1811310490Scy  case FALSE:
1812310490Scy    break;
1813310490Scy  default:
1814310490Scy    return FALSE;
1815310490Scy  }
1816310490Scy  return TRUE;
1817310490Scy}
1818310490Scy
1819310490Scybool_t
1820310490Scyxdr_am_CREATE3resok(XDR *xdrs, am_CREATE3resok *objp)
1821310490Scy{
1822310490Scy  if (amuDebug(D_XDRTRACE))
1823310490Scy    plog(XLOG_DEBUG, "xdr_am_CREATE3resok:");
1824310490Scy
1825310490Scy  if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
1826310490Scy    return FALSE;
1827310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
1828310490Scy    return FALSE;
1829310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1830310490Scy    return FALSE;
1831310490Scy  return TRUE;
1832310490Scy}
1833310490Scy
1834310490Scybool_t
1835310490Scyxdr_am_CREATE3resfail(XDR *xdrs, am_CREATE3resfail *objp)
1836310490Scy{
1837310490Scy  if (amuDebug(D_XDRTRACE))
1838310490Scy    plog(XLOG_DEBUG, "xdr_am_CREATE3resfail:");
1839310490Scy
1840310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1841310490Scy    return FALSE;
1842310490Scy  return TRUE;
1843310490Scy}
1844310490Scy
1845310490Scybool_t
1846310490Scyxdr_am_CREATE3res(XDR *xdrs, am_CREATE3res *objp)
1847310490Scy{
1848310490Scy  if (amuDebug(D_XDRTRACE))
1849310490Scy    plog(XLOG_DEBUG, "xdr_am_CREATE3res:");
1850310490Scy
1851310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1852310490Scy    return FALSE;
1853310490Scy  switch (objp->status) {
1854310490Scy  case AM_NFS3_OK:
1855310490Scy    if (!xdr_am_CREATE3resok(xdrs, &objp->res_u.ok))
1856310490Scy      return FALSE;
1857310490Scy    break;
1858310490Scy  default:
1859310490Scy    if (!xdr_am_CREATE3resfail(xdrs, &objp->res_u.fail))
1860310490Scy      return FALSE;
1861310490Scy    break;
1862310490Scy  }
1863310490Scy  return TRUE;
1864310490Scy}
1865310490Scy
1866310490Scybool_t
1867310490Scyxdr_am_REMOVE3args(XDR *xdrs, am_REMOVE3args *objp)
1868310490Scy{
1869310490Scy  if (amuDebug(D_XDRTRACE))
1870310490Scy    plog(XLOG_DEBUG, "xdr_am_REMOVE3args:");
1871310490Scy
1872310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->object))
1873310490Scy    return FALSE;
1874310490Scy  return TRUE;
1875310490Scy}
1876310490Scy
1877310490Scybool_t
1878310490Scyxdr_am_REMOVE3resok(XDR *xdrs, am_REMOVE3resok *objp)
1879310490Scy{
1880310490Scy  if (amuDebug(D_XDRTRACE))
1881310490Scy    plog(XLOG_DEBUG, "xdr_am_REMOVE3resok:");
1882310490Scy
1883310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1884310490Scy    return FALSE;
1885310490Scy  return TRUE;
1886310490Scy}
1887310490Scy
1888310490Scybool_t
1889310490Scyxdr_am_REMOVE3resfail(XDR *xdrs, am_REMOVE3resfail *objp)
1890310490Scy{
1891310490Scy  if (amuDebug(D_XDRTRACE))
1892310490Scy    plog(XLOG_DEBUG, "xdr_am_REMOVE3resfail:");
1893310490Scy
1894310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
1895310490Scy    return FALSE;
1896310490Scy  return TRUE;
1897310490Scy}
1898310490Scy
1899310490Scybool_t
1900310490Scyxdr_am_REMOVE3res(XDR *xdrs, am_REMOVE3res *objp)
1901310490Scy{
1902310490Scy  if (amuDebug(D_XDRTRACE))
1903310490Scy    plog(XLOG_DEBUG, "xdr_am_REMOVE3res:");
1904310490Scy
1905310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1906310490Scy    return FALSE;
1907310490Scy  switch (objp->status) {
1908310490Scy  case AM_NFS3_OK:
1909310490Scy    if (!xdr_am_REMOVE3resok(xdrs, &objp->res_u.ok))
1910310490Scy      return FALSE;
1911310490Scy    break;
1912310490Scy  default:
1913310490Scy    if (!xdr_am_REMOVE3resfail(xdrs, &objp->res_u.fail))
1914310490Scy      return FALSE;
1915310490Scy    break;
1916310490Scy  }
1917310490Scy  return TRUE;
1918310490Scy}
1919310490Scy
1920310490Scybool_t
1921310490Scyxdr_am_READ3args(XDR *xdrs, am_READ3args *objp)
1922310490Scy{
1923310490Scy  if (amuDebug(D_XDRTRACE))
1924310490Scy    plog(XLOG_DEBUG, "xdr_am_READ3args:");
1925310490Scy
1926310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->file))
1927310490Scy    return FALSE;
1928310490Scy  if (!xdr_am_offset3(xdrs, &objp->offset))
1929310490Scy    return FALSE;
1930310490Scy  if (!xdr_am_count3(xdrs, &objp->count))
1931310490Scy    return FALSE;
1932310490Scy  return TRUE;
1933310490Scy}
1934310490Scy
1935310490Scybool_t
1936310490Scyxdr_am_READ3resok(XDR *xdrs, am_READ3resok *objp)
1937310490Scy{
1938310490Scy  if (amuDebug(D_XDRTRACE))
1939310490Scy    plog(XLOG_DEBUG, "xdr_am_READ3resok:");
1940310490Scy
1941310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
1942310490Scy    return FALSE;
1943310490Scy  if (!xdr_am_count3(xdrs, &objp->count))
1944310490Scy    return FALSE;
1945310490Scy  if (!xdr_bool(xdrs, &objp->eof))
1946310490Scy    return FALSE;
1947310490Scy  if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
1948310490Scy    return FALSE;
1949310490Scy  return TRUE;
1950310490Scy}
1951310490Scy
1952310490Scybool_t
1953310490Scyxdr_am_READ3resfail(XDR *xdrs, am_READ3resfail *objp)
1954310490Scy{
1955310490Scy  if (amuDebug(D_XDRTRACE))
1956310490Scy    plog(XLOG_DEBUG, "xdr_am_READ3resfail:");
1957310490Scy
1958310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
1959310490Scy    return FALSE;
1960310490Scy  return TRUE;
1961310490Scy}
1962310490Scy
1963310490Scybool_t
1964310490Scyxdr_am_READ3res(XDR *xdrs, am_READ3res *objp)
1965310490Scy{
1966310490Scy  if (amuDebug(D_XDRTRACE))
1967310490Scy    plog(XLOG_DEBUG, "xdr_am_READ3res:");
1968310490Scy
1969310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
1970310490Scy    return FALSE;
1971310490Scy  switch (objp->status) {
1972310490Scy  case AM_NFS3_OK:
1973310490Scy    if (!xdr_am_READ3resok(xdrs, &objp->res_u.ok))
1974310490Scy      return FALSE;
1975310490Scy    break;
1976310490Scy  default:
1977310490Scy    if (!xdr_am_READ3resfail(xdrs, &objp->res_u.fail))
1978310490Scy      return FALSE;
1979310490Scy    break;
1980310490Scy  }
1981310490Scy  return TRUE;
1982310490Scy}
1983310490Scy
1984310490Scybool_t
1985310490Scyxdr_am_FSINFO3args(XDR *xdrs, am_FSINFO3args *objp)
1986310490Scy{
1987310490Scy  if (amuDebug(D_XDRTRACE))
1988310490Scy    plog(XLOG_DEBUG, "xdr_am_FSINFO3args:");
1989310490Scy
1990310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->fsroot))
1991310490Scy    return FALSE;
1992310490Scy  return TRUE;
1993310490Scy}
1994310490Scy
1995310490Scybool_t
1996310490Scyxdr_am_FSINFO3resok(XDR *xdrs, am_FSINFO3resok *objp)
1997310490Scy{
1998310490Scy  register int32_t *buf;
1999310490Scy
2000310490Scy  if (amuDebug(D_XDRTRACE))
2001310490Scy    plog(XLOG_DEBUG, "xdr_am_FSINFO3resok:");
2002310490Scy
2003310490Scy  if (xdrs->x_op == XDR_ENCODE) {
2004310490Scy    if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2005310490Scy      return FALSE;
2006310490Scy    buf = XDR_INLINE(xdrs, 7 * BYTES_PER_XDR_UNIT);
2007310490Scy    if (buf == NULL) {
2008310490Scy      if (!xdr_u_int(xdrs, &objp->rtmax))
2009310490Scy        return FALSE;
2010310490Scy      if (!xdr_u_int(xdrs, &objp->rtpref))
2011310490Scy        return FALSE;
2012310490Scy      if (!xdr_u_int(xdrs, &objp->rtmult))
2013310490Scy        return FALSE;
2014310490Scy      if (!xdr_u_int(xdrs, &objp->wtmax))
2015310490Scy        return FALSE;
2016310490Scy      if (!xdr_u_int(xdrs, &objp->wtpref))
2017310490Scy        return FALSE;
2018310490Scy      if (!xdr_u_int(xdrs, &objp->wtmult))
2019310490Scy        return FALSE;
2020310490Scy      if (!xdr_u_int(xdrs, &objp->dtpref))
2021310490Scy        return FALSE;
2022310490Scy    } else {
2023310490Scy      IXDR_PUT_U_LONG(buf, objp->rtmax);
2024310490Scy      IXDR_PUT_U_LONG(buf, objp->rtpref);
2025310490Scy      IXDR_PUT_U_LONG(buf, objp->rtmult);
2026310490Scy      IXDR_PUT_U_LONG(buf, objp->wtmax);
2027310490Scy      IXDR_PUT_U_LONG(buf, objp->wtpref);
2028310490Scy      IXDR_PUT_U_LONG(buf, objp->wtmult);
2029310490Scy      IXDR_PUT_U_LONG(buf, objp->dtpref);
2030310490Scy    }
2031310490Scy    if (!xdr_am_size3(xdrs, &objp->maxfilesize))
2032310490Scy      return FALSE;
2033310490Scy    if (!xdr_am_nfstime3(xdrs, &objp->time_delta))
2034310490Scy      return FALSE;
2035310490Scy    if (!xdr_u_int(xdrs, &objp->properties))
2036310490Scy      return FALSE;
2037310490Scy    return TRUE;
2038310490Scy  } else if (xdrs->x_op == XDR_DECODE) {
2039310490Scy    if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2040310490Scy      return FALSE;
2041310490Scy    buf = XDR_INLINE(xdrs, 7 * BYTES_PER_XDR_UNIT);
2042310490Scy    if (buf == NULL) {
2043310490Scy      if (!xdr_u_int (xdrs, &objp->rtmax))
2044310490Scy        return FALSE;
2045310490Scy      if (!xdr_u_int (xdrs, &objp->rtpref))
2046310490Scy        return FALSE;
2047310490Scy      if (!xdr_u_int (xdrs, &objp->rtmult))
2048310490Scy        return FALSE;
2049310490Scy      if (!xdr_u_int (xdrs, &objp->wtmax))
2050310490Scy        return FALSE;
2051310490Scy      if (!xdr_u_int(xdrs, &objp->wtpref))
2052310490Scy        return FALSE;
2053310490Scy      if (!xdr_u_int(xdrs, &objp->wtmult))
2054310490Scy        return FALSE;
2055310490Scy      if (!xdr_u_int(xdrs, &objp->dtpref))
2056310490Scy        return FALSE;
2057310490Scy    } else {
2058310490Scy      objp->rtmax = IXDR_GET_U_LONG(buf);
2059310490Scy      objp->rtpref = IXDR_GET_U_LONG(buf);
2060310490Scy      objp->rtmult = IXDR_GET_U_LONG(buf);
2061310490Scy      objp->wtmax = IXDR_GET_U_LONG(buf);
2062310490Scy      objp->wtpref = IXDR_GET_U_LONG(buf);
2063310490Scy      objp->wtmult = IXDR_GET_U_LONG(buf);
2064310490Scy      objp->dtpref = IXDR_GET_U_LONG(buf);
2065310490Scy    }
2066310490Scy    if (!xdr_am_size3(xdrs, &objp->maxfilesize))
2067310490Scy      return FALSE;
2068310490Scy    if (!xdr_am_nfstime3(xdrs, &objp->time_delta))
2069310490Scy      return FALSE;
2070310490Scy    if (!xdr_u_int(xdrs, &objp->properties))
2071310490Scy      return FALSE;
2072310490Scy    return TRUE;
2073310490Scy  }
2074310490Scy
2075310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2076310490Scy    return FALSE;
2077310490Scy  if (!xdr_u_int(xdrs, &objp->rtmax))
2078310490Scy    return FALSE;
2079310490Scy  if (!xdr_u_int(xdrs, &objp->rtpref))
2080310490Scy    return FALSE;
2081310490Scy  if (!xdr_u_int(xdrs, &objp->rtmult))
2082310490Scy    return FALSE;
2083310490Scy  if (!xdr_u_int(xdrs, &objp->wtmax))
2084310490Scy    return FALSE;
2085310490Scy  if (!xdr_u_int(xdrs, &objp->wtpref))
2086310490Scy    return FALSE;
2087310490Scy  if (!xdr_u_int(xdrs, &objp->wtmult))
2088310490Scy    return FALSE;
2089310490Scy  if (!xdr_u_int(xdrs, &objp->dtpref))
2090310490Scy   return FALSE;
2091310490Scy  if (!xdr_am_size3(xdrs, &objp->maxfilesize))
2092310490Scy    return FALSE;
2093310490Scy  if (!xdr_am_nfstime3(xdrs, &objp->time_delta))
2094310490Scy    return FALSE;
2095310490Scy  if (!xdr_u_int(xdrs, &objp->properties))
2096310490Scy    return FALSE;
2097310490Scy  return TRUE;
2098310490Scy}
2099310490Scy
2100310490Scybool_t
2101310490Scyxdr_am_FSINFO3resfail(XDR *xdrs, am_FSINFO3resfail *objp)
2102310490Scy{
2103310490Scy  if (amuDebug(D_XDRTRACE))
2104310490Scy    plog(XLOG_DEBUG, "xdr_am_FSINFO3resfail:");
2105310490Scy
2106310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2107310490Scy    return FALSE;
2108310490Scy  return TRUE;
2109310490Scy}
2110310490Scy
2111310490Scybool_t
2112310490Scyxdr_am_FSINFO3res(XDR *xdrs, am_FSINFO3res *objp)
2113310490Scy{
2114310490Scy  if (amuDebug(D_XDRTRACE))
2115310490Scy    plog(XLOG_DEBUG, "xdr_am_FSINFO3res:");
2116310490Scy
2117310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2118310490Scy    return FALSE;
2119310490Scy  switch (objp->status) {
2120310490Scy  case AM_NFS3_OK:
2121310490Scy    if (!xdr_am_FSINFO3resok(xdrs, &objp->res_u.ok))
2122310490Scy      return FALSE;
2123310490Scy    break;
2124310490Scy  default:
2125310490Scy    if (!xdr_am_FSINFO3resfail(xdrs, &objp->res_u.fail))
2126310490Scy      return FALSE;
2127310490Scy    break;
2128310490Scy  }
2129310490Scy  return TRUE;
2130310490Scy}
2131310490Scy
2132310490Scybool_t
2133310490Scyxdr_am_FSSTAT3args(XDR *xdrs, am_FSSTAT3args *objp)
2134310490Scy{
2135310490Scy  if (amuDebug(D_XDRTRACE))
2136310490Scy    plog(XLOG_DEBUG, "xdr_am_FSSTAT3args:");
2137310490Scy
2138310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->fsroot))
2139310490Scy    return FALSE;
2140310490Scy  return TRUE;
2141310490Scy}
2142310490Scy
2143310490Scybool_t
2144310490Scyxdr_am_FSSTAT3resok(XDR *xdrs, am_FSSTAT3resok *objp)
2145310490Scy{
2146310490Scy  if (amuDebug(D_XDRTRACE))
2147310490Scy    plog(XLOG_DEBUG, "xdr_am_FSSTAT3resok:");
2148310490Scy
2149310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2150310490Scy    return FALSE;
2151310490Scy  if (!xdr_am_size3(xdrs, &objp->tbytes))
2152310490Scy    return FALSE;
2153310490Scy  if (!xdr_am_size3(xdrs, &objp->fbytes))
2154310490Scy    return FALSE;
2155310490Scy  if (!xdr_am_size3(xdrs, &objp->abytes))
2156310490Scy    return FALSE;
2157310490Scy  if (!xdr_am_size3(xdrs, &objp->tfiles))
2158310490Scy    return FALSE;
2159310490Scy  if (!xdr_am_size3(xdrs, &objp->ffiles))
2160310490Scy    return FALSE;
2161310490Scy  if (!xdr_am_size3(xdrs, &objp->afiles))
2162310490Scy    return FALSE;
2163310490Scy  if (!xdr_u_int(xdrs, &objp->invarsec))
2164310490Scy    return FALSE;
2165310490Scy  return TRUE;
2166310490Scy}
2167310490Scy
2168310490Scybool_t
2169310490Scyxdr_am_FSSTAT3resfail(XDR *xdrs, am_FSSTAT3resfail *objp)
2170310490Scy{
2171310490Scy  if (amuDebug(D_XDRTRACE))
2172310490Scy    plog(XLOG_DEBUG, "xdr_am_FSSTAT3resfail:");
2173310490Scy
2174310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2175310490Scy    return FALSE;
2176310490Scy  return TRUE;
2177310490Scy}
2178310490Scy
2179310490Scybool_t
2180310490Scyxdr_am_FSSTAT3res(XDR *xdrs, am_FSSTAT3res *objp)
2181310490Scy{
2182310490Scy  if (amuDebug(D_XDRTRACE))
2183310490Scy    plog(XLOG_DEBUG, "xdr_am_FSSTAT3res:");
2184310490Scy
2185310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2186310490Scy    return FALSE;
2187310490Scy  switch (objp->status) {
2188310490Scy  case AM_NFS3_OK:
2189310490Scy    if (!xdr_am_FSSTAT3resok(xdrs, &objp->res_u.ok))
2190310490Scy      return FALSE;
2191310490Scy    break;
2192310490Scy  default:
2193310490Scy    if (!xdr_am_FSSTAT3resfail(xdrs, &objp->res_u.fail))
2194310490Scy      return FALSE;
2195310490Scy    break;
2196310490Scy  }
2197310490Scy  return TRUE;
2198310490Scy}
2199310490Scy
2200310490Scybool_t
2201310490Scyxdr_am_PATHCONF3args(XDR *xdrs, am_PATHCONF3args *objp)
2202310490Scy{
2203310490Scy  if (amuDebug(D_XDRTRACE))
2204310490Scy    plog(XLOG_DEBUG, "xdr_am_PATHCONF3args:");
2205310490Scy
2206310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->object))
2207310490Scy    return FALSE;
2208310490Scy  return TRUE;
2209310490Scy}
2210310490Scy
2211310490Scybool_t
2212310490Scyxdr_am_PATHCONF3resok(XDR *xdrs, am_PATHCONF3resok *objp)
2213310490Scy{
2214310490Scy  register int32_t *buf;
2215310490Scy
2216310490Scy  if (amuDebug(D_XDRTRACE))
2217310490Scy    plog(XLOG_DEBUG, "xdr_am_PATHCONF3resok:");
2218310490Scy
2219310490Scy  if (xdrs->x_op == XDR_ENCODE) {
2220310490Scy    if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2221310490Scy      return FALSE;
2222310490Scy    buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT);
2223310490Scy    if (buf == NULL) {
2224310490Scy      if (!xdr_u_int(xdrs, &objp->linkmax))
2225310490Scy        return FALSE;
2226310490Scy      if (!xdr_u_int(xdrs, &objp->name_max))
2227310490Scy        return FALSE;
2228310490Scy      if (!xdr_bool(xdrs, &objp->no_trunc))
2229310490Scy        return FALSE;
2230310490Scy      if (!xdr_bool(xdrs, &objp->chown_restricted))
2231310490Scy        return FALSE;
2232310490Scy      if (!xdr_bool(xdrs, &objp->case_insensitive))
2233310490Scy        return FALSE;
2234310490Scy      if (!xdr_bool(xdrs, &objp->case_preserving))
2235310490Scy        return FALSE;
2236310490Scy    } else {
2237310490Scy      IXDR_PUT_U_LONG(buf, objp->linkmax);
2238310490Scy      IXDR_PUT_U_LONG(buf, objp->name_max);
2239310490Scy      IXDR_PUT_BOOL(buf, objp->no_trunc);
2240310490Scy      IXDR_PUT_BOOL(buf, objp->chown_restricted);
2241310490Scy      IXDR_PUT_BOOL(buf, objp->case_insensitive);
2242310490Scy      IXDR_PUT_BOOL(buf, objp->case_preserving);
2243310490Scy    }
2244310490Scy    return TRUE;
2245310490Scy  } else if (xdrs->x_op == XDR_DECODE) {
2246310490Scy    if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2247310490Scy      return FALSE;
2248310490Scy    buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT);
2249310490Scy    if (buf == NULL) {
2250310490Scy      if (!xdr_u_int(xdrs, &objp->linkmax))
2251310490Scy        return FALSE;
2252310490Scy      if (!xdr_u_int(xdrs, &objp->name_max))
2253310490Scy        return FALSE;
2254310490Scy      if (!xdr_bool(xdrs, &objp->no_trunc))
2255310490Scy        return FALSE;
2256310490Scy      if (!xdr_bool(xdrs, &objp->chown_restricted))
2257310490Scy        return FALSE;
2258310490Scy      if (!xdr_bool(xdrs, &objp->case_insensitive))
2259310490Scy        return FALSE;
2260310490Scy      if (!xdr_bool(xdrs, &objp->case_preserving))
2261310490Scy        return FALSE;
2262310490Scy    } else {
2263310490Scy      objp->linkmax = IXDR_GET_U_LONG(buf);
2264310490Scy      objp->name_max = IXDR_GET_U_LONG(buf);
2265310490Scy      objp->no_trunc = IXDR_GET_BOOL(buf);
2266310490Scy      objp->chown_restricted = IXDR_GET_BOOL(buf);
2267310490Scy      objp->case_insensitive = IXDR_GET_BOOL(buf);
2268310490Scy      objp->case_preserving = IXDR_GET_BOOL(buf);
2269310490Scy    }
2270310490Scy    return TRUE;
2271310490Scy  }
2272310490Scy
2273310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2274310490Scy    return FALSE;
2275310490Scy  if (!xdr_u_int(xdrs, &objp->linkmax))
2276310490Scy    return FALSE;
2277310490Scy  if (!xdr_u_int(xdrs, &objp->name_max))
2278310490Scy    return FALSE;
2279310490Scy  if (!xdr_bool(xdrs, &objp->no_trunc))
2280310490Scy    return FALSE;
2281310490Scy  if (!xdr_bool(xdrs, &objp->chown_restricted))
2282310490Scy    return FALSE;
2283310490Scy  if (!xdr_bool(xdrs, &objp->case_insensitive))
2284310490Scy    return FALSE;
2285310490Scy  if (!xdr_bool(xdrs, &objp->case_preserving))
2286310490Scy    return FALSE;
2287310490Scy  return TRUE;
2288310490Scy}
2289310490Scy
2290310490Scybool_t
2291310490Scyxdr_am_PATHCONF3resfail(XDR *xdrs, am_PATHCONF3resfail *objp)
2292310490Scy{
2293310490Scy  if (amuDebug(D_XDRTRACE))
2294310490Scy    plog(XLOG_DEBUG, "xdr_am_PATHCONF3resfail:");
2295310490Scy
2296310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2297310490Scy    return FALSE;
2298310490Scy  return TRUE;
2299310490Scy}
2300310490Scy
2301310490Scybool_t
2302310490Scyxdr_am_PATHCONF3res(XDR *xdrs, am_PATHCONF3res *objp)
2303310490Scy{
2304310490Scy  if (amuDebug(D_XDRTRACE))
2305310490Scy    plog(XLOG_DEBUG, "xdr_am_PATHCONF3res:");
2306310490Scy
2307310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2308310490Scy    return FALSE;
2309310490Scy  switch (objp->status) {
2310310490Scy  case AM_NFS3_OK:
2311310490Scy    if (!xdr_am_PATHCONF3resok(xdrs, &objp->res_u.ok))
2312310490Scy      return FALSE;
2313310490Scy    break;
2314310490Scy  default:
2315310490Scy    if (!xdr_am_PATHCONF3resfail(xdrs, &objp->res_u.fail))
2316310490Scy      return FALSE;
2317310490Scy    break;
2318310490Scy  }
2319310490Scy  return TRUE;
2320310490Scy}
2321310490Scy
2322310490Scybool_t
2323310490Scyxdr_am_nfspath3(XDR *xdrs, am_nfspath3 *objp)
2324310490Scy{
2325310490Scy  if (amuDebug(D_XDRTRACE))
2326310490Scy    plog(XLOG_DEBUG, "xdr_am_nfspath3:");
2327310490Scy
2328310490Scy  if (!xdr_string(xdrs, objp, ~0))
2329310490Scy    return FALSE;
2330310490Scy  return TRUE;
2331310490Scy}
2332310490Scy
2333310490Scybool_t
2334310490Scyxdr_am_symlinkdata3(XDR *xdrs, am_symlinkdata3 *objp)
2335310490Scy{
2336310490Scy  if (amuDebug(D_XDRTRACE))
2337310490Scy    plog(XLOG_DEBUG, "xdr_am_symlinkdata3:");
2338310490Scy
2339310490Scy  if (!xdr_am_sattr3(xdrs, &objp->symlink_attributes))
2340310490Scy    return FALSE;
2341310490Scy  if (!xdr_am_nfspath3(xdrs, &objp->symlink_data))
2342310490Scy    return FALSE;
2343310490Scy  return TRUE;
2344310490Scy}
2345310490Scy
2346310490Scybool_t
2347310490Scyxdr_am_SYMLINK3args(XDR *xdrs, am_SYMLINK3args *objp)
2348310490Scy{
2349310490Scy  if (amuDebug(D_XDRTRACE))
2350310490Scy    plog(XLOG_DEBUG, "xdr_am_SYMLINK3args:");
2351310490Scy
2352310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->where))
2353310490Scy    return FALSE;
2354310490Scy  if (!xdr_am_symlinkdata3(xdrs, &objp->symlink))
2355310490Scy    return FALSE;
2356310490Scy  return TRUE;
2357310490Scy}
2358310490Scy
2359310490Scybool_t
2360310490Scyxdr_am_SYMLINK3resok(XDR *xdrs, am_SYMLINK3resok *objp)
2361310490Scy{
2362310490Scy  if (amuDebug(D_XDRTRACE))
2363310490Scy    plog(XLOG_DEBUG, "xdr_am_SYMLINK3resok:");
2364310490Scy
2365310490Scy  if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
2366310490Scy    return FALSE;
2367310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2368310490Scy    return FALSE;
2369310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2370310490Scy    return FALSE;
2371310490Scy  return TRUE;
2372310490Scy}
2373310490Scy
2374310490Scybool_t
2375310490Scyxdr_am_SYMLINK3resfail(XDR *xdrs, am_SYMLINK3resfail *objp)
2376310490Scy{
2377310490Scy  if (amuDebug(D_XDRTRACE))
2378310490Scy    plog(XLOG_DEBUG, "xdr_am_SYMLINK3resfail:");
2379310490Scy
2380310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2381310490Scy    return FALSE;
2382310490Scy  return TRUE;
2383310490Scy}
2384310490Scy
2385310490Scybool_t
2386310490Scyxdr_am_SYMLINK3res(XDR *xdrs, am_SYMLINK3res *objp)
2387310490Scy{
2388310490Scy  if (amuDebug(D_XDRTRACE))
2389310490Scy    plog(XLOG_DEBUG, "xdr_am_SYMLINK3res:");
2390310490Scy
2391310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2392310490Scy    return FALSE;
2393310490Scy  switch (objp->status) {
2394310490Scy  case AM_NFS3_OK:
2395310490Scy    if (!xdr_am_SYMLINK3resok(xdrs, &objp->res_u.ok))
2396310490Scy      return FALSE;
2397310490Scy    break;
2398310490Scy  default:
2399310490Scy    if (!xdr_am_SYMLINK3resfail(xdrs, &objp->res_u.fail))
2400310490Scy      return FALSE;
2401310490Scy    break;
2402310490Scy  }
2403310490Scy  return TRUE;
2404310490Scy}
2405310490Scy
2406310490Scybool_t
2407310490Scyxdr_am_READLINK3args(XDR *xdrs, am_READLINK3args *objp)
2408310490Scy{
2409310490Scy  if (amuDebug(D_XDRTRACE))
2410310490Scy    plog(XLOG_DEBUG, "xdr_am_READLINK3args:");
2411310490Scy
2412310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->symlink))
2413310490Scy    return FALSE;
2414310490Scy  return TRUE;
2415310490Scy}
2416310490Scy
2417310490Scybool_t
2418310490Scyxdr_am_READLINK3resok(XDR *xdrs, am_READLINK3resok *objp)
2419310490Scy{
2420310490Scy  if (amuDebug(D_XDRTRACE))
2421310490Scy    plog(XLOG_DEBUG, "xdr_am_READLINK3resok:");
2422310490Scy
2423310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->symlink_attributes))
2424310490Scy    return FALSE;
2425310490Scy  if (!xdr_am_nfspath3(xdrs, &objp->data))
2426310490Scy    return FALSE;
2427310490Scy  return TRUE;
2428310490Scy}
2429310490Scy
2430310490Scybool_t
2431310490Scyxdr_am_READLINK3resfail(XDR *xdrs, am_READLINK3resfail *objp)
2432310490Scy{
2433310490Scy  if (amuDebug(D_XDRTRACE))
2434310490Scy    plog(XLOG_DEBUG, "xdr_am_READLINK3resfail:");
2435310490Scy
2436310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->symlink_attributes))
2437310490Scy    return FALSE;
2438310490Scy  return TRUE;
2439310490Scy}
2440310490Scy
2441310490Scybool_t
2442310490Scyxdr_am_READLINK3res(XDR *xdrs, am_READLINK3res *objp)
2443310490Scy{
2444310490Scy  if (amuDebug(D_XDRTRACE))
2445310490Scy    plog(XLOG_DEBUG, "xdr_am_READLINK3res:");
2446310490Scy
2447310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2448310490Scy    return FALSE;
2449310490Scy  switch (objp->status) {
2450310490Scy  case AM_NFS3_OK:
2451310490Scy    if (!xdr_am_READLINK3resok(xdrs, &objp->res_u.ok))
2452310490Scy      return FALSE;
2453310490Scy    break;
2454310490Scy  default:
2455310490Scy    if (!xdr_am_READLINK3resfail(xdrs, &objp->res_u.fail))
2456310490Scy      return FALSE;
2457310490Scy    break;
2458310490Scy  }
2459310490Scy  return TRUE;
2460310490Scy}
2461310490Scy
2462310490Scybool_t
2463310490Scyxdr_am_devicedata3(XDR *xdrs, am_devicedata3 *objp)
2464310490Scy{
2465310490Scy  if (amuDebug(D_XDRTRACE))
2466310490Scy    plog(XLOG_DEBUG, "xdr_am_devicedata3:");
2467310490Scy
2468310490Scy  if (!xdr_am_sattr3(xdrs, &objp->dev_attributes))
2469310490Scy    return FALSE;
2470310490Scy  if (!xdr_am_specdata3(xdrs, &objp->spec))
2471310490Scy    return FALSE;
2472310490Scy  return TRUE;
2473310490Scy}
2474310490Scy
2475310490Scybool_t
2476310490Scyxdr_am_mknoddata3(XDR *xdrs, am_mknoddata3 *objp)
2477310490Scy{
2478310490Scy  if (amuDebug(D_XDRTRACE))
2479310490Scy    plog(XLOG_DEBUG, "xdr_am_mknoddata3:");
2480310490Scy
2481310490Scy  if (!xdr_am_ftype3(xdrs, &objp->type))
2482310490Scy    return FALSE;
2483310490Scy  switch (objp->type) {
2484310490Scy  case AM_NF3CHR:
2485310490Scy    if (!xdr_am_devicedata3(xdrs, &objp->am_mknoddata3_u.chr_device))
2486310490Scy      return FALSE;
2487310490Scy    break;
2488310490Scy  case AM_NF3BLK:
2489310490Scy    if (!xdr_am_devicedata3(xdrs, &objp->am_mknoddata3_u.blk_device))
2490310490Scy      return FALSE;
2491310490Scy    break;
2492310490Scy  case AM_NF3SOCK:
2493310490Scy    if (!xdr_am_sattr3(xdrs, &objp->am_mknoddata3_u.sock_attributes))
2494310490Scy      return FALSE;
2495310490Scy    break;
2496310490Scy  case AM_NF3FIFO:
2497310490Scy    if (!xdr_am_sattr3(xdrs, &objp->am_mknoddata3_u.pipe_attributes))
2498310490Scy      return FALSE;
2499310490Scy    break;
2500310490Scy  default:
2501310490Scy    break;
2502310490Scy  }
2503310490Scy  return TRUE;
2504310490Scy}
2505310490Scy
2506310490Scybool_t
2507310490Scyxdr_am_MKNOD3args(XDR *xdrs, am_MKNOD3args *objp)
2508310490Scy{
2509310490Scy  if (amuDebug(D_XDRTRACE))
2510310490Scy    plog(XLOG_DEBUG, "xdr_am_MKNOD3args:");
2511310490Scy
2512310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->where))
2513310490Scy    return FALSE;
2514310490Scy  if (!xdr_am_mknoddata3(xdrs, &objp->what))
2515310490Scy    return FALSE;
2516310490Scy  return TRUE;
2517310490Scy}
2518310490Scy
2519310490Scybool_t
2520310490Scyxdr_am_MKNOD3resok(XDR *xdrs, am_MKNOD3resok *objp)
2521310490Scy{
2522310490Scy  if (amuDebug(D_XDRTRACE))
2523310490Scy    plog(XLOG_DEBUG, "xdr_am_MKNOD3resok:");
2524310490Scy
2525310490Scy  if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
2526310490Scy    return FALSE;
2527310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2528310490Scy    return FALSE;
2529310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2530310490Scy    return FALSE;
2531310490Scy  return TRUE;
2532310490Scy}
2533310490Scy
2534310490Scybool_t
2535310490Scyxdr_am_MKNOD3resfail(XDR *xdrs, am_MKNOD3resfail *objp)
2536310490Scy{
2537310490Scy  if (amuDebug(D_XDRTRACE))
2538310490Scy    plog(XLOG_DEBUG, "xdr_am_MKNOD3resfail:");
2539310490Scy
2540310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2541310490Scy    return FALSE;
2542310490Scy  return TRUE;
2543310490Scy}
2544310490Scy
2545310490Scybool_t
2546310490Scyxdr_am_MKNOD3res(XDR *xdrs, am_MKNOD3res *objp)
2547310490Scy{
2548310490Scy  if (amuDebug(D_XDRTRACE))
2549310490Scy    plog(XLOG_DEBUG, ":");
2550310490Scy
2551310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2552310490Scy    return FALSE;
2553310490Scy  switch (objp->status) {
2554310490Scy  case AM_NFS3_OK:
2555310490Scy    if (!xdr_am_MKNOD3resok(xdrs, &objp->res_u.ok))
2556310490Scy      return FALSE;
2557310490Scy    break;
2558310490Scy  default:
2559310490Scy    if (!xdr_am_MKNOD3resfail(xdrs, &objp->res_u.fail))
2560310490Scy      return FALSE;
2561310490Scy    break;
2562310490Scy  }
2563310490Scy  return TRUE;
2564310490Scy}
2565310490Scy
2566310490Scybool_t
2567310490Scyxdr_am_MKDIR3args(XDR *xdrs, am_MKDIR3args *objp)
2568310490Scy{
2569310490Scy  if (amuDebug(D_XDRTRACE))
2570310490Scy    plog(XLOG_DEBUG, ":");
2571310490Scy
2572310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->where))
2573310490Scy    return FALSE;
2574310490Scy  if (!xdr_am_sattr3(xdrs, &objp->attributes))
2575310490Scy    return FALSE;
2576310490Scy  return TRUE;
2577310490Scy}
2578310490Scy
2579310490Scybool_t
2580310490Scyxdr_am_MKDIR3resok(XDR *xdrs, am_MKDIR3resok *objp)
2581310490Scy{
2582310490Scy  if (amuDebug(D_XDRTRACE))
2583310490Scy    plog(XLOG_DEBUG, "xdr_am_MKDIR3resok:");
2584310490Scy
2585310490Scy  if (!xdr_am_post_op_fh3(xdrs, &objp->obj))
2586310490Scy    return FALSE;
2587310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->obj_attributes))
2588310490Scy    return FALSE;
2589310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2590310490Scy    return FALSE;
2591310490Scy  return TRUE;
2592310490Scy}
2593310490Scy
2594310490Scybool_t
2595310490Scyxdr_am_MKDIR3resfail(XDR *xdrs, am_MKDIR3resfail *objp)
2596310490Scy{
2597310490Scy  if (amuDebug(D_XDRTRACE))
2598310490Scy    plog(XLOG_DEBUG, "xdr_am_MKDIR3resfail:");
2599310490Scy
2600310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2601310490Scy    return FALSE;
2602310490Scy  return TRUE;
2603310490Scy}
2604310490Scy
2605310490Scybool_t
2606310490Scyxdr_am_MKDIR3res(XDR *xdrs, am_MKDIR3res *objp)
2607310490Scy{
2608310490Scy  if (amuDebug(D_XDRTRACE))
2609310490Scy    plog(XLOG_DEBUG, "xdr_am_MKDIR3res:");
2610310490Scy
2611310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2612310490Scy    return FALSE;
2613310490Scy  switch (objp->status) {
2614310490Scy  case AM_NFS3_OK:
2615310490Scy    if (!xdr_am_MKDIR3resok(xdrs, &objp->res_u.ok))
2616310490Scy      return FALSE;
2617310490Scy    break;
2618310490Scy  default:
2619310490Scy    if (!xdr_am_MKDIR3resfail(xdrs, &objp->res_u.fail))
2620310490Scy      return FALSE;
2621310490Scy    break;
2622310490Scy  }
2623310490Scy  return TRUE;
2624310490Scy}
2625310490Scy
2626310490Scybool_t
2627310490Scyxdr_am_RMDIR3args(XDR *xdrs, am_RMDIR3args *objp)
2628310490Scy{
2629310490Scy  if (amuDebug(D_XDRTRACE))
2630310490Scy    plog(XLOG_DEBUG, "xdr_am_RMDIR3args:");
2631310490Scy
2632310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->object))
2633310490Scy    return FALSE;
2634310490Scy  return TRUE;
2635310490Scy}
2636310490Scy
2637310490Scybool_t
2638310490Scyxdr_am_RMDIR3resok(XDR *xdrs, am_RMDIR3resok *objp)
2639310490Scy{
2640310490Scy  if (amuDebug(D_XDRTRACE))
2641310490Scy    plog(XLOG_DEBUG, "xdr_am_RMDIR3resok:");
2642310490Scy
2643310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2644310490Scy    return FALSE;
2645310490Scy  return TRUE;
2646310490Scy}
2647310490Scy
2648310490Scybool_t
2649310490Scyxdr_am_RMDIR3resfail(XDR *xdrs, am_RMDIR3resfail *objp)
2650310490Scy{
2651310490Scy  if (amuDebug(D_XDRTRACE))
2652310490Scy    plog(XLOG_DEBUG, "xdr_am_RMDIR3resfail:");
2653310490Scy
2654310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->dir_wcc))
2655310490Scy    return FALSE;
2656310490Scy  return TRUE;
2657310490Scy}
2658310490Scy
2659310490Scybool_t
2660310490Scyxdr_am_RMDIR3res(XDR *xdrs, am_RMDIR3res *objp)
2661310490Scy{
2662310490Scy  if (amuDebug(D_XDRTRACE))
2663310490Scy    plog(XLOG_DEBUG, "xdr_am_RMDIR3res:");
2664310490Scy
2665310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2666310490Scy    return FALSE;
2667310490Scy  switch (objp->status) {
2668310490Scy  case AM_NFS3_OK:
2669310490Scy    if (!xdr_am_RMDIR3resok(xdrs, &objp->res_u.ok))
2670310490Scy      return FALSE;
2671310490Scy    break;
2672310490Scy  default:
2673310490Scy    if (!xdr_am_RMDIR3resfail(xdrs, &objp->res_u.fail))
2674310490Scy      return FALSE;
2675310490Scy    break;
2676310490Scy  }
2677310490Scy  return TRUE;
2678310490Scy}
2679310490Scy
2680310490Scybool_t
2681310490Scyxdr_am_RENAME3args(XDR *xdrs, am_RENAME3args *objp)
2682310490Scy{
2683310490Scy  if (amuDebug(D_XDRTRACE))
2684310490Scy    plog(XLOG_DEBUG, "xdr_am_RENAME3args:");
2685310490Scy
2686310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->from))
2687310490Scy    return FALSE;
2688310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->to))
2689310490Scy    return FALSE;
2690310490Scy  return TRUE;
2691310490Scy}
2692310490Scy
2693310490Scybool_t
2694310490Scyxdr_am_RENAME3resok(XDR *xdrs, am_RENAME3resok *objp)
2695310490Scy{
2696310490Scy  if (amuDebug(D_XDRTRACE))
2697310490Scy    plog(XLOG_DEBUG, "xdr_am_RENAME3resok:");
2698310490Scy
2699310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->fromdir_wcc))
2700310490Scy    return FALSE;
2701310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->todir_wcc))
2702310490Scy    return FALSE;
2703310490Scy  return TRUE;
2704310490Scy}
2705310490Scy
2706310490Scybool_t
2707310490Scyxdr_am_RENAME3resfail(XDR *xdrs, am_RENAME3resfail *objp)
2708310490Scy{
2709310490Scy  if (amuDebug(D_XDRTRACE))
2710310490Scy    plog(XLOG_DEBUG, "xdr_am_RENAME3resfail:");
2711310490Scy
2712310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->fromdir_wcc))
2713310490Scy    return FALSE;
2714310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->todir_wcc))
2715310490Scy    return FALSE;
2716310490Scy  return TRUE;
2717310490Scy}
2718310490Scy
2719310490Scybool_t
2720310490Scyxdr_am_RENAME3res(XDR *xdrs, am_RENAME3res *objp)
2721310490Scy{
2722310490Scy  if (amuDebug(D_XDRTRACE))
2723310490Scy    plog(XLOG_DEBUG, "xdr_am_RENAME3res:");
2724310490Scy
2725310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2726310490Scy    return FALSE;
2727310490Scy  switch (objp->status) {
2728310490Scy  case AM_NFS3_OK:
2729310490Scy    if (!xdr_am_RENAME3resok(xdrs, &objp->res_u.ok))
2730310490Scy      return FALSE;
2731310490Scy    break;
2732310490Scy  default:
2733310490Scy    if (!xdr_am_RENAME3resfail(xdrs, &objp->res_u.fail))
2734310490Scy      return FALSE;
2735310490Scy    break;
2736310490Scy  }
2737310490Scy  return TRUE;
2738310490Scy}
2739310490Scy
2740310490Scybool_t
2741310490Scyxdr_am_READDIRPLUS3args(XDR *xdrs, am_READDIRPLUS3args *objp)
2742310490Scy{
2743310490Scy  if (amuDebug(D_XDRTRACE))
2744310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3args:");
2745310490Scy
2746310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->dir))
2747310490Scy    return FALSE;
2748310490Scy  if (!xdr_am_cookie3(xdrs, &objp->cookie))
2749310490Scy    return FALSE;
2750310490Scy  if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2751310490Scy    return FALSE;
2752310490Scy  if (!xdr_am_count3(xdrs, &objp->dircount))
2753310490Scy    return FALSE;
2754310490Scy  if (!xdr_am_count3(xdrs, &objp->maxcount))
2755310490Scy    return FALSE;
2756310490Scy  return TRUE;
2757310490Scy}
2758310490Scy
2759310490Scybool_t
2760310490Scyxdr_am_entryplus3(XDR *xdrs, am_entryplus3 *objp)
2761310490Scy{
2762310490Scy  if (amuDebug(D_XDRTRACE))
2763310490Scy    plog(XLOG_DEBUG, "xdr_am_entryplus3:");
2764310490Scy
2765310490Scy   if (!xdr_am_fileid3(xdrs, &objp->fileid))
2766310490Scy     return FALSE;
2767310490Scy   if (!xdr_am_filename3(xdrs, &objp->name))
2768310490Scy     return FALSE;
2769310490Scy   if (!xdr_am_cookie3(xdrs, &objp->cookie))
2770310490Scy     return FALSE;
2771310490Scy   if (!xdr_am_post_op_attr(xdrs, &objp->name_attributes))
2772310490Scy     return FALSE;
2773310490Scy   if (!xdr_am_post_op_fh3(xdrs, &objp->name_handle))
2774310490Scy     return FALSE;
2775310490Scy   if (!xdr_pointer(xdrs, (char **)&objp->nextentry,
2776310490Scy                   sizeof(am_entryplus3), (xdrproc_t) xdr_am_entryplus3))
2777310490Scy     return FALSE;
2778310490Scy  return TRUE;
2779310490Scy}
2780310490Scy
2781310490Scybool_t
2782310490Scyxdr_am_dirlistplus3(XDR *xdrs, am_dirlistplus3 *objp)
2783310490Scy{
2784310490Scy  if (amuDebug(D_XDRTRACE))
2785310490Scy    plog(XLOG_DEBUG, "xdr_am_dirlistplus3:");
2786310490Scy
2787310490Scy  if (!xdr_pointer(xdrs, (char **)&objp->entries,
2788310490Scy                   sizeof(am_entryplus3), (xdrproc_t) xdr_am_entryplus3))
2789310490Scy    return FALSE;
2790310490Scy  if (!xdr_bool(xdrs, &objp->eof))
2791310490Scy    return FALSE;
2792310490Scy  return TRUE;
2793310490Scy}
2794310490Scy
2795310490Scybool_t
2796310490Scyxdr_am_READDIRPLUS3resok(XDR *xdrs, am_READDIRPLUS3resok *objp)
2797310490Scy{
2798310490Scy  if (amuDebug(D_XDRTRACE))
2799310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3resok:");
2800310490Scy
2801310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2802310490Scy    return FALSE;
2803310490Scy  if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2804310490Scy    return FALSE;
2805310490Scy  if (!xdr_am_dirlistplus3(xdrs, &objp->reply))
2806310490Scy    return FALSE;
2807310490Scy  return TRUE;
2808310490Scy}
2809310490Scy
2810310490Scybool_t
2811310490Scyxdr_am_READDIRPLUS3resfail(XDR *xdrs, am_READDIRPLUS3resfail *objp)
2812310490Scy{
2813310490Scy  if (amuDebug(D_XDRTRACE))
2814310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3resfail:");
2815310490Scy
2816310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2817310490Scy    return FALSE;
2818310490Scy  return TRUE;
2819310490Scy}
2820310490Scy
2821310490Scybool_t
2822310490Scyxdr_am_READDIRPLUS3res(XDR *xdrs, am_READDIRPLUS3res *objp)
2823310490Scy{
2824310490Scy  if (amuDebug(D_XDRTRACE))
2825310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIRPLUS3res:");
2826310490Scy
2827310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2828310490Scy    return FALSE;
2829310490Scy  switch (objp->status) {
2830310490Scy  case AM_NFS3_OK:
2831310490Scy    if (!xdr_am_READDIRPLUS3resok(xdrs, &objp->res_u.ok))
2832310490Scy      return FALSE;
2833310490Scy    break;
2834310490Scy  default:
2835310490Scy    if (!xdr_am_READDIRPLUS3resfail(xdrs, &objp->res_u.fail))
2836310490Scy      return FALSE;
2837310490Scy    break;
2838310490Scy  }
2839310490Scy  return TRUE;
2840310490Scy}
2841310490Scy
2842310490Scybool_t
2843310490Scyxdr_am_READDIR3args(XDR *xdrs, am_READDIR3args *objp)
2844310490Scy{
2845310490Scy  if (amuDebug(D_XDRTRACE))
2846310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIR3args:");
2847310490Scy
2848310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->dir))
2849310490Scy    return FALSE;
2850310490Scy  if (!xdr_am_cookie3(xdrs, &objp->cookie))
2851310490Scy    return FALSE;
2852310490Scy  if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2853310490Scy    return FALSE;
2854310490Scy  if (!xdr_am_count3(xdrs, &objp->count))
2855310490Scy    return FALSE;
2856310490Scy  return TRUE;
2857310490Scy}
2858310490Scy
2859310490Scybool_t
2860310490Scyxdr_am_entry3(XDR *xdrs, am_entry3 *objp)
2861310490Scy{
2862310490Scy  if (amuDebug(D_XDRTRACE))
2863310490Scy    plog(XLOG_DEBUG, "xdr_am_entry3:");
2864310490Scy
2865310490Scy  if (!xdr_am_fileid3(xdrs, &objp->fileid))
2866310490Scy    return FALSE;
2867310490Scy  if (!xdr_am_filename3(xdrs, &objp->name))
2868310490Scy    return FALSE;
2869310490Scy  if (!xdr_am_cookie3(xdrs, &objp->cookie))
2870310490Scy    return FALSE;
2871310490Scy  if (!xdr_pointer(xdrs, (char **)&objp->nextentry,
2872310490Scy                   sizeof(am_entry3), (xdrproc_t) xdr_am_entry3))
2873310490Scy    return FALSE;
2874310490Scy  return TRUE;
2875310490Scy}
2876310490Scy
2877310490Scybool_t
2878310490Scyxdr_am_dirlist3(XDR *xdrs, am_dirlist3 *objp)
2879310490Scy{
2880310490Scy  if (amuDebug(D_XDRTRACE))
2881310490Scy    plog(XLOG_DEBUG, "xdr_am_dirlist3:");
2882310490Scy
2883310490Scy  if (!xdr_pointer(xdrs, (char **)&objp->entries,
2884310490Scy                   sizeof(am_entry3), (xdrproc_t) xdr_am_entry3))
2885310490Scy    return FALSE;
2886310490Scy  if (!xdr_bool (xdrs, &objp->eof))
2887310490Scy    return FALSE;
2888310490Scy  return TRUE;
2889310490Scy}
2890310490Scy
2891310490Scybool_t
2892310490Scyxdr_am_READDIR3resok(XDR *xdrs, am_READDIR3resok *objp)
2893310490Scy{
2894310490Scy  if (amuDebug(D_XDRTRACE))
2895310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIR3resok:");
2896310490Scy
2897310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2898310490Scy    return FALSE;
2899310490Scy  if (!xdr_am_cookieverf3(xdrs, objp->cookieverf))
2900310490Scy    return FALSE;
2901310490Scy  if (!xdr_am_dirlist3(xdrs, &objp->reply))
2902310490Scy    return FALSE;
2903310490Scy  return TRUE;
2904310490Scy}
2905310490Scy
2906310490Scybool_t
2907310490Scyxdr_am_READDIR3resfail(XDR *xdrs, am_READDIR3resfail *objp)
2908310490Scy{
2909310490Scy  if (amuDebug(D_XDRTRACE))
2910310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIR3resfail:");
2911310490Scy
2912310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->dir_attributes))
2913310490Scy    return FALSE;
2914310490Scy  return TRUE;
2915310490Scy}
2916310490Scy
2917310490Scybool_t
2918310490Scyxdr_am_READDIR3res(XDR *xdrs, am_READDIR3res *objp)
2919310490Scy{
2920310490Scy  if (amuDebug(D_XDRTRACE))
2921310490Scy    plog(XLOG_DEBUG, "xdr_am_READDIR3res:");
2922310490Scy
2923310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2924310490Scy    return FALSE;
2925310490Scy  switch (objp->status) {
2926310490Scy  case AM_NFS3_OK:
2927310490Scy    if (!xdr_am_READDIR3resok(xdrs, &objp->res_u.ok))
2928310490Scy      return FALSE;
2929310490Scy    break;
2930310490Scy  default:
2931310490Scy    if (!xdr_am_READDIR3resfail(xdrs, &objp->res_u.fail))
2932310490Scy      return FALSE;
2933310490Scy    break;
2934310490Scy  }
2935310490Scy  return TRUE;
2936310490Scy}
2937310490Scy
2938310490Scybool_t
2939310490Scyxdr_am_LINK3args(XDR *xdrs, am_LINK3args *objp)
2940310490Scy{
2941310490Scy  if (amuDebug(D_XDRTRACE))
2942310490Scy    plog(XLOG_DEBUG, "xdr_am_LINK3args:");
2943310490Scy
2944310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->file))
2945310490Scy    return FALSE;
2946310490Scy  if (!xdr_am_diropargs3(xdrs, &objp->link))
2947310490Scy    return FALSE;
2948310490Scy  return TRUE;
2949310490Scy}
2950310490Scy
2951310490Scybool_t
2952310490Scyxdr_am_LINK3resok(XDR *xdrs, am_LINK3resok *objp)
2953310490Scy{
2954310490Scy  if (amuDebug(D_XDRTRACE))
2955310490Scy    plog(XLOG_DEBUG, "xdr_am_LINK3resok:");
2956310490Scy
2957310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
2958310490Scy    return FALSE;
2959310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->linkdir_wcc))
2960310490Scy    return FALSE;
2961310490Scy  return TRUE;
2962310490Scy}
2963310490Scy
2964310490Scybool_t
2965310490Scyxdr_am_LINK3resfail(XDR *xdrs, am_LINK3resfail *objp)
2966310490Scy{
2967310490Scy  if (amuDebug(D_XDRTRACE))
2968310490Scy    plog(XLOG_DEBUG, "xdr_am_LINK3resfail:");
2969310490Scy
2970310490Scy  if (!xdr_am_post_op_attr(xdrs, &objp->file_attributes))
2971310490Scy    return FALSE;
2972310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->linkdir_wcc))
2973310490Scy    return FALSE;
2974310490Scy  return TRUE;
2975310490Scy}
2976310490Scy
2977310490Scybool_t
2978310490Scyxdr_am_LINK3res(XDR *xdrs, am_LINK3res *objp)
2979310490Scy{
2980310490Scy  if (amuDebug(D_XDRTRACE))
2981310490Scy    plog(XLOG_DEBUG, "xdr_am_LINK3res:");
2982310490Scy
2983310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
2984310490Scy    return FALSE;
2985310490Scy  switch (objp->status) {
2986310490Scy  case AM_NFS3_OK:
2987310490Scy    if (!xdr_am_LINK3resok(xdrs, &objp->res_u.ok))
2988310490Scy      return FALSE;
2989310490Scy    break;
2990310490Scy  default:
2991310490Scy    if (!xdr_am_LINK3resfail(xdrs, &objp->res_u.fail))
2992310490Scy      return FALSE;
2993310490Scy    break;
2994310490Scy  }
2995310490Scy  return TRUE;
2996310490Scy}
2997310490Scy
2998310490Scybool_t
2999310490Scyxdr_am_sattrguard3(XDR *xdrs, am_sattrguard3 *objp)
3000310490Scy{
3001310490Scy  if (amuDebug(D_XDRTRACE))
3002310490Scy    plog(XLOG_DEBUG, "xdr_am_sattrguard3:");
3003310490Scy
3004310490Scy  if (!xdr_bool(xdrs, &objp->check))
3005310490Scy    return FALSE;
3006310490Scy  switch (objp->check) {
3007310490Scy  case TRUE:
3008310490Scy    if (!xdr_am_nfstime3(xdrs, &objp->am_sattrguard3_u.obj_ctime))
3009310490Scy      return FALSE;
3010310490Scy    break;
3011310490Scy  case FALSE:
3012310490Scy    break;
3013310490Scy  default:
3014310490Scy    return FALSE;
3015310490Scy  }
3016310490Scy  return TRUE;
3017310490Scy}
3018310490Scy
3019310490Scybool_t
3020310490Scyxdr_am_SETATTR3args(XDR *xdrs, am_SETATTR3args *objp)
3021310490Scy{
3022310490Scy  if (amuDebug(D_XDRTRACE))
3023310490Scy    plog(XLOG_DEBUG, "xdr_am_SETATTR3args:");
3024310490Scy
3025310490Scy  if (!xdr_am_nfs_fh3(xdrs, &objp->object))
3026310490Scy    return FALSE;
3027310490Scy  if (!xdr_am_sattr3(xdrs, &objp->new_attributes))
3028310490Scy    return FALSE;
3029310490Scy  if (!xdr_am_sattrguard3(xdrs, &objp->guard))
3030310490Scy    return FALSE;
3031310490Scy  return TRUE;
3032310490Scy}
3033310490Scy
3034310490Scybool_t
3035310490Scyxdr_am_SETATTR3resok(XDR *xdrs, am_SETATTR3resok *objp)
3036310490Scy{
3037310490Scy  if (amuDebug(D_XDRTRACE))
3038310490Scy    plog(XLOG_DEBUG, "xdr_am_SETATTR3resok:");
3039310490Scy
3040310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->obj_wcc))
3041310490Scy    return FALSE;
3042310490Scy  return TRUE;
3043310490Scy}
3044310490Scy
3045310490Scybool_t
3046310490Scyxdr_am_SETATTR3resfail(XDR *xdrs, am_SETATTR3resfail *objp)
3047310490Scy{
3048310490Scy  if (amuDebug(D_XDRTRACE))
3049310490Scy    plog(XLOG_DEBUG, "xdr_am_SETATTR3resfail:");
3050310490Scy
3051310490Scy  if (!xdr_am_wcc_data(xdrs, &objp->obj_wcc))
3052310490Scy    return FALSE;
3053310490Scy  return TRUE;
3054310490Scy}
3055310490Scy
3056310490Scybool_t
3057310490Scyxdr_am_SETATTR3res(XDR *xdrs, am_SETATTR3res *objp)
3058310490Scy{
3059310490Scy  if (amuDebug(D_XDRTRACE))
3060310490Scy    plog(XLOG_DEBUG, "xdr_am_SETATTR3res:");
3061310490Scy
3062310490Scy  if (!xdr_am_nfsstat3(xdrs, &objp->status))
3063310490Scy    return FALSE;
3064310490Scy  switch (objp->status) {
3065310490Scy  case AM_NFS3_OK:
3066310490Scy    if (!xdr_am_SETATTR3resok(xdrs, &objp->res_u.ok))
3067310490Scy      return FALSE;
3068310490Scy    break;
3069310490Scy  default:
3070310490Scy    if (!xdr_am_SETATTR3resfail(xdrs, &objp->res_u.fail))
3071310490Scy      return FALSE;
3072310490Scy    break;
3073310490Scy  }
3074310490Scy  return TRUE;
3075310490Scy}
3076310490Scy#endif /* HAVE_FS_NFS3 */
3077