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