Home | History | Annotate | Download | only in snoop
      1  0  stevel /*
      2  0  stevel  * CDDL HEADER START
      3  0  stevel  *
      4  0  stevel  * The contents of this file are subject to the terms of the
      5  0  stevel  * Common Development and Distribution License, Version 1.0 only
      6  0  stevel  * (the "License").  You may not use this file except in compliance
      7  0  stevel  * with the License.
      8  0  stevel  *
      9  0  stevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10  0  stevel  * or http://www.opensolaris.org/os/licensing.
     11  0  stevel  * See the License for the specific language governing permissions
     12  0  stevel  * and limitations under the License.
     13  0  stevel  *
     14  0  stevel  * When distributing Covered Code, include this CDDL HEADER in each
     15  0  stevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16  0  stevel  * If applicable, add the following below this CDDL HEADER, with the
     17  0  stevel  * fields enclosed by brackets "[]" replaced with your own identifying
     18  0  stevel  * information: Portions Copyright [yyyy] [name of copyright owner]
     19  0  stevel  *
     20  0  stevel  * CDDL HEADER END
     21  0  stevel  */
     22  0  stevel /*
     23  0  stevel  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
     24  0  stevel  * Use is subject to license terms.
     25  0  stevel  */
     26  0  stevel 
     27  0  stevel #pragma ident	"%Z%%M%	%I%	%E% SMI"
     28  0  stevel 
     29  0  stevel /*
     30  0  stevel  * This file was initially generated using rpcgen.  The rpcgen-erated
     31  0  stevel  * code used tail recursion to implement linked lists which resulted
     32  0  stevel  * in various crashes due to blown stacks.  If the NFS4 protocol changes
     33  0  stevel  * be sure to either use the NFS4-friendly rpcgen (doesn't use tail
     34  0  stevel  * recursion) or do the xdr by hand.
     35  0  stevel  *
     36  0  stevel  * CAUTION:  This file is kept in sync with it's uts counterpart:
     37  0  stevel  *
     38  0  stevel  * 	usr/src/uts/common/fs/nfs/nfs4_xdr.c
     39  0  stevel  *
     40  0  stevel  * However, it is not an exact copy.  NEVER copy uts's nfs4_xdr.c
     41  0  stevel  * directly over this file.   Changes from the uts version must be
     42  0  stevel  * integrated by hand into this file.
     43  0  stevel  */
     44  0  stevel 
     45  0  stevel #include <rpcsvc/nfs4_prot.h>
     46  0  stevel #include <nfs/nfs4.h>
     47  0  stevel #include <malloc.h>
     48  0  stevel 
     49  0  stevel #define	IGNORE_RDWR_DATA
     50  0  stevel 
     51  0  stevel extern int nfs4_skip_bytes;
     52  0  stevel 
     53  0  stevel bool_t
     54  0  stevel xdr_nfs_ftype4(register XDR *xdrs, nfs_ftype4 *objp)
     55  0  stevel {
     56  0  stevel 
     57  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
     58  0  stevel 		return (FALSE);
     59  0  stevel 	return (TRUE);
     60  0  stevel }
     61  0  stevel 
     62  0  stevel bool_t
     63  0  stevel xdr_nfsstat4(register XDR *xdrs, nfsstat4 *objp)
     64  0  stevel {
     65  0  stevel 
     66  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
     67  0  stevel 		return (FALSE);
     68  0  stevel 	return (TRUE);
     69  0  stevel }
     70  0  stevel 
     71  0  stevel bool_t
     72  0  stevel xdr_bitmap4(register XDR *xdrs, bitmap4 *objp)
     73  0  stevel {
     74  0  stevel 
     75  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->bitmap4_val,
     76  0  stevel 			(uint_t *)&objp->bitmap4_len, ~0,
     77  0  stevel 			sizeof (uint32_t), (xdrproc_t)xdr_uint32_t))
     78  0  stevel 		return (FALSE);
     79  0  stevel 	return (TRUE);
     80  0  stevel }
     81  0  stevel 
     82  0  stevel bool_t
     83  0  stevel xdr_offset4(register XDR *xdrs, offset4 *objp)
     84  0  stevel {
     85  0  stevel 
     86  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
     87  0  stevel 		return (FALSE);
     88  0  stevel 	return (TRUE);
     89  0  stevel }
     90  0  stevel 
     91  0  stevel bool_t
     92  0  stevel xdr_count4(register XDR *xdrs, count4 *objp)
     93  0  stevel {
     94  0  stevel 
     95  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
     96  0  stevel 		return (FALSE);
     97  0  stevel 	return (TRUE);
     98  0  stevel }
     99  0  stevel 
    100  0  stevel bool_t
    101  0  stevel xdr_length4(register XDR *xdrs, length4 *objp)
    102  0  stevel {
    103  0  stevel 
    104  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    105  0  stevel 		return (FALSE);
    106  0  stevel 	return (TRUE);
    107  0  stevel }
    108  0  stevel 
    109  0  stevel bool_t
    110  0  stevel xdr_clientid4(register XDR *xdrs, clientid4 *objp)
    111  0  stevel {
    112  0  stevel 
    113  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    114  0  stevel 		return (FALSE);
    115  0  stevel 	return (TRUE);
    116  0  stevel }
    117  0  stevel 
    118  0  stevel bool_t
    119  0  stevel xdr_seqid4(register XDR *xdrs, seqid4 *objp)
    120  0  stevel {
    121  0  stevel 
    122  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    123  0  stevel 		return (FALSE);
    124  0  stevel 	return (TRUE);
    125  0  stevel }
    126  0  stevel 
    127  0  stevel bool_t
    128  0  stevel xdr_utf8string(register XDR *xdrs, utf8string *objp)
    129  0  stevel {
    130  0  stevel 
    131  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->utf8string_val,
    132  0  stevel 			(uint_t *)&objp->utf8string_len, NFS4_MAX_UTF8STRING))
    133  0  stevel 		return (FALSE);
    134  0  stevel 	return (TRUE);
    135  0  stevel }
    136  0  stevel 
    137  0  stevel bool_t
    138  0  stevel xdr_component4(register XDR *xdrs, component4 *objp)
    139  0  stevel {
    140  0  stevel 
    141  0  stevel 	if (!xdr_utf8string(xdrs, objp))
    142  0  stevel 		return (FALSE);
    143  0  stevel 	return (TRUE);
    144  0  stevel }
    145  0  stevel 
    146  0  stevel bool_t
    147  0  stevel xdr_pathname4(register XDR *xdrs, pathname4 *objp)
    148  0  stevel {
    149  0  stevel 
    150  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->pathname4_val,
    151  0  stevel 			(uint_t *)&objp->pathname4_len, NFS4_MAX_PATHNAME4,
    152  0  stevel 			sizeof (component4), (xdrproc_t)xdr_component4))
    153  0  stevel 		return (FALSE);
    154  0  stevel 	return (TRUE);
    155  0  stevel }
    156  0  stevel 
    157  0  stevel bool_t
    158  0  stevel xdr_nfs_lockid4(register XDR *xdrs, nfs_lockid4 *objp)
    159  0  stevel {
    160  0  stevel 
    161  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    162  0  stevel 		return (FALSE);
    163  0  stevel 	return (TRUE);
    164  0  stevel }
    165  0  stevel 
    166  0  stevel bool_t
    167  0  stevel xdr_nfs_cookie4(register XDR *xdrs, nfs_cookie4 *objp)
    168  0  stevel {
    169  0  stevel 
    170  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    171  0  stevel 		return (FALSE);
    172  0  stevel 	return (TRUE);
    173  0  stevel }
    174  0  stevel 
    175  0  stevel bool_t
    176  0  stevel xdr_linktext4(register XDR *xdrs, linktext4 *objp)
    177  0  stevel {
    178  0  stevel 
    179  0  stevel 	if (!xdr_utf8string(xdrs, objp))
    180  0  stevel 		return (FALSE);
    181  0  stevel 	return (TRUE);
    182  0  stevel }
    183  0  stevel 
    184  0  stevel bool_t
    185  0  stevel xdr_sec_oid4(register XDR *xdrs, sec_oid4 *objp)
    186  0  stevel {
    187  0  stevel 
    188  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->sec_oid4_val,
    189  0  stevel 			(uint_t *)&objp->sec_oid4_len, NFS4_MAX_SECOID4))
    190  0  stevel 		return (FALSE);
    191  0  stevel 	return (TRUE);
    192  0  stevel }
    193  0  stevel 
    194  0  stevel bool_t
    195  0  stevel xdr_qop4(register XDR *xdrs, qop4 *objp)
    196  0  stevel {
    197  0  stevel 
    198  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    199  0  stevel 		return (FALSE);
    200  0  stevel 	return (TRUE);
    201  0  stevel }
    202  0  stevel 
    203  0  stevel bool_t
    204  0  stevel xdr_mode4(register XDR *xdrs, mode4 *objp)
    205  0  stevel {
    206  0  stevel 
    207  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    208  0  stevel 		return (FALSE);
    209  0  stevel 	return (TRUE);
    210  0  stevel }
    211  0  stevel 
    212  0  stevel bool_t
    213  0  stevel xdr_changeid4(register XDR *xdrs, changeid4 *objp)
    214  0  stevel {
    215  0  stevel 
    216  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    217  0  stevel 		return (FALSE);
    218  0  stevel 	return (TRUE);
    219  0  stevel }
    220  0  stevel 
    221  0  stevel bool_t
    222  0  stevel xdr_verifier4(register XDR *xdrs, verifier4 objp)
    223  0  stevel {
    224  0  stevel 
    225  0  stevel 	if (!xdr_opaque(xdrs, objp, NFS4_VERIFIER_SIZE))
    226  0  stevel 		return (FALSE);
    227  0  stevel 	return (TRUE);
    228  0  stevel }
    229  0  stevel 
    230  0  stevel bool_t
    231  0  stevel xdr_nfstime4(register XDR *xdrs, nfstime4 *objp)
    232  0  stevel {
    233  0  stevel 
    234  0  stevel 	if (!xdr_int64_t(xdrs, &objp->seconds))
    235  0  stevel 		return (FALSE);
    236  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->nseconds))
    237  0  stevel 		return (FALSE);
    238  0  stevel 	return (TRUE);
    239  0  stevel }
    240  0  stevel 
    241  0  stevel bool_t
    242  0  stevel xdr_time_how4(register XDR *xdrs, time_how4 *objp)
    243  0  stevel {
    244  0  stevel 
    245  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
    246  0  stevel 		return (FALSE);
    247  0  stevel 	return (TRUE);
    248  0  stevel }
    249  0  stevel 
    250  0  stevel bool_t
    251  0  stevel xdr_settime4(register XDR *xdrs, settime4 *objp)
    252  0  stevel {
    253  0  stevel 
    254  0  stevel 	if (!xdr_time_how4(xdrs, &objp->set_it))
    255  0  stevel 		return (FALSE);
    256  0  stevel 	switch (objp->set_it) {
    257  0  stevel 	case SET_TO_CLIENT_TIME4:
    258  0  stevel 		if (!xdr_nfstime4(xdrs, &objp->settime4_u.time))
    259  0  stevel 			return (FALSE);
    260  0  stevel 		break;
    261  0  stevel 	}
    262  0  stevel 	return (TRUE);
    263  0  stevel }
    264  0  stevel 
    265  0  stevel bool_t
    266  0  stevel xdr_nfs_fh4(register XDR *xdrs, nfs_fh4 *objp)
    267  0  stevel {
    268  0  stevel 
    269  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->nfs_fh4_val,
    270  0  stevel 			(uint_t *)&objp->nfs_fh4_len, NFS4_FHSIZE))
    271  0  stevel 		return (FALSE);
    272  0  stevel 	return (TRUE);
    273  0  stevel }
    274  0  stevel 
    275  0  stevel bool_t
    276  0  stevel xdr_fsid4(register XDR *xdrs, fsid4 *objp)
    277  0  stevel {
    278  0  stevel 
    279  0  stevel 	if (!xdr_uint64_t(xdrs, &objp->major))
    280  0  stevel 		return (FALSE);
    281  0  stevel 	if (!xdr_uint64_t(xdrs, &objp->minor))
    282  0  stevel 		return (FALSE);
    283  0  stevel 	return (TRUE);
    284  0  stevel }
    285  0  stevel 
    286  0  stevel bool_t
    287  0  stevel xdr_fs_location4(register XDR *xdrs, fs_location4 *objp)
    288  0  stevel {
    289  0  stevel 
    290  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->server.server_val,
    291  0  stevel 			(uint_t *)&objp->server.server_len, ~0,
    292  0  stevel 			sizeof (utf8string), (xdrproc_t)xdr_utf8string))
    293  0  stevel 		return (FALSE);
    294  0  stevel 	if (!xdr_pathname4(xdrs, &objp->rootpath))
    295  0  stevel 		return (FALSE);
    296  0  stevel 	return (TRUE);
    297  0  stevel }
    298  0  stevel 
    299  0  stevel bool_t
    300  0  stevel xdr_fs_locations4(register XDR *xdrs, fs_locations4 *objp)
    301  0  stevel {
    302  0  stevel 
    303  0  stevel 	if (!xdr_pathname4(xdrs, &objp->fs_root))
    304  0  stevel 		return (FALSE);
    305  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->locations.locations_val,
    306  0  stevel 			(uint_t *)&objp->locations.locations_len, ~0,
    307  0  stevel 			sizeof (fs_location4), (xdrproc_t)xdr_fs_location4))
    308  0  stevel 		return (FALSE);
    309  0  stevel 	return (TRUE);
    310  0  stevel }
    311  0  stevel 
    312  0  stevel bool_t
    313  0  stevel xdr_acetype4(register XDR *xdrs, acetype4 *objp)
    314  0  stevel {
    315  0  stevel 
    316  0  stevel 	if (!xdr_u_int(xdrs, objp))
    317  0  stevel 		return (FALSE);
    318  0  stevel 	return (TRUE);
    319  0  stevel }
    320  0  stevel 
    321  0  stevel bool_t
    322  0  stevel xdr_aceflag4(register XDR *xdrs, aceflag4 *objp)
    323  0  stevel {
    324  0  stevel 
    325  0  stevel 	if (!xdr_u_int(xdrs, objp))
    326  0  stevel 		return (FALSE);
    327  0  stevel 	return (TRUE);
    328  0  stevel }
    329  0  stevel 
    330  0  stevel bool_t
    331  0  stevel xdr_acemask4(register XDR *xdrs, acemask4 *objp)
    332  0  stevel {
    333  0  stevel 
    334  0  stevel 	if (!xdr_u_int(xdrs, objp))
    335  0  stevel 		return (FALSE);
    336  0  stevel 	return (TRUE);
    337  0  stevel }
    338  0  stevel 
    339  0  stevel bool_t
    340  0  stevel xdr_nfsace4(register XDR *xdrs, nfsace4 *objp)
    341  0  stevel {
    342  0  stevel 	if (!xdr_acetype4(xdrs, &objp->type))
    343  0  stevel 		return (FALSE);
    344  0  stevel 	if (!xdr_aceflag4(xdrs, &objp->flag))
    345  0  stevel 		return (FALSE);
    346  0  stevel 	if (!xdr_acemask4(xdrs, &objp->access_mask))
    347  0  stevel 		return (FALSE);
    348  0  stevel 	if (xdrs->x_op == XDR_DECODE) {
    349  0  stevel 		objp->who.utf8string_val = NULL;
    350  0  stevel 		objp->who.utf8string_len = 0;
    351  0  stevel 	}
    352  0  stevel 	return (xdr_bytes(xdrs, (char **)&objp->who.utf8string_val,
    353  0  stevel 	    (uint_t *)&objp->who.utf8string_len,
    354  0  stevel 	    NFS4_MAX_UTF8STRING));
    355  0  stevel }
    356  0  stevel 
    357  0  stevel bool_t
    358  0  stevel xdr_specdata4(register XDR *xdrs, specdata4 *objp)
    359  0  stevel {
    360  0  stevel 
    361  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->specdata1))
    362  0  stevel 		return (FALSE);
    363  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->specdata2))
    364  0  stevel 		return (FALSE);
    365  0  stevel 	return (TRUE);
    366  0  stevel }
    367  0  stevel 
    368  0  stevel bool_t
    369  0  stevel xdr_fattr4_supported_attrs(register XDR *xdrs, fattr4_supported_attrs *objp)
    370  0  stevel {
    371  0  stevel 
    372  0  stevel 	if (!xdr_bitmap4(xdrs, objp))
    373  0  stevel 		return (FALSE);
    374  0  stevel 	return (TRUE);
    375  0  stevel }
    376  0  stevel 
    377  0  stevel bool_t
    378  0  stevel xdr_fattr4_type(register XDR *xdrs, fattr4_type *objp)
    379  0  stevel {
    380  0  stevel 
    381  0  stevel 	if (!xdr_nfs_ftype4(xdrs, objp))
    382  0  stevel 		return (FALSE);
    383  0  stevel 	return (TRUE);
    384  0  stevel }
    385  0  stevel 
    386  0  stevel bool_t
    387  0  stevel xdr_fattr4_fh_expire_type(register XDR *xdrs, fattr4_fh_expire_type *objp)
    388  0  stevel {
    389  0  stevel 
    390  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    391  0  stevel 		return (FALSE);
    392  0  stevel 	return (TRUE);
    393  0  stevel }
    394  0  stevel 
    395  0  stevel bool_t
    396  0  stevel xdr_fattr4_change(register XDR *xdrs, fattr4_change *objp)
    397  0  stevel {
    398  0  stevel 
    399  0  stevel 	if (!xdr_changeid4(xdrs, objp))
    400  0  stevel 		return (FALSE);
    401  0  stevel 	return (TRUE);
    402  0  stevel }
    403  0  stevel 
    404  0  stevel bool_t
    405  0  stevel xdr_fattr4_size(register XDR *xdrs, fattr4_size *objp)
    406  0  stevel {
    407  0  stevel 
    408  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    409  0  stevel 		return (FALSE);
    410  0  stevel 	return (TRUE);
    411  0  stevel }
    412  0  stevel 
    413  0  stevel bool_t
    414  0  stevel xdr_fattr4_link_support(register XDR *xdrs, fattr4_link_support *objp)
    415  0  stevel {
    416  0  stevel 
    417  0  stevel 	if (!xdr_bool(xdrs, objp))
    418  0  stevel 		return (FALSE);
    419  0  stevel 	return (TRUE);
    420  0  stevel }
    421  0  stevel 
    422  0  stevel bool_t
    423  0  stevel xdr_fattr4_symlink_support(register XDR *xdrs, fattr4_symlink_support *objp)
    424  0  stevel {
    425  0  stevel 
    426  0  stevel 	if (!xdr_bool(xdrs, objp))
    427  0  stevel 		return (FALSE);
    428  0  stevel 	return (TRUE);
    429  0  stevel }
    430  0  stevel 
    431  0  stevel bool_t
    432  0  stevel xdr_fattr4_named_attr(register XDR *xdrs, fattr4_named_attr *objp)
    433  0  stevel {
    434  0  stevel 
    435  0  stevel 	if (!xdr_bool(xdrs, objp))
    436  0  stevel 		return (FALSE);
    437  0  stevel 	return (TRUE);
    438  0  stevel }
    439  0  stevel 
    440  0  stevel bool_t
    441  0  stevel xdr_fattr4_fsid(register XDR *xdrs, fattr4_fsid *objp)
    442  0  stevel {
    443  0  stevel 
    444  0  stevel 	if (!xdr_fsid4(xdrs, objp))
    445  0  stevel 		return (FALSE);
    446  0  stevel 	return (TRUE);
    447  0  stevel }
    448  0  stevel 
    449  0  stevel bool_t
    450  0  stevel xdr_fattr4_unique_handles(register XDR *xdrs, fattr4_unique_handles *objp)
    451  0  stevel {
    452  0  stevel 
    453  0  stevel 	if (!xdr_bool(xdrs, objp))
    454  0  stevel 		return (FALSE);
    455  0  stevel 	return (TRUE);
    456  0  stevel }
    457  0  stevel 
    458  0  stevel bool_t
    459  0  stevel xdr_fattr4_lease_time(register XDR *xdrs, fattr4_lease_time *objp)
    460  0  stevel {
    461  0  stevel 
    462  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    463  0  stevel 		return (FALSE);
    464  0  stevel 	return (TRUE);
    465  0  stevel }
    466  0  stevel 
    467  0  stevel bool_t
    468  0  stevel xdr_fattr4_rdattr_error(register XDR *xdrs, fattr4_rdattr_error *objp)
    469  0  stevel {
    470  0  stevel 
    471  0  stevel 	if (!xdr_nfsstat4(xdrs, objp))
    472  0  stevel 		return (FALSE);
    473  0  stevel 	return (TRUE);
    474  0  stevel }
    475  0  stevel 
    476  0  stevel bool_t
    477  0  stevel xdr_fattr4_acl(register XDR *xdrs, fattr4_acl *objp)
    478  0  stevel {
    479  0  stevel 
    480  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->fattr4_acl_val,
    481  0  stevel 			(uint_t *)&objp->fattr4_acl_len, ~0,
    482  0  stevel 			sizeof (nfsace4), (xdrproc_t)xdr_nfsace4))
    483  0  stevel 		return (FALSE);
    484  0  stevel 	return (TRUE);
    485  0  stevel }
    486  0  stevel 
    487  0  stevel bool_t
    488  0  stevel xdr_fattr4_aclsupport(register XDR *xdrs, fattr4_aclsupport *objp)
    489  0  stevel {
    490  0  stevel 
    491  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    492  0  stevel 		return (FALSE);
    493  0  stevel 	return (TRUE);
    494  0  stevel }
    495  0  stevel 
    496  0  stevel bool_t
    497  0  stevel xdr_fattr4_archive(register XDR *xdrs, fattr4_archive *objp)
    498  0  stevel {
    499  0  stevel 
    500  0  stevel 	if (!xdr_bool(xdrs, objp))
    501  0  stevel 		return (FALSE);
    502  0  stevel 	return (TRUE);
    503  0  stevel }
    504  0  stevel 
    505  0  stevel bool_t
    506  0  stevel xdr_fattr4_cansettime(register XDR *xdrs, fattr4_cansettime *objp)
    507  0  stevel {
    508  0  stevel 
    509  0  stevel 	if (!xdr_bool(xdrs, objp))
    510  0  stevel 		return (FALSE);
    511  0  stevel 	return (TRUE);
    512  0  stevel }
    513  0  stevel 
    514  0  stevel bool_t
    515  0  stevel xdr_fattr4_case_insensitive(register XDR *xdrs, fattr4_case_insensitive *objp)
    516  0  stevel {
    517  0  stevel 
    518  0  stevel 	if (!xdr_bool(xdrs, objp))
    519  0  stevel 		return (FALSE);
    520  0  stevel 	return (TRUE);
    521  0  stevel }
    522  0  stevel 
    523  0  stevel bool_t
    524  0  stevel xdr_fattr4_case_preserving(register XDR *xdrs, fattr4_case_preserving *objp)
    525  0  stevel {
    526  0  stevel 
    527  0  stevel 	if (!xdr_bool(xdrs, objp))
    528  0  stevel 		return (FALSE);
    529  0  stevel 	return (TRUE);
    530  0  stevel }
    531  0  stevel 
    532  0  stevel bool_t
    533  0  stevel xdr_fattr4_chown_restricted(register XDR *xdrs, fattr4_chown_restricted *objp)
    534  0  stevel {
    535  0  stevel 
    536  0  stevel 	if (!xdr_bool(xdrs, objp))
    537  0  stevel 		return (FALSE);
    538  0  stevel 	return (TRUE);
    539  0  stevel }
    540  0  stevel 
    541  0  stevel bool_t
    542  0  stevel xdr_fattr4_fileid(register XDR *xdrs, fattr4_fileid *objp)
    543  0  stevel {
    544  0  stevel 
    545  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    546  0  stevel 		return (FALSE);
    547  0  stevel 	return (TRUE);
    548  0  stevel }
    549  0  stevel 
    550  0  stevel bool_t
    551  0  stevel xdr_fattr4_files_avail(register XDR *xdrs, fattr4_files_avail *objp)
    552  0  stevel {
    553  0  stevel 
    554  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    555  0  stevel 		return (FALSE);
    556  0  stevel 	return (TRUE);
    557  0  stevel }
    558  0  stevel 
    559  0  stevel bool_t
    560  0  stevel xdr_fattr4_filehandle(register XDR *xdrs, fattr4_filehandle *objp)
    561  0  stevel {
    562  0  stevel 
    563  0  stevel 	if (!xdr_nfs_fh4(xdrs, objp))
    564  0  stevel 		return (FALSE);
    565  0  stevel 	return (TRUE);
    566  0  stevel }
    567  0  stevel 
    568  0  stevel bool_t
    569  0  stevel xdr_fattr4_files_free(register XDR *xdrs, fattr4_files_free *objp)
    570  0  stevel {
    571  0  stevel 
    572  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    573  0  stevel 		return (FALSE);
    574  0  stevel 	return (TRUE);
    575  0  stevel }
    576  0  stevel 
    577  0  stevel bool_t
    578  0  stevel xdr_fattr4_files_total(register XDR *xdrs, fattr4_files_total *objp)
    579  0  stevel {
    580  0  stevel 
    581  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    582  0  stevel 		return (FALSE);
    583  0  stevel 	return (TRUE);
    584  0  stevel }
    585  0  stevel 
    586  0  stevel bool_t
    587  0  stevel xdr_fattr4_fs_locations(register XDR *xdrs, fattr4_fs_locations *objp)
    588  0  stevel {
    589  0  stevel 
    590  0  stevel 	if (!xdr_fs_locations4(xdrs, objp))
    591  0  stevel 		return (FALSE);
    592  0  stevel 	return (TRUE);
    593  0  stevel }
    594  0  stevel 
    595  0  stevel bool_t
    596  0  stevel xdr_fattr4_hidden(register XDR *xdrs, fattr4_hidden *objp)
    597  0  stevel {
    598  0  stevel 
    599  0  stevel 	if (!xdr_bool(xdrs, objp))
    600  0  stevel 		return (FALSE);
    601  0  stevel 	return (TRUE);
    602  0  stevel }
    603  0  stevel 
    604  0  stevel bool_t
    605  0  stevel xdr_fattr4_homogeneous(register XDR *xdrs, fattr4_homogeneous *objp)
    606  0  stevel {
    607  0  stevel 
    608  0  stevel 	if (!xdr_bool(xdrs, objp))
    609  0  stevel 		return (FALSE);
    610  0  stevel 	return (TRUE);
    611  0  stevel }
    612  0  stevel 
    613  0  stevel bool_t
    614  0  stevel xdr_fattr4_maxfilesize(register XDR *xdrs, fattr4_maxfilesize *objp)
    615  0  stevel {
    616  0  stevel 
    617  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    618  0  stevel 		return (FALSE);
    619  0  stevel 	return (TRUE);
    620  0  stevel }
    621  0  stevel 
    622  0  stevel bool_t
    623  0  stevel xdr_fattr4_maxlink(register XDR *xdrs, fattr4_maxlink *objp)
    624  0  stevel {
    625  0  stevel 
    626  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    627  0  stevel 		return (FALSE);
    628  0  stevel 	return (TRUE);
    629  0  stevel }
    630  0  stevel 
    631  0  stevel bool_t
    632  0  stevel xdr_fattr4_maxname(register XDR *xdrs, fattr4_maxname *objp)
    633  0  stevel {
    634  0  stevel 
    635  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    636  0  stevel 		return (FALSE);
    637  0  stevel 	return (TRUE);
    638  0  stevel }
    639  0  stevel 
    640  0  stevel bool_t
    641  0  stevel xdr_fattr4_maxread(register XDR *xdrs, fattr4_maxread *objp)
    642  0  stevel {
    643  0  stevel 
    644  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    645  0  stevel 		return (FALSE);
    646  0  stevel 	return (TRUE);
    647  0  stevel }
    648  0  stevel 
    649  0  stevel bool_t
    650  0  stevel xdr_fattr4_maxwrite(register XDR *xdrs, fattr4_maxwrite *objp)
    651  0  stevel {
    652  0  stevel 
    653  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    654  0  stevel 		return (FALSE);
    655  0  stevel 	return (TRUE);
    656  0  stevel }
    657  0  stevel 
    658  0  stevel bool_t
    659  0  stevel xdr_fattr4_mimetype(register XDR *xdrs, fattr4_mimetype *objp)
    660  0  stevel {
    661  0  stevel 
    662  0  stevel 	if (!xdr_utf8string(xdrs, objp))
    663  0  stevel 		return (FALSE);
    664  0  stevel 	return (TRUE);
    665  0  stevel }
    666  0  stevel 
    667  0  stevel bool_t
    668  0  stevel xdr_fattr4_mode(register XDR *xdrs, fattr4_mode *objp)
    669  0  stevel {
    670  0  stevel 
    671  0  stevel 	if (!xdr_mode4(xdrs, objp))
    672  0  stevel 		return (FALSE);
    673  0  stevel 	return (TRUE);
    674  0  stevel }
    675  0  stevel 
    676  0  stevel bool_t
    677  0  stevel xdr_fattr4_mounted_on_fileid(register XDR *xdrs, fattr4_mounted_on_fileid *objp)
    678  0  stevel {
    679  0  stevel 
    680  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    681  0  stevel 		return (FALSE);
    682  0  stevel 	return (TRUE);
    683  0  stevel }
    684  0  stevel 
    685  0  stevel bool_t
    686  0  stevel xdr_fattr4_no_trunc(register XDR *xdrs, fattr4_no_trunc *objp)
    687  0  stevel {
    688  0  stevel 
    689  0  stevel 	if (!xdr_bool(xdrs, objp))
    690  0  stevel 		return (FALSE);
    691  0  stevel 	return (TRUE);
    692  0  stevel }
    693  0  stevel 
    694  0  stevel bool_t
    695  0  stevel xdr_fattr4_numlinks(register XDR *xdrs, fattr4_numlinks *objp)
    696  0  stevel {
    697  0  stevel 
    698  0  stevel 	if (!xdr_uint32_t(xdrs, objp))
    699  0  stevel 		return (FALSE);
    700  0  stevel 	return (TRUE);
    701  0  stevel }
    702  0  stevel 
    703  0  stevel bool_t
    704  0  stevel xdr_fattr4_owner(register XDR *xdrs, fattr4_owner *objp)
    705  0  stevel {
    706  0  stevel 
    707  0  stevel 	if (!xdr_utf8string(xdrs, objp))
    708  0  stevel 		return (FALSE);
    709  0  stevel 	return (TRUE);
    710  0  stevel }
    711  0  stevel 
    712  0  stevel bool_t
    713  0  stevel xdr_fattr4_owner_group(register XDR *xdrs, fattr4_owner_group *objp)
    714  0  stevel {
    715  0  stevel 
    716  0  stevel 	if (!xdr_utf8string(xdrs, objp))
    717  0  stevel 		return (FALSE);
    718  0  stevel 	return (TRUE);
    719  0  stevel }
    720  0  stevel 
    721  0  stevel bool_t
    722  0  stevel xdr_fattr4_quota_avail_hard(register XDR *xdrs, fattr4_quota_avail_hard *objp)
    723  0  stevel {
    724  0  stevel 
    725  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    726  0  stevel 		return (FALSE);
    727  0  stevel 	return (TRUE);
    728  0  stevel }
    729  0  stevel 
    730  0  stevel bool_t
    731  0  stevel xdr_fattr4_quota_avail_soft(register XDR *xdrs, fattr4_quota_avail_soft *objp)
    732  0  stevel {
    733  0  stevel 
    734  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    735  0  stevel 		return (FALSE);
    736  0  stevel 	return (TRUE);
    737  0  stevel }
    738  0  stevel 
    739  0  stevel bool_t
    740  0  stevel xdr_fattr4_quota_used(register XDR *xdrs, fattr4_quota_used *objp)
    741  0  stevel {
    742  0  stevel 
    743  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    744  0  stevel 		return (FALSE);
    745  0  stevel 	return (TRUE);
    746  0  stevel }
    747  0  stevel 
    748  0  stevel bool_t
    749  0  stevel xdr_fattr4_rawdev(register XDR *xdrs, fattr4_rawdev *objp)
    750  0  stevel {
    751  0  stevel 
    752  0  stevel 	if (!xdr_specdata4(xdrs, objp))
    753  0  stevel 		return (FALSE);
    754  0  stevel 	return (TRUE);
    755  0  stevel }
    756  0  stevel 
    757  0  stevel bool_t
    758  0  stevel xdr_fattr4_space_avail(register XDR *xdrs, fattr4_space_avail *objp)
    759  0  stevel {
    760  0  stevel 
    761  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    762  0  stevel 		return (FALSE);
    763  0  stevel 	return (TRUE);
    764  0  stevel }
    765  0  stevel 
    766  0  stevel bool_t
    767  0  stevel xdr_fattr4_space_free(register XDR *xdrs, fattr4_space_free *objp)
    768  0  stevel {
    769  0  stevel 
    770  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    771  0  stevel 		return (FALSE);
    772  0  stevel 	return (TRUE);
    773  0  stevel }
    774  0  stevel 
    775  0  stevel bool_t
    776  0  stevel xdr_fattr4_space_total(register XDR *xdrs, fattr4_space_total *objp)
    777  0  stevel {
    778  0  stevel 
    779  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    780  0  stevel 		return (FALSE);
    781  0  stevel 	return (TRUE);
    782  0  stevel }
    783  0  stevel 
    784  0  stevel bool_t
    785  0  stevel xdr_fattr4_space_used(register XDR *xdrs, fattr4_space_used *objp)
    786  0  stevel {
    787  0  stevel 
    788  0  stevel 	if (!xdr_uint64_t(xdrs, objp))
    789  0  stevel 		return (FALSE);
    790  0  stevel 	return (TRUE);
    791  0  stevel }
    792  0  stevel 
    793  0  stevel bool_t
    794  0  stevel xdr_fattr4_system(register XDR *xdrs, fattr4_system *objp)
    795  0  stevel {
    796  0  stevel 
    797  0  stevel 	if (!xdr_bool(xdrs, objp))
    798  0  stevel 		return (FALSE);
    799  0  stevel 	return (TRUE);
    800  0  stevel }
    801  0  stevel 
    802  0  stevel bool_t
    803  0  stevel xdr_fattr4_time_access(register XDR *xdrs, fattr4_time_access *objp)
    804  0  stevel {
    805  0  stevel 
    806  0  stevel 	if (!xdr_nfstime4(xdrs, objp))
    807  0  stevel 		return (FALSE);
    808  0  stevel 	return (TRUE);
    809  0  stevel }
    810  0  stevel 
    811  0  stevel bool_t
    812  0  stevel xdr_fattr4_time_access_set(register XDR *xdrs, fattr4_time_access_set *objp)
    813  0  stevel {
    814  0  stevel 
    815  0  stevel 	if (!xdr_settime4(xdrs, objp))
    816  0  stevel 		return (FALSE);
    817  0  stevel 	return (TRUE);
    818  0  stevel }
    819  0  stevel 
    820  0  stevel bool_t
    821  0  stevel xdr_fattr4_time_backup(register XDR *xdrs, fattr4_time_backup *objp)
    822  0  stevel {
    823  0  stevel 
    824  0  stevel 	if (!xdr_nfstime4(xdrs, objp))
    825  0  stevel 		return (FALSE);
    826  0  stevel 	return (TRUE);
    827  0  stevel }
    828  0  stevel 
    829  0  stevel bool_t
    830  0  stevel xdr_fattr4_time_create(register XDR *xdrs, fattr4_time_create *objp)
    831  0  stevel {
    832  0  stevel 
    833  0  stevel 	if (!xdr_nfstime4(xdrs, objp))
    834  0  stevel 		return (FALSE);
    835  0  stevel 	return (TRUE);
    836  0  stevel }
    837  0  stevel 
    838  0  stevel bool_t
    839  0  stevel xdr_fattr4_time_delta(register XDR *xdrs, fattr4_time_delta *objp)
    840  0  stevel {
    841  0  stevel 
    842  0  stevel 	if (!xdr_nfstime4(xdrs, objp))
    843  0  stevel 		return (FALSE);
    844  0  stevel 	return (TRUE);
    845  0  stevel }
    846  0  stevel 
    847  0  stevel bool_t
    848  0  stevel xdr_fattr4_time_metadata(register XDR *xdrs, fattr4_time_metadata *objp)
    849  0  stevel {
    850  0  stevel 
    851  0  stevel 	if (!xdr_nfstime4(xdrs, objp))
    852  0  stevel 		return (FALSE);
    853  0  stevel 	return (TRUE);
    854  0  stevel }
    855  0  stevel 
    856  0  stevel bool_t
    857  0  stevel xdr_fattr4_time_modify(register XDR *xdrs, fattr4_time_modify *objp)
    858  0  stevel {
    859  0  stevel 
    860  0  stevel 	if (!xdr_nfstime4(xdrs, objp))
    861  0  stevel 		return (FALSE);
    862  0  stevel 	return (TRUE);
    863  0  stevel }
    864  0  stevel 
    865  0  stevel bool_t
    866  0  stevel xdr_fattr4_time_modify_set(register XDR *xdrs, fattr4_time_modify_set *objp)
    867  0  stevel {
    868  0  stevel 
    869  0  stevel 	if (!xdr_settime4(xdrs, objp))
    870  0  stevel 		return (FALSE);
    871  0  stevel 	return (TRUE);
    872  0  stevel }
    873  0  stevel 
    874  0  stevel bool_t
    875  0  stevel xdr_attrlist4(register XDR *xdrs, attrlist4 *objp)
    876  0  stevel {
    877  0  stevel 
    878  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->attrlist4_val,
    879  0  stevel 			(uint_t *)&objp->attrlist4_len, ~0))
    880  0  stevel 		return (FALSE);
    881  0  stevel 	return (TRUE);
    882  0  stevel }
    883  0  stevel 
    884  0  stevel bool_t
    885  0  stevel xdr_fattr4(register XDR *xdrs, fattr4 *objp)
    886  0  stevel {
    887  0  stevel 
    888  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attrmask))
    889  0  stevel 		return (FALSE);
    890  0  stevel 	if (!xdr_attrlist4(xdrs, &objp->attr_vals))
    891  0  stevel 		return (FALSE);
    892  0  stevel 	return (TRUE);
    893  0  stevel }
    894  0  stevel 
    895  0  stevel bool_t
    896  0  stevel xdr_change_info4(register XDR *xdrs, change_info4 *objp)
    897  0  stevel {
    898  0  stevel 
    899  0  stevel 	if (!xdr_bool(xdrs, &objp->atomic))
    900  0  stevel 		return (FALSE);
    901  0  stevel 	if (!xdr_changeid4(xdrs, &objp->before))
    902  0  stevel 		return (FALSE);
    903  0  stevel 	if (!xdr_changeid4(xdrs, &objp->after))
    904  0  stevel 		return (FALSE);
    905  0  stevel 	return (TRUE);
    906  0  stevel }
    907  0  stevel 
    908  0  stevel bool_t
    909  0  stevel xdr_clientaddr4(register XDR *xdrs, clientaddr4 *objp)
    910  0  stevel {
    911  0  stevel 
    912  0  stevel 	if (!xdr_string(xdrs, &objp->r_netid, ~0))
    913  0  stevel 		return (FALSE);
    914  0  stevel 	if (!xdr_string(xdrs, &objp->r_addr, ~0))
    915  0  stevel 		return (FALSE);
    916  0  stevel 	return (TRUE);
    917  0  stevel }
    918  0  stevel 
    919  0  stevel bool_t
    920  0  stevel xdr_cb_client4(register XDR *xdrs, cb_client4 *objp)
    921  0  stevel {
    922  0  stevel 
    923  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->cb_program))
    924  0  stevel 		return (FALSE);
    925  0  stevel 	if (!xdr_clientaddr4(xdrs, &objp->cb_location))
    926  0  stevel 		return (FALSE);
    927  0  stevel 	return (TRUE);
    928  0  stevel }
    929  0  stevel 
    930  0  stevel bool_t
    931  0  stevel xdr_stateid4(register XDR *xdrs, stateid4 *objp)
    932  0  stevel {
    933  0  stevel 
    934  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->seqid))
    935  0  stevel 		return (FALSE);
    936  0  stevel 	if (!xdr_opaque(xdrs, objp->other, 12))
    937  0  stevel 		return (FALSE);
    938  0  stevel 	return (TRUE);
    939  0  stevel }
    940  0  stevel 
    941  0  stevel bool_t
    942  0  stevel xdr_nfs_client_id4(register XDR *xdrs, nfs_client_id4 *objp)
    943  0  stevel {
    944  0  stevel 
    945  0  stevel 	if (!xdr_verifier4(xdrs, objp->verifier))
    946  0  stevel 		return (FALSE);
    947  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->id.id_val,
    948  0  stevel 			(uint_t *)&objp->id.id_len, NFS4_OPAQUE_LIMIT))
    949  0  stevel 		return (FALSE);
    950  0  stevel 	return (TRUE);
    951  0  stevel }
    952  0  stevel 
    953  0  stevel bool_t
    954  0  stevel xdr_open_owner4(register XDR *xdrs, open_owner4 *objp)
    955  0  stevel {
    956  0  stevel 
    957  0  stevel 	if (!xdr_clientid4(xdrs, &objp->clientid))
    958  0  stevel 		return (FALSE);
    959  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->owner.owner_val,
    960  0  stevel 			(uint_t *)&objp->owner.owner_len, NFS4_OPAQUE_LIMIT))
    961  0  stevel 		return (FALSE);
    962  0  stevel 	return (TRUE);
    963  0  stevel }
    964  0  stevel 
    965  0  stevel bool_t
    966  0  stevel xdr_lock_owner4(register XDR *xdrs, lock_owner4 *objp)
    967  0  stevel {
    968  0  stevel 
    969  0  stevel 	if (!xdr_clientid4(xdrs, &objp->clientid))
    970  0  stevel 		return (FALSE);
    971  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->owner.owner_val,
    972  0  stevel 			(uint_t *)&objp->owner.owner_len, NFS4_OPAQUE_LIMIT))
    973  0  stevel 		return (FALSE);
    974  0  stevel 	return (TRUE);
    975  0  stevel }
    976  0  stevel 
    977  0  stevel bool_t
    978  0  stevel xdr_nfs_lock_type4(register XDR *xdrs, nfs_lock_type4 *objp)
    979  0  stevel {
    980  0  stevel 
    981  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
    982  0  stevel 		return (FALSE);
    983  0  stevel 	return (TRUE);
    984  0  stevel }
    985  0  stevel 
    986  0  stevel bool_t
    987  0  stevel xdr_ACCESS4args(register XDR *xdrs, ACCESS4args *objp)
    988  0  stevel {
    989  0  stevel 
    990  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->access))
    991  0  stevel 		return (FALSE);
    992  0  stevel 	return (TRUE);
    993  0  stevel }
    994  0  stevel 
    995  0  stevel bool_t
    996  0  stevel xdr_ACCESS4resok(register XDR *xdrs, ACCESS4resok *objp)
    997  0  stevel {
    998  0  stevel 
    999  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->supported))
   1000  0  stevel 		return (FALSE);
   1001  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->access))
   1002  0  stevel 		return (FALSE);
   1003  0  stevel 	return (TRUE);
   1004  0  stevel }
   1005  0  stevel 
   1006  0  stevel bool_t
   1007  0  stevel xdr_ACCESS4res(register XDR *xdrs, ACCESS4res *objp)
   1008  0  stevel {
   1009  0  stevel 
   1010  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1011  0  stevel 		return (FALSE);
   1012  0  stevel 	switch (objp->status) {
   1013  0  stevel 	case NFS4_OK:
   1014  0  stevel 		if (!xdr_ACCESS4resok(xdrs, &objp->ACCESS4res_u.resok4))
   1015  0  stevel 			return (FALSE);
   1016  0  stevel 		break;
   1017  0  stevel 	}
   1018  0  stevel 	return (TRUE);
   1019  0  stevel }
   1020  0  stevel 
   1021  0  stevel bool_t
   1022  0  stevel xdr_CLOSE4args(register XDR *xdrs, CLOSE4args *objp)
   1023  0  stevel {
   1024  0  stevel 
   1025  0  stevel 	if (!xdr_seqid4(xdrs, &objp->seqid))
   1026  0  stevel 		return (FALSE);
   1027  0  stevel 	if (!xdr_stateid4(xdrs, &objp->open_stateid))
   1028  0  stevel 		return (FALSE);
   1029  0  stevel 	return (TRUE);
   1030  0  stevel }
   1031  0  stevel 
   1032  0  stevel bool_t
   1033  0  stevel xdr_CLOSE4res(register XDR *xdrs, CLOSE4res *objp)
   1034  0  stevel {
   1035  0  stevel 
   1036  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1037  0  stevel 		return (FALSE);
   1038  0  stevel 	switch (objp->status) {
   1039  0  stevel 	case NFS4_OK:
   1040  0  stevel 		if (!xdr_stateid4(xdrs, &objp->CLOSE4res_u.open_stateid))
   1041  0  stevel 			return (FALSE);
   1042  0  stevel 		break;
   1043  0  stevel 	}
   1044  0  stevel 	return (TRUE);
   1045  0  stevel }
   1046  0  stevel 
   1047  0  stevel bool_t
   1048  0  stevel xdr_COMMIT4args(register XDR *xdrs, COMMIT4args *objp)
   1049  0  stevel {
   1050  0  stevel 
   1051  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   1052  0  stevel 		return (FALSE);
   1053  0  stevel 	if (!xdr_count4(xdrs, &objp->count))
   1054  0  stevel 		return (FALSE);
   1055  0  stevel 	return (TRUE);
   1056  0  stevel }
   1057  0  stevel 
   1058  0  stevel bool_t
   1059  0  stevel xdr_COMMIT4resok(register XDR *xdrs, COMMIT4resok *objp)
   1060  0  stevel {
   1061  0  stevel 
   1062  0  stevel 	if (!xdr_verifier4(xdrs, objp->writeverf))
   1063  0  stevel 		return (FALSE);
   1064  0  stevel 	return (TRUE);
   1065  0  stevel }
   1066  0  stevel 
   1067  0  stevel bool_t
   1068  0  stevel xdr_COMMIT4res(register XDR *xdrs, COMMIT4res *objp)
   1069  0  stevel {
   1070  0  stevel 
   1071  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1072  0  stevel 		return (FALSE);
   1073  0  stevel 	switch (objp->status) {
   1074  0  stevel 	case NFS4_OK:
   1075  0  stevel 		if (!xdr_COMMIT4resok(xdrs, &objp->COMMIT4res_u.resok4))
   1076  0  stevel 			return (FALSE);
   1077  0  stevel 		break;
   1078  0  stevel 	}
   1079  0  stevel 	return (TRUE);
   1080  0  stevel }
   1081  0  stevel 
   1082  0  stevel bool_t
   1083  0  stevel xdr_createtype4(register XDR *xdrs, createtype4 *objp)
   1084  0  stevel {
   1085  0  stevel 
   1086  0  stevel 	if (!xdr_nfs_ftype4(xdrs, &objp->type))
   1087  0  stevel 		return (FALSE);
   1088  0  stevel 	switch (objp->type) {
   1089  0  stevel 	case NF4LNK:
   1090  0  stevel 		if (!xdr_linktext4(xdrs, &objp->createtype4_u.linkdata))
   1091  0  stevel 			return (FALSE);
   1092  0  stevel 		break;
   1093  0  stevel 	case NF4BLK:
   1094  0  stevel 	case NF4CHR:
   1095  0  stevel 		if (!xdr_specdata4(xdrs, &objp->createtype4_u.devdata))
   1096  0  stevel 			return (FALSE);
   1097  0  stevel 		break;
   1098  0  stevel 	case NF4SOCK:
   1099  0  stevel 	case NF4FIFO:
   1100  0  stevel 	case NF4DIR:
   1101  0  stevel 		break;
   1102  0  stevel 	}
   1103  0  stevel 	return (TRUE);
   1104  0  stevel }
   1105  0  stevel 
   1106  0  stevel bool_t
   1107  0  stevel xdr_CREATE4args(register XDR *xdrs, CREATE4args *objp)
   1108  0  stevel {
   1109  0  stevel 
   1110  0  stevel 	if (!xdr_createtype4(xdrs, &objp->objtype))
   1111  0  stevel 		return (FALSE);
   1112  0  stevel 	if (!xdr_component4(xdrs, &objp->objname))
   1113  0  stevel 		return (FALSE);
   1114  0  stevel 	if (!xdr_fattr4(xdrs, &objp->createattrs))
   1115  0  stevel 		return (FALSE);
   1116  0  stevel 	return (TRUE);
   1117  0  stevel }
   1118  0  stevel 
   1119  0  stevel bool_t
   1120  0  stevel xdr_CREATE4resok(register XDR *xdrs, CREATE4resok *objp)
   1121  0  stevel {
   1122  0  stevel 
   1123  0  stevel 	if (!xdr_change_info4(xdrs, &objp->cinfo))
   1124  0  stevel 		return (FALSE);
   1125  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attrset))
   1126  0  stevel 		return (FALSE);
   1127  0  stevel 	return (TRUE);
   1128  0  stevel }
   1129  0  stevel 
   1130  0  stevel bool_t
   1131  0  stevel xdr_CREATE4res(register XDR *xdrs, CREATE4res *objp)
   1132  0  stevel {
   1133  0  stevel 
   1134  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1135  0  stevel 		return (FALSE);
   1136  0  stevel 	switch (objp->status) {
   1137  0  stevel 	case NFS4_OK:
   1138  0  stevel 		if (!xdr_CREATE4resok(xdrs, &objp->CREATE4res_u.resok4))
   1139  0  stevel 			return (FALSE);
   1140  0  stevel 		break;
   1141  0  stevel 	}
   1142  0  stevel 	return (TRUE);
   1143  0  stevel }
   1144  0  stevel 
   1145  0  stevel bool_t
   1146  0  stevel xdr_DELEGPURGE4args(register XDR *xdrs, DELEGPURGE4args *objp)
   1147  0  stevel {
   1148  0  stevel 
   1149  0  stevel 	if (!xdr_clientid4(xdrs, &objp->clientid))
   1150  0  stevel 		return (FALSE);
   1151  0  stevel 	return (TRUE);
   1152  0  stevel }
   1153  0  stevel 
   1154  0  stevel bool_t
   1155  0  stevel xdr_DELEGPURGE4res(register XDR *xdrs, DELEGPURGE4res *objp)
   1156  0  stevel {
   1157  0  stevel 
   1158  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1159  0  stevel 		return (FALSE);
   1160  0  stevel 	return (TRUE);
   1161  0  stevel }
   1162  0  stevel 
   1163  0  stevel bool_t
   1164  0  stevel xdr_DELEGRETURN4args(register XDR *xdrs, DELEGRETURN4args *objp)
   1165  0  stevel {
   1166  0  stevel 
   1167  0  stevel 	if (!xdr_stateid4(xdrs, &objp->deleg_stateid))
   1168  0  stevel 		return (FALSE);
   1169  0  stevel 	return (TRUE);
   1170  0  stevel }
   1171  0  stevel 
   1172  0  stevel bool_t
   1173  0  stevel xdr_DELEGRETURN4res(register XDR *xdrs, DELEGRETURN4res *objp)
   1174  0  stevel {
   1175  0  stevel 
   1176  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1177  0  stevel 		return (FALSE);
   1178  0  stevel 	return (TRUE);
   1179  0  stevel }
   1180  0  stevel 
   1181  0  stevel bool_t
   1182  0  stevel xdr_GETATTR4args(register XDR *xdrs, GETATTR4args *objp)
   1183  0  stevel {
   1184  0  stevel 
   1185  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attr_request))
   1186  0  stevel 		return (FALSE);
   1187  0  stevel 	return (TRUE);
   1188  0  stevel }
   1189  0  stevel 
   1190  0  stevel bool_t
   1191  0  stevel xdr_GETATTR4resok(register XDR *xdrs, GETATTR4resok *objp)
   1192  0  stevel {
   1193  0  stevel 
   1194  0  stevel 	if (!xdr_fattr4(xdrs, &objp->obj_attributes))
   1195  0  stevel 		return (FALSE);
   1196  0  stevel 	return (TRUE);
   1197  0  stevel }
   1198  0  stevel 
   1199  0  stevel bool_t
   1200  0  stevel xdr_GETATTR4res(register XDR *xdrs, GETATTR4res *objp)
   1201  0  stevel {
   1202  0  stevel 
   1203  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1204  0  stevel 		return (FALSE);
   1205  0  stevel 	switch (objp->status) {
   1206  0  stevel 	case NFS4_OK:
   1207  0  stevel 		if (!xdr_GETATTR4resok(xdrs, &objp->GETATTR4res_u.resok4))
   1208  0  stevel 			return (FALSE);
   1209  0  stevel 		break;
   1210  0  stevel 	}
   1211  0  stevel 	return (TRUE);
   1212  0  stevel }
   1213  0  stevel 
   1214  0  stevel bool_t
   1215  0  stevel xdr_GETFH4resok(register XDR *xdrs, GETFH4resok *objp)
   1216  0  stevel {
   1217  0  stevel 
   1218  0  stevel 	if (!xdr_nfs_fh4(xdrs, &objp->object))
   1219  0  stevel 		return (FALSE);
   1220  0  stevel 	return (TRUE);
   1221  0  stevel }
   1222  0  stevel 
   1223  0  stevel bool_t
   1224  0  stevel xdr_GETFH4res(register XDR *xdrs, GETFH4res *objp)
   1225  0  stevel {
   1226  0  stevel 
   1227  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1228  0  stevel 		return (FALSE);
   1229  0  stevel 	switch (objp->status) {
   1230  0  stevel 	case NFS4_OK:
   1231  0  stevel 		if (!xdr_GETFH4resok(xdrs, &objp->GETFH4res_u.resok4))
   1232  0  stevel 			return (FALSE);
   1233  0  stevel 		break;
   1234  0  stevel 	}
   1235  0  stevel 	return (TRUE);
   1236  0  stevel }
   1237  0  stevel 
   1238  0  stevel bool_t
   1239  0  stevel xdr_LINK4args(register XDR *xdrs, LINK4args *objp)
   1240  0  stevel {
   1241  0  stevel 
   1242  0  stevel 	if (!xdr_component4(xdrs, &objp->newname))
   1243  0  stevel 		return (FALSE);
   1244  0  stevel 	return (TRUE);
   1245  0  stevel }
   1246  0  stevel 
   1247  0  stevel bool_t
   1248  0  stevel xdr_LINK4resok(register XDR *xdrs, LINK4resok *objp)
   1249  0  stevel {
   1250  0  stevel 
   1251  0  stevel 	if (!xdr_change_info4(xdrs, &objp->cinfo))
   1252  0  stevel 		return (FALSE);
   1253  0  stevel 	return (TRUE);
   1254  0  stevel }
   1255  0  stevel 
   1256  0  stevel bool_t
   1257  0  stevel xdr_LINK4res(register XDR *xdrs, LINK4res *objp)
   1258  0  stevel {
   1259  0  stevel 
   1260  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1261  0  stevel 		return (FALSE);
   1262  0  stevel 	switch (objp->status) {
   1263  0  stevel 	case NFS4_OK:
   1264  0  stevel 		if (!xdr_LINK4resok(xdrs, &objp->LINK4res_u.resok4))
   1265  0  stevel 			return (FALSE);
   1266  0  stevel 		break;
   1267  0  stevel 	}
   1268  0  stevel 	return (TRUE);
   1269  0  stevel }
   1270  0  stevel 
   1271  0  stevel bool_t
   1272  0  stevel xdr_open_to_lock_owner4(register XDR *xdrs, open_to_lock_owner4 *objp)
   1273  0  stevel {
   1274  0  stevel 
   1275  0  stevel 	if (!xdr_seqid4(xdrs, &objp->open_seqid))
   1276  0  stevel 		return (FALSE);
   1277  0  stevel 	if (!xdr_stateid4(xdrs, &objp->open_stateid))
   1278  0  stevel 		return (FALSE);
   1279  0  stevel 	if (!xdr_seqid4(xdrs, &objp->lock_seqid))
   1280  0  stevel 		return (FALSE);
   1281  0  stevel 	if (!xdr_lock_owner4(xdrs, &objp->lock_owner))
   1282  0  stevel 		return (FALSE);
   1283  0  stevel 	return (TRUE);
   1284  0  stevel }
   1285  0  stevel 
   1286  0  stevel bool_t
   1287  0  stevel xdr_exist_lock_owner4(register XDR *xdrs, exist_lock_owner4 *objp)
   1288  0  stevel {
   1289  0  stevel 
   1290  0  stevel 	if (!xdr_stateid4(xdrs, &objp->lock_stateid))
   1291  0  stevel 		return (FALSE);
   1292  0  stevel 	if (!xdr_seqid4(xdrs, &objp->lock_seqid))
   1293  0  stevel 		return (FALSE);
   1294  0  stevel 	return (TRUE);
   1295  0  stevel }
   1296  0  stevel 
   1297  0  stevel bool_t
   1298  0  stevel xdr_locker4(register XDR *xdrs, locker4 *objp)
   1299  0  stevel {
   1300  0  stevel 
   1301  0  stevel 	if (!xdr_bool(xdrs, &objp->new_lock_owner))
   1302  0  stevel 		return (FALSE);
   1303  0  stevel 	switch (objp->new_lock_owner) {
   1304  0  stevel 	case TRUE:
   1305  0  stevel 		if (!xdr_open_to_lock_owner4(xdrs, &objp->locker4_u.open_owner))
   1306  0  stevel 			return (FALSE);
   1307  0  stevel 		break;
   1308  0  stevel 	case FALSE:
   1309  0  stevel 		if (!xdr_exist_lock_owner4(xdrs, &objp->locker4_u.lock_owner))
   1310  0  stevel 			return (FALSE);
   1311  0  stevel 		break;
   1312  0  stevel 	default:
   1313  0  stevel 		return (FALSE);
   1314  0  stevel 	}
   1315  0  stevel 	return (TRUE);
   1316  0  stevel }
   1317  0  stevel 
   1318  0  stevel bool_t
   1319  0  stevel xdr_LOCK4args(register XDR *xdrs, LOCK4args *objp)
   1320  0  stevel {
   1321  0  stevel 
   1322  0  stevel 	if (!xdr_nfs_lock_type4(xdrs, &objp->locktype))
   1323  0  stevel 		return (FALSE);
   1324  0  stevel 	if (!xdr_bool(xdrs, &objp->reclaim))
   1325  0  stevel 		return (FALSE);
   1326  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   1327  0  stevel 		return (FALSE);
   1328  0  stevel 	if (!xdr_length4(xdrs, &objp->length))
   1329  0  stevel 		return (FALSE);
   1330  0  stevel 	if (!xdr_locker4(xdrs, &objp->locker))
   1331  0  stevel 		return (FALSE);
   1332  0  stevel 	return (TRUE);
   1333  0  stevel }
   1334  0  stevel 
   1335  0  stevel bool_t
   1336  0  stevel xdr_LOCK4denied(register XDR *xdrs, LOCK4denied *objp)
   1337  0  stevel {
   1338  0  stevel 
   1339  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   1340  0  stevel 		return (FALSE);
   1341  0  stevel 	if (!xdr_length4(xdrs, &objp->length))
   1342  0  stevel 		return (FALSE);
   1343  0  stevel 	if (!xdr_nfs_lock_type4(xdrs, &objp->locktype))
   1344  0  stevel 		return (FALSE);
   1345  0  stevel 	if (!xdr_lock_owner4(xdrs, &objp->owner))
   1346  0  stevel 		return (FALSE);
   1347  0  stevel 	return (TRUE);
   1348  0  stevel }
   1349  0  stevel 
   1350  0  stevel bool_t
   1351  0  stevel xdr_LOCK4resok(register XDR *xdrs, LOCK4resok *objp)
   1352  0  stevel {
   1353  0  stevel 
   1354  0  stevel 	if (!xdr_stateid4(xdrs, &objp->lock_stateid))
   1355  0  stevel 		return (FALSE);
   1356  0  stevel 	return (TRUE);
   1357  0  stevel }
   1358  0  stevel 
   1359  0  stevel bool_t
   1360  0  stevel xdr_LOCK4res(register XDR *xdrs, LOCK4res *objp)
   1361  0  stevel {
   1362  0  stevel 
   1363  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1364  0  stevel 		return (FALSE);
   1365  0  stevel 	switch (objp->status) {
   1366  0  stevel 	case NFS4_OK:
   1367  0  stevel 		if (!xdr_LOCK4resok(xdrs, &objp->LOCK4res_u.resok4))
   1368  0  stevel 			return (FALSE);
   1369  0  stevel 		break;
   1370  0  stevel 	case NFS4ERR_DENIED:
   1371  0  stevel 		if (!xdr_LOCK4denied(xdrs, &objp->LOCK4res_u.denied))
   1372  0  stevel 			return (FALSE);
   1373  0  stevel 		break;
   1374  0  stevel 	}
   1375  0  stevel 	return (TRUE);
   1376  0  stevel }
   1377  0  stevel 
   1378  0  stevel bool_t
   1379  0  stevel xdr_LOCKT4args(register XDR *xdrs, LOCKT4args *objp)
   1380  0  stevel {
   1381  0  stevel 
   1382  0  stevel 	if (!xdr_nfs_lock_type4(xdrs, &objp->locktype))
   1383  0  stevel 		return (FALSE);
   1384  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   1385  0  stevel 		return (FALSE);
   1386  0  stevel 	if (!xdr_length4(xdrs, &objp->length))
   1387  0  stevel 		return (FALSE);
   1388  0  stevel 	if (!xdr_lock_owner4(xdrs, &objp->owner))
   1389  0  stevel 		return (FALSE);
   1390  0  stevel 	return (TRUE);
   1391  0  stevel }
   1392  0  stevel 
   1393  0  stevel bool_t
   1394  0  stevel xdr_LOCKT4res(register XDR *xdrs, LOCKT4res *objp)
   1395  0  stevel {
   1396  0  stevel 
   1397  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1398  0  stevel 		return (FALSE);
   1399  0  stevel 	switch (objp->status) {
   1400  0  stevel 	case NFS4ERR_DENIED:
   1401  0  stevel 		if (!xdr_LOCK4denied(xdrs, &objp->LOCKT4res_u.denied))
   1402  0  stevel 			return (FALSE);
   1403  0  stevel 		break;
   1404  0  stevel 	case NFS4_OK:
   1405  0  stevel 		break;
   1406  0  stevel 	}
   1407  0  stevel 	return (TRUE);
   1408  0  stevel }
   1409  0  stevel 
   1410  0  stevel bool_t
   1411  0  stevel xdr_LOCKU4args(register XDR *xdrs, LOCKU4args *objp)
   1412  0  stevel {
   1413  0  stevel 
   1414  0  stevel 	if (!xdr_nfs_lock_type4(xdrs, &objp->locktype))
   1415  0  stevel 		return (FALSE);
   1416  0  stevel 	if (!xdr_seqid4(xdrs, &objp->seqid))
   1417  0  stevel 		return (FALSE);
   1418  0  stevel 	if (!xdr_stateid4(xdrs, &objp->lock_stateid))
   1419  0  stevel 		return (FALSE);
   1420  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   1421  0  stevel 		return (FALSE);
   1422  0  stevel 	if (!xdr_length4(xdrs, &objp->length))
   1423  0  stevel 		return (FALSE);
   1424  0  stevel 	return (TRUE);
   1425  0  stevel }
   1426  0  stevel 
   1427  0  stevel bool_t
   1428  0  stevel xdr_LOCKU4res(register XDR *xdrs, LOCKU4res *objp)
   1429  0  stevel {
   1430  0  stevel 
   1431  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1432  0  stevel 		return (FALSE);
   1433  0  stevel 	switch (objp->status) {
   1434  0  stevel 	case NFS4_OK:
   1435  0  stevel 		if (!xdr_stateid4(xdrs, &objp->LOCKU4res_u.lock_stateid))
   1436  0  stevel 			return (FALSE);
   1437  0  stevel 		break;
   1438  0  stevel 	}
   1439  0  stevel 	return (TRUE);
   1440  0  stevel }
   1441  0  stevel 
   1442  0  stevel bool_t
   1443  0  stevel xdr_LOOKUP4args(register XDR *xdrs, LOOKUP4args *objp)
   1444  0  stevel {
   1445  0  stevel 
   1446  0  stevel 	if (!xdr_component4(xdrs, &objp->objname))
   1447  0  stevel 		return (FALSE);
   1448  0  stevel 	return (TRUE);
   1449  0  stevel }
   1450  0  stevel 
   1451  0  stevel bool_t
   1452  0  stevel xdr_LOOKUP4res(register XDR *xdrs, LOOKUP4res *objp)
   1453  0  stevel {
   1454  0  stevel 
   1455  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1456  0  stevel 		return (FALSE);
   1457  0  stevel 	return (TRUE);
   1458  0  stevel }
   1459  0  stevel 
   1460  0  stevel bool_t
   1461  0  stevel xdr_LOOKUPP4res(register XDR *xdrs, LOOKUPP4res *objp)
   1462  0  stevel {
   1463  0  stevel 
   1464  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1465  0  stevel 		return (FALSE);
   1466  0  stevel 	return (TRUE);
   1467  0  stevel }
   1468  0  stevel 
   1469  0  stevel bool_t
   1470  0  stevel xdr_NVERIFY4args(register XDR *xdrs, NVERIFY4args *objp)
   1471  0  stevel {
   1472  0  stevel 
   1473  0  stevel 	if (!xdr_fattr4(xdrs, &objp->obj_attributes))
   1474  0  stevel 		return (FALSE);
   1475  0  stevel 	return (TRUE);
   1476  0  stevel }
   1477  0  stevel 
   1478  0  stevel bool_t
   1479  0  stevel xdr_NVERIFY4res(register XDR *xdrs, NVERIFY4res *objp)
   1480  0  stevel {
   1481  0  stevel 
   1482  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1483  0  stevel 		return (FALSE);
   1484  0  stevel 	return (TRUE);
   1485  0  stevel }
   1486  0  stevel 
   1487  0  stevel bool_t
   1488  0  stevel xdr_createmode4(register XDR *xdrs, createmode4 *objp)
   1489  0  stevel {
   1490  0  stevel 
   1491  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   1492  0  stevel 		return (FALSE);
   1493  0  stevel 	return (TRUE);
   1494  0  stevel }
   1495  0  stevel 
   1496  0  stevel bool_t
   1497  0  stevel xdr_createhow4(register XDR *xdrs, createhow4 *objp)
   1498  0  stevel {
   1499  0  stevel 
   1500  0  stevel 	if (!xdr_createmode4(xdrs, &objp->mode))
   1501  0  stevel 		return (FALSE);
   1502  0  stevel 	switch (objp->mode) {
   1503  0  stevel 	case UNCHECKED4:
   1504  0  stevel 	case GUARDED4:
   1505  0  stevel 		if (!xdr_fattr4(xdrs, &objp->createhow4_u.createattrs))
   1506  0  stevel 			return (FALSE);
   1507  0  stevel 		break;
   1508  0  stevel 	case EXCLUSIVE4:
   1509  0  stevel 		if (!xdr_verifier4(xdrs, objp->createhow4_u.createverf))
   1510  0  stevel 			return (FALSE);
   1511  0  stevel 		break;
   1512  0  stevel 	default:
   1513  0  stevel 		return (FALSE);
   1514  0  stevel 	}
   1515  0  stevel 	return (TRUE);
   1516  0  stevel }
   1517  0  stevel 
   1518  0  stevel bool_t
   1519  0  stevel xdr_opentype4(register XDR *xdrs, opentype4 *objp)
   1520  0  stevel {
   1521  0  stevel 
   1522  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   1523  0  stevel 		return (FALSE);
   1524  0  stevel 	return (TRUE);
   1525  0  stevel }
   1526  0  stevel 
   1527  0  stevel bool_t
   1528  0  stevel xdr_openflag4(register XDR *xdrs, openflag4 *objp)
   1529  0  stevel {
   1530  0  stevel 
   1531  0  stevel 	if (!xdr_opentype4(xdrs, &objp->opentype))
   1532  0  stevel 		return (FALSE);
   1533  0  stevel 	switch (objp->opentype) {
   1534  0  stevel 	case OPEN4_CREATE:
   1535  0  stevel 		if (!xdr_createhow4(xdrs, &objp->openflag4_u.how))
   1536  0  stevel 			return (FALSE);
   1537  0  stevel 		break;
   1538  0  stevel 	}
   1539  0  stevel 	return (TRUE);
   1540  0  stevel }
   1541  0  stevel 
   1542  0  stevel bool_t
   1543  0  stevel xdr_limit_by4(register XDR *xdrs, limit_by4 *objp)
   1544  0  stevel {
   1545  0  stevel 
   1546  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   1547  0  stevel 		return (FALSE);
   1548  0  stevel 	return (TRUE);
   1549  0  stevel }
   1550  0  stevel 
   1551  0  stevel bool_t
   1552  0  stevel xdr_nfs_modified_limit4(register XDR *xdrs, nfs_modified_limit4 *objp)
   1553  0  stevel {
   1554  0  stevel 
   1555  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->num_blocks))
   1556  0  stevel 		return (FALSE);
   1557  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->bytes_per_block))
   1558  0  stevel 		return (FALSE);
   1559  0  stevel 	return (TRUE);
   1560  0  stevel }
   1561  0  stevel 
   1562  0  stevel bool_t
   1563  0  stevel xdr_nfs_space_limit4(register XDR *xdrs, nfs_space_limit4 *objp)
   1564  0  stevel {
   1565  0  stevel 
   1566  0  stevel 	if (!xdr_limit_by4(xdrs, &objp->limitby))
   1567  0  stevel 		return (FALSE);
   1568  0  stevel 	switch (objp->limitby) {
   1569  0  stevel 	case NFS_LIMIT_SIZE:
   1570  0  stevel 		if (!xdr_uint64_t(xdrs, &objp->nfs_space_limit4_u.filesize))
   1571  0  stevel 			return (FALSE);
   1572  0  stevel 		break;
   1573  0  stevel 	case NFS_LIMIT_BLOCKS:
   1574  0  stevel 		if (!xdr_nfs_modified_limit4(xdrs, &objp->nfs_space_limit4_u.
   1575  0  stevel 							mod_blocks))
   1576  0  stevel 			return (FALSE);
   1577  0  stevel 		break;
   1578  0  stevel 	default:
   1579  0  stevel 		return (FALSE);
   1580  0  stevel 	}
   1581  0  stevel 	return (TRUE);
   1582  0  stevel }
   1583  0  stevel 
   1584  0  stevel bool_t
   1585  0  stevel xdr_open_delegation_type4(register XDR *xdrs, open_delegation_type4 *objp)
   1586  0  stevel {
   1587  0  stevel 
   1588  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   1589  0  stevel 		return (FALSE);
   1590  0  stevel 	return (TRUE);
   1591  0  stevel }
   1592  0  stevel 
   1593  0  stevel bool_t
   1594  0  stevel xdr_open_claim_type4(register XDR *xdrs, open_claim_type4 *objp)
   1595  0  stevel {
   1596  0  stevel 
   1597  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   1598  0  stevel 		return (FALSE);
   1599  0  stevel 	return (TRUE);
   1600  0  stevel }
   1601  0  stevel 
   1602  0  stevel bool_t
   1603  0  stevel xdr_open_claim_delegate_cur4(register XDR *xdrs, open_claim_delegate_cur4 *objp)
   1604  0  stevel {
   1605  0  stevel 
   1606  0  stevel 	if (!xdr_stateid4(xdrs, &objp->delegate_stateid))
   1607  0  stevel 		return (FALSE);
   1608  0  stevel 	if (!xdr_component4(xdrs, &objp->file))
   1609  0  stevel 		return (FALSE);
   1610  0  stevel 	return (TRUE);
   1611  0  stevel }
   1612  0  stevel 
   1613  0  stevel bool_t
   1614  0  stevel xdr_open_claim4(register XDR *xdrs, open_claim4 *objp)
   1615  0  stevel {
   1616  0  stevel 
   1617  0  stevel 	if (!xdr_open_claim_type4(xdrs, &objp->claim))
   1618  0  stevel 		return (FALSE);
   1619  0  stevel 	switch (objp->claim) {
   1620  0  stevel 	case CLAIM_NULL:
   1621  0  stevel 		if (!xdr_component4(xdrs, &objp->open_claim4_u.file))
   1622  0  stevel 			return (FALSE);
   1623  0  stevel 		break;
   1624  0  stevel 	case CLAIM_PREVIOUS:
   1625  0  stevel 		if (!xdr_open_delegation_type4(xdrs, &objp->open_claim4_u.
   1626  0  stevel 							delegate_type))
   1627  0  stevel 			return (FALSE);
   1628  0  stevel 		break;
   1629  0  stevel 	case CLAIM_DELEGATE_CUR:
   1630  0  stevel 		if (!xdr_open_claim_delegate_cur4(xdrs, &objp->open_claim4_u.
   1631  0  stevel 							delegate_cur_info))
   1632  0  stevel 			return (FALSE);
   1633  0  stevel 		break;
   1634  0  stevel 	case CLAIM_DELEGATE_PREV:
   1635  0  stevel 		if (!xdr_component4(xdrs, &objp->open_claim4_u.
   1636  0  stevel 					file_delegate_prev))
   1637  0  stevel 			return (FALSE);
   1638  0  stevel 		break;
   1639  0  stevel 	default:
   1640  0  stevel 		return (FALSE);
   1641  0  stevel 	}
   1642  0  stevel 	return (TRUE);
   1643  0  stevel }
   1644  0  stevel 
   1645  0  stevel bool_t
   1646  0  stevel xdr_OPEN4args(register XDR *xdrs, OPEN4args *objp)
   1647  0  stevel {
   1648  0  stevel 
   1649  0  stevel 	if (!xdr_seqid4(xdrs, &objp->seqid))
   1650  0  stevel 		return (FALSE);
   1651  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->share_access))
   1652  0  stevel 		return (FALSE);
   1653  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->share_deny))
   1654  0  stevel 		return (FALSE);
   1655  0  stevel 	if (!xdr_open_owner4(xdrs, &objp->owner))
   1656  0  stevel 		return (FALSE);
   1657  0  stevel 	if (!xdr_openflag4(xdrs, &objp->openhow))
   1658  0  stevel 		return (FALSE);
   1659  0  stevel 	if (!xdr_open_claim4(xdrs, &objp->claim))
   1660  0  stevel 		return (FALSE);
   1661  0  stevel 	return (TRUE);
   1662  0  stevel }
   1663  0  stevel 
   1664  0  stevel bool_t
   1665  0  stevel xdr_open_read_delegation4(register XDR *xdrs, open_read_delegation4 *objp)
   1666  0  stevel {
   1667  0  stevel 
   1668  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   1669  0  stevel 		return (FALSE);
   1670  0  stevel 	if (!xdr_bool(xdrs, &objp->recall))
   1671  0  stevel 		return (FALSE);
   1672  0  stevel 	if (!xdr_nfsace4(xdrs, &objp->permissions))
   1673  0  stevel 		return (FALSE);
   1674  0  stevel 	return (TRUE);
   1675  0  stevel }
   1676  0  stevel 
   1677  0  stevel bool_t
   1678  0  stevel xdr_open_write_delegation4(register XDR *xdrs, open_write_delegation4 *objp)
   1679  0  stevel {
   1680  0  stevel 
   1681  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   1682  0  stevel 		return (FALSE);
   1683  0  stevel 	if (!xdr_bool(xdrs, &objp->recall))
   1684  0  stevel 		return (FALSE);
   1685  0  stevel 	if (!xdr_nfs_space_limit4(xdrs, &objp->space_limit))
   1686  0  stevel 		return (FALSE);
   1687  0  stevel 	if (!xdr_nfsace4(xdrs, &objp->permissions))
   1688  0  stevel 		return (FALSE);
   1689  0  stevel 	return (TRUE);
   1690  0  stevel }
   1691  0  stevel 
   1692  0  stevel bool_t
   1693  0  stevel xdr_open_delegation4(register XDR *xdrs, open_delegation4 *objp)
   1694  0  stevel {
   1695  0  stevel 
   1696  0  stevel 	if (!xdr_open_delegation_type4(xdrs, &objp->delegation_type))
   1697  0  stevel 		return (FALSE);
   1698  0  stevel 	switch (objp->delegation_type) {
   1699  0  stevel 	case OPEN_DELEGATE_NONE:
   1700  0  stevel 		break;
   1701  0  stevel 	case OPEN_DELEGATE_READ:
   1702  0  stevel 		if (!xdr_open_read_delegation4(xdrs, &objp->open_delegation4_u.
   1703  0  stevel 							read))
   1704  0  stevel 			return (FALSE);
   1705  0  stevel 		break;
   1706  0  stevel 	case OPEN_DELEGATE_WRITE:
   1707  0  stevel 		if (!xdr_open_write_delegation4(xdrs, &objp->open_delegation4_u.
   1708  0  stevel 							write))
   1709  0  stevel 			return (FALSE);
   1710  0  stevel 		break;
   1711  0  stevel 	default:
   1712  0  stevel 		return (FALSE);
   1713  0  stevel 	}
   1714  0  stevel 	return (TRUE);
   1715  0  stevel }
   1716  0  stevel 
   1717  0  stevel bool_t
   1718  0  stevel xdr_OPEN4resok(register XDR *xdrs, OPEN4resok *objp)
   1719  0  stevel {
   1720  0  stevel 
   1721  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   1722  0  stevel 		return (FALSE);
   1723  0  stevel 	if (!xdr_change_info4(xdrs, &objp->cinfo))
   1724  0  stevel 		return (FALSE);
   1725  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->rflags))
   1726  0  stevel 		return (FALSE);
   1727  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attrset))
   1728  0  stevel 		return (FALSE);
   1729  0  stevel 	if (!xdr_open_delegation4(xdrs, &objp->delegation))
   1730  0  stevel 		return (FALSE);
   1731  0  stevel 	return (TRUE);
   1732  0  stevel }
   1733  0  stevel 
   1734  0  stevel bool_t
   1735  0  stevel xdr_OPEN4res(register XDR *xdrs, OPEN4res *objp)
   1736  0  stevel {
   1737  0  stevel 
   1738  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1739  0  stevel 		return (FALSE);
   1740  0  stevel 	switch (objp->status) {
   1741  0  stevel 	case NFS4_OK:
   1742  0  stevel 		if (!xdr_OPEN4resok(xdrs, &objp->OPEN4res_u.resok4))
   1743  0  stevel 			return (FALSE);
   1744  0  stevel 		break;
   1745  0  stevel 	}
   1746  0  stevel 	return (TRUE);
   1747  0  stevel }
   1748  0  stevel 
   1749  0  stevel bool_t
   1750  0  stevel xdr_OPENATTR4args(register XDR *xdrs, OPENATTR4args *objp)
   1751  0  stevel {
   1752  0  stevel 
   1753  0  stevel 	if (!xdr_bool(xdrs, &objp->createdir))
   1754  0  stevel 		return (FALSE);
   1755  0  stevel 	return (TRUE);
   1756  0  stevel }
   1757  0  stevel 
   1758  0  stevel bool_t
   1759  0  stevel xdr_OPENATTR4res(register XDR *xdrs, OPENATTR4res *objp)
   1760  0  stevel {
   1761  0  stevel 
   1762  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1763  0  stevel 		return (FALSE);
   1764  0  stevel 	return (TRUE);
   1765  0  stevel }
   1766  0  stevel 
   1767  0  stevel bool_t
   1768  0  stevel xdr_OPEN_CONFIRM4args(register XDR *xdrs, OPEN_CONFIRM4args *objp)
   1769  0  stevel {
   1770  0  stevel 
   1771  0  stevel 	if (!xdr_stateid4(xdrs, &objp->open_stateid))
   1772  0  stevel 		return (FALSE);
   1773  0  stevel 	if (!xdr_seqid4(xdrs, &objp->seqid))
   1774  0  stevel 		return (FALSE);
   1775  0  stevel 	return (TRUE);
   1776  0  stevel }
   1777  0  stevel 
   1778  0  stevel bool_t
   1779  0  stevel xdr_OPEN_CONFIRM4resok(register XDR *xdrs, OPEN_CONFIRM4resok *objp)
   1780  0  stevel {
   1781  0  stevel 
   1782  0  stevel 	if (!xdr_stateid4(xdrs, &objp->open_stateid))
   1783  0  stevel 		return (FALSE);
   1784  0  stevel 	return (TRUE);
   1785  0  stevel }
   1786  0  stevel 
   1787  0  stevel bool_t
   1788  0  stevel xdr_OPEN_CONFIRM4res(register XDR *xdrs, OPEN_CONFIRM4res *objp)
   1789  0  stevel {
   1790  0  stevel 
   1791  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1792  0  stevel 		return (FALSE);
   1793  0  stevel 	switch (objp->status) {
   1794  0  stevel 	case NFS4_OK:
   1795  0  stevel 		if (!xdr_OPEN_CONFIRM4resok(xdrs, &objp->OPEN_CONFIRM4res_u.
   1796  0  stevel 						resok4))
   1797  0  stevel 			return (FALSE);
   1798  0  stevel 		break;
   1799  0  stevel 	}
   1800  0  stevel 	return (TRUE);
   1801  0  stevel }
   1802  0  stevel 
   1803  0  stevel bool_t
   1804  0  stevel xdr_OPEN_DOWNGRADE4args(register XDR *xdrs, OPEN_DOWNGRADE4args *objp)
   1805  0  stevel {
   1806  0  stevel 
   1807  0  stevel 	if (!xdr_stateid4(xdrs, &objp->open_stateid))
   1808  0  stevel 		return (FALSE);
   1809  0  stevel 	if (!xdr_seqid4(xdrs, &objp->seqid))
   1810  0  stevel 		return (FALSE);
   1811  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->share_access))
   1812  0  stevel 		return (FALSE);
   1813  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->share_deny))
   1814  0  stevel 		return (FALSE);
   1815  0  stevel 	return (TRUE);
   1816  0  stevel }
   1817  0  stevel 
   1818  0  stevel bool_t
   1819  0  stevel xdr_OPEN_DOWNGRADE4resok(register XDR *xdrs, OPEN_DOWNGRADE4resok *objp)
   1820  0  stevel {
   1821  0  stevel 
   1822  0  stevel 	if (!xdr_stateid4(xdrs, &objp->open_stateid))
   1823  0  stevel 		return (FALSE);
   1824  0  stevel 	return (TRUE);
   1825  0  stevel }
   1826  0  stevel 
   1827  0  stevel bool_t
   1828  0  stevel xdr_OPEN_DOWNGRADE4res(register XDR *xdrs, OPEN_DOWNGRADE4res *objp)
   1829  0  stevel {
   1830  0  stevel 
   1831  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1832  0  stevel 		return (FALSE);
   1833  0  stevel 	switch (objp->status) {
   1834  0  stevel 	case NFS4_OK:
   1835  0  stevel 		if (!xdr_OPEN_DOWNGRADE4resok(xdrs, &objp->OPEN_DOWNGRADE4res_u.
   1836  0  stevel 							resok4))
   1837  0  stevel 			return (FALSE);
   1838  0  stevel 		break;
   1839  0  stevel 	}
   1840  0  stevel 	return (TRUE);
   1841  0  stevel }
   1842  0  stevel 
   1843  0  stevel bool_t
   1844  0  stevel xdr_PUTFH4args(register XDR *xdrs, PUTFH4args *objp)
   1845  0  stevel {
   1846  0  stevel 
   1847  0  stevel 	if (!xdr_nfs_fh4(xdrs, &objp->object))
   1848  0  stevel 		return (FALSE);
   1849  0  stevel 	return (TRUE);
   1850  0  stevel }
   1851  0  stevel 
   1852  0  stevel bool_t
   1853  0  stevel xdr_PUTFH4res(register XDR *xdrs, PUTFH4res *objp)
   1854  0  stevel {
   1855  0  stevel 
   1856  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1857  0  stevel 		return (FALSE);
   1858  0  stevel 	return (TRUE);
   1859  0  stevel }
   1860  0  stevel 
   1861  0  stevel bool_t
   1862  0  stevel xdr_PUTPUBFH4res(register XDR *xdrs, PUTPUBFH4res *objp)
   1863  0  stevel {
   1864  0  stevel 
   1865  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1866  0  stevel 		return (FALSE);
   1867  0  stevel 	return (TRUE);
   1868  0  stevel }
   1869  0  stevel 
   1870  0  stevel bool_t
   1871  0  stevel xdr_PUTROOTFH4res(register XDR *xdrs, PUTROOTFH4res *objp)
   1872  0  stevel {
   1873  0  stevel 
   1874  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1875  0  stevel 		return (FALSE);
   1876  0  stevel 	return (TRUE);
   1877  0  stevel }
   1878  0  stevel 
   1879  0  stevel bool_t
   1880  0  stevel xdr_READ4args(register XDR *xdrs, READ4args *objp)
   1881  0  stevel {
   1882  0  stevel 
   1883  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   1884  0  stevel 		return (FALSE);
   1885  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   1886  0  stevel 		return (FALSE);
   1887  0  stevel 	if (!xdr_count4(xdrs, &objp->count))
   1888  0  stevel 		return (FALSE);
   1889  0  stevel 	return (TRUE);
   1890  0  stevel }
   1891  0  stevel 
   1892  0  stevel bool_t
   1893  0  stevel xdr_READ4resok(register XDR *xdrs, READ4resok *objp)
   1894  0  stevel {
   1895  0  stevel 
   1896  0  stevel 	if (!xdr_bool(xdrs, &objp->eof))
   1897  0  stevel 		return (FALSE);
   1898  0  stevel 
   1899  0  stevel #ifdef	IGNORE_RDWR_DATA
   1900  0  stevel 	/*
   1901  0  stevel 	 * Try to get length of read, and if that
   1902  0  stevel 	 * fails, default to 0.  Don't return FALSE
   1903  0  stevel 	 * because the other read info will not be
   1904  0  stevel 	 * displayed.
   1905  0  stevel 	 */
   1906  0  stevel 	objp->data.data_val = NULL;
   1907  0  stevel 	if (!xdr_u_int(xdrs, &objp->data.data_len))
   1908  0  stevel 		objp->data.data_len = 0;
   1909  0  stevel 	nfs4_skip_bytes = objp->data.data_len;
   1910  0  stevel #else
   1911  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->data.data_val,
   1912  0  stevel 			(uint_t *)&objp->data.data_len, ~0))
   1913  0  stevel 		return (FALSE);
   1914  0  stevel #endif
   1915  0  stevel 	return (TRUE);
   1916  0  stevel }
   1917  0  stevel 
   1918  0  stevel bool_t
   1919  0  stevel xdr_READ4res(register XDR *xdrs, READ4res *objp)
   1920  0  stevel {
   1921  0  stevel 
   1922  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   1923  0  stevel 		return (FALSE);
   1924  0  stevel 	switch (objp->status) {
   1925  0  stevel 	case NFS4_OK:
   1926  0  stevel 		if (!xdr_READ4resok(xdrs, &objp->READ4res_u.resok4))
   1927  0  stevel 			return (FALSE);
   1928  0  stevel 		break;
   1929  0  stevel 	}
   1930  0  stevel 	return (TRUE);
   1931  0  stevel }
   1932  0  stevel 
   1933  0  stevel bool_t
   1934  0  stevel xdr_READDIR4args(register XDR *xdrs, READDIR4args *objp)
   1935  0  stevel {
   1936  0  stevel 
   1937  0  stevel 	if (!xdr_nfs_cookie4(xdrs, &objp->cookie))
   1938  0  stevel 		return (FALSE);
   1939  0  stevel 	if (!xdr_verifier4(xdrs, objp->cookieverf))
   1940  0  stevel 		return (FALSE);
   1941  0  stevel 	if (!xdr_count4(xdrs, &objp->dircount))
   1942  0  stevel 		return (FALSE);
   1943  0  stevel 	if (!xdr_count4(xdrs, &objp->maxcount))
   1944  0  stevel 		return (FALSE);
   1945  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attr_request))
   1946  0  stevel 		return (FALSE);
   1947  0  stevel 	return (TRUE);
   1948  0  stevel }
   1949  0  stevel 
   1950  0  stevel bool_t
   1951  0  stevel xdr_entry4(register XDR *xdrs, entry4 *objp)
   1952  0  stevel {
   1953  0  stevel 
   1954  0  stevel 	entry4 *tmp_entry4;
   1955  0  stevel 	bool_t more_data = TRUE;
   1956  0  stevel 	bool_t first_objp = TRUE;
   1957  0  stevel 
   1958  0  stevel 	while (more_data) {
   1959  0  stevel 
   1960  0  stevel 		if (!xdr_nfs_cookie4(xdrs, &objp->cookie))
   1961  0  stevel 			return (FALSE);
   1962  0  stevel 		if (!xdr_component4(xdrs, &objp->name))
   1963  0  stevel 			return (FALSE);
   1964  0  stevel 		if (!xdr_fattr4(xdrs, &objp->attrs))
   1965  0  stevel 			return (FALSE);
   1966  0  stevel 
   1967  0  stevel 		if (xdrs->x_op == XDR_DECODE) {
   1968  0  stevel 
   1969  0  stevel 			void bzero();
   1970  0  stevel 
   1971  0  stevel 			if (!xdr_bool(xdrs, &more_data))
   1972  0  stevel 				return (FALSE);
   1973  0  stevel 
   1974  0  stevel 			if (!more_data) {
   1975  0  stevel 				objp->nextentry = NULL;
   1976  0  stevel 				break;
   1977  0  stevel 			}
   1978  0  stevel 
   1979  0  stevel 			objp->nextentry = (entry4 *)
   1980  0  stevel 				mem_alloc(sizeof (entry4));
   1981  0  stevel 			if (objp->nextentry == NULL)
   1982  0  stevel 				return (NULL);
   1983  0  stevel 			bzero(objp->nextentry, sizeof (entry4));
   1984  0  stevel 			objp = objp->nextentry;
   1985  0  stevel 
   1986  0  stevel 		} else if (xdrs->x_op == XDR_ENCODE) {
   1987  0  stevel 			objp = objp->nextentry;
   1988  0  stevel 			if (!objp)
   1989  0  stevel 				more_data = FALSE;
   1990  0  stevel 
   1991  0  stevel 			if (!xdr_bool(xdrs, &more_data))
   1992  0  stevel 				return (FALSE);
   1993  0  stevel 		} else {
   1994  0  stevel 			tmp_entry4 = objp;
   1995  0  stevel 			objp = objp->nextentry;
   1996  0  stevel 			if (!objp)
   1997  0  stevel 				more_data = FALSE;
   1998  0  stevel 			if (!xdr_bool(xdrs, &more_data))
   1999  0  stevel 				return (FALSE);
   2000  0  stevel 			if (!first_objp)
   2001  0  stevel 				mem_free(tmp_entry4, sizeof (entry4));
   2002  0  stevel 			else
   2003  0  stevel 				first_objp = FALSE;
   2004  0  stevel 		}
   2005  0  stevel 	}
   2006  0  stevel 	return (TRUE);
   2007  0  stevel }
   2008  0  stevel 
   2009  0  stevel bool_t
   2010  0  stevel xdr_dirlist4(register XDR *xdrs, dirlist4 *objp)
   2011  0  stevel {
   2012  0  stevel 
   2013  0  stevel 	if (!xdr_pointer(xdrs, (char **)&objp->entries, sizeof (entry4),
   2014  0  stevel 			(xdrproc_t)xdr_entry4))
   2015  0  stevel 		return (FALSE);
   2016  0  stevel 	if (!xdr_bool(xdrs, &objp->eof))
   2017  0  stevel 		return (FALSE);
   2018  0  stevel 	return (TRUE);
   2019  0  stevel }
   2020  0  stevel 
   2021  0  stevel bool_t
   2022  0  stevel xdr_READDIR4resok(register XDR *xdrs, READDIR4resok *objp)
   2023  0  stevel {
   2024  0  stevel 
   2025  0  stevel 	if (!xdr_verifier4(xdrs, objp->cookieverf))
   2026  0  stevel 		return (FALSE);
   2027  0  stevel 	if (!xdr_dirlist4(xdrs, &objp->reply))
   2028  0  stevel 		return (FALSE);
   2029  0  stevel 	return (TRUE);
   2030  0  stevel }
   2031  0  stevel 
   2032  0  stevel bool_t
   2033  0  stevel xdr_READDIR4res(register XDR *xdrs, READDIR4res *objp)
   2034  0  stevel {
   2035  0  stevel 
   2036  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2037  0  stevel 		return (FALSE);
   2038  0  stevel 	switch (objp->status) {
   2039  0  stevel 	case NFS4_OK:
   2040  0  stevel 		if (!xdr_READDIR4resok(xdrs, &objp->READDIR4res_u.resok4))
   2041  0  stevel 			return (FALSE);
   2042  0  stevel 		break;
   2043  0  stevel 	}
   2044  0  stevel 	return (TRUE);
   2045  0  stevel }
   2046  0  stevel 
   2047  0  stevel bool_t
   2048  0  stevel xdr_READLINK4resok(register XDR *xdrs, READLINK4resok *objp)
   2049  0  stevel {
   2050  0  stevel 
   2051  0  stevel 	if (!xdr_linktext4(xdrs, &objp->link))
   2052  0  stevel 		return (FALSE);
   2053  0  stevel 	return (TRUE);
   2054  0  stevel }
   2055  0  stevel 
   2056  0  stevel bool_t
   2057  0  stevel xdr_READLINK4res(register XDR *xdrs, READLINK4res *objp)
   2058  0  stevel {
   2059  0  stevel 
   2060  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2061  0  stevel 		return (FALSE);
   2062  0  stevel 	switch (objp->status) {
   2063  0  stevel 	case NFS4_OK:
   2064  0  stevel 		if (!xdr_READLINK4resok(xdrs, &objp->READLINK4res_u.resok4))
   2065  0  stevel 			return (FALSE);
   2066  0  stevel 		break;
   2067  0  stevel 	}
   2068  0  stevel 	return (TRUE);
   2069  0  stevel }
   2070  0  stevel 
   2071  0  stevel bool_t
   2072  0  stevel xdr_REMOVE4args(register XDR *xdrs, REMOVE4args *objp)
   2073  0  stevel {
   2074  0  stevel 
   2075  0  stevel 	if (!xdr_component4(xdrs, &objp->target))
   2076  0  stevel 		return (FALSE);
   2077  0  stevel 	return (TRUE);
   2078  0  stevel }
   2079  0  stevel 
   2080  0  stevel bool_t
   2081  0  stevel xdr_REMOVE4resok(register XDR *xdrs, REMOVE4resok *objp)
   2082  0  stevel {
   2083  0  stevel 
   2084  0  stevel 	if (!xdr_change_info4(xdrs, &objp->cinfo))
   2085  0  stevel 		return (FALSE);
   2086  0  stevel 	return (TRUE);
   2087  0  stevel }
   2088  0  stevel 
   2089  0  stevel bool_t
   2090  0  stevel xdr_REMOVE4res(register XDR *xdrs, REMOVE4res *objp)
   2091  0  stevel {
   2092  0  stevel 
   2093  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2094  0  stevel 		return (FALSE);
   2095  0  stevel 	switch (objp->status) {
   2096  0  stevel 	case NFS4_OK:
   2097  0  stevel 		if (!xdr_REMOVE4resok(xdrs, &objp->REMOVE4res_u.resok4))
   2098  0  stevel 			return (FALSE);
   2099  0  stevel 		break;
   2100  0  stevel 	}
   2101  0  stevel 	return (TRUE);
   2102  0  stevel }
   2103  0  stevel 
   2104  0  stevel bool_t
   2105  0  stevel xdr_RENAME4args(register XDR *xdrs, RENAME4args *objp)
   2106  0  stevel {
   2107  0  stevel 
   2108  0  stevel 	if (!xdr_component4(xdrs, &objp->oldname))
   2109  0  stevel 		return (FALSE);
   2110  0  stevel 	if (!xdr_component4(xdrs, &objp->newname))
   2111  0  stevel 		return (FALSE);
   2112  0  stevel 	return (TRUE);
   2113  0  stevel }
   2114  0  stevel 
   2115  0  stevel bool_t
   2116  0  stevel xdr_RENAME4resok(register XDR *xdrs, RENAME4resok *objp)
   2117  0  stevel {
   2118  0  stevel 
   2119  0  stevel 	if (!xdr_change_info4(xdrs, &objp->source_cinfo))
   2120  0  stevel 		return (FALSE);
   2121  0  stevel 	if (!xdr_change_info4(xdrs, &objp->target_cinfo))
   2122  0  stevel 		return (FALSE);
   2123  0  stevel 	return (TRUE);
   2124  0  stevel }
   2125  0  stevel 
   2126  0  stevel bool_t
   2127  0  stevel xdr_RENAME4res(register XDR *xdrs, RENAME4res *objp)
   2128  0  stevel {
   2129  0  stevel 
   2130  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2131  0  stevel 		return (FALSE);
   2132  0  stevel 	switch (objp->status) {
   2133  0  stevel 	case NFS4_OK:
   2134  0  stevel 		if (!xdr_RENAME4resok(xdrs, &objp->RENAME4res_u.resok4))
   2135  0  stevel 			return (FALSE);
   2136  0  stevel 		break;
   2137  0  stevel 	}
   2138  0  stevel 	return (TRUE);
   2139  0  stevel }
   2140  0  stevel 
   2141  0  stevel bool_t
   2142  0  stevel xdr_RENEW4args(register XDR *xdrs, RENEW4args *objp)
   2143  0  stevel {
   2144  0  stevel 
   2145  0  stevel 	if (!xdr_clientid4(xdrs, &objp->clientid))
   2146  0  stevel 		return (FALSE);
   2147  0  stevel 	return (TRUE);
   2148  0  stevel }
   2149  0  stevel 
   2150  0  stevel bool_t
   2151  0  stevel xdr_RENEW4res(register XDR *xdrs, RENEW4res *objp)
   2152  0  stevel {
   2153  0  stevel 
   2154  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2155  0  stevel 		return (FALSE);
   2156  0  stevel 	return (TRUE);
   2157  0  stevel }
   2158  0  stevel 
   2159  0  stevel bool_t
   2160  0  stevel xdr_RESTOREFH4res(register XDR *xdrs, RESTOREFH4res *objp)
   2161  0  stevel {
   2162  0  stevel 
   2163  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2164  0  stevel 		return (FALSE);
   2165  0  stevel 	return (TRUE);
   2166  0  stevel }
   2167  0  stevel 
   2168  0  stevel bool_t
   2169  0  stevel xdr_SAVEFH4res(register XDR *xdrs, SAVEFH4res *objp)
   2170  0  stevel {
   2171  0  stevel 
   2172  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2173  0  stevel 		return (FALSE);
   2174  0  stevel 	return (TRUE);
   2175  0  stevel }
   2176  0  stevel 
   2177  0  stevel bool_t
   2178  0  stevel xdr_SECINFO4args(register XDR *xdrs, SECINFO4args *objp)
   2179  0  stevel {
   2180  0  stevel 
   2181  0  stevel 	if (!xdr_component4(xdrs, &objp->name))
   2182  0  stevel 		return (FALSE);
   2183  0  stevel 	return (TRUE);
   2184  0  stevel }
   2185  0  stevel 
   2186  0  stevel bool_t
   2187  0  stevel xdr_rpc_gss_svc_t(register XDR *xdrs, rpc_gss_svc_t *objp)
   2188  0  stevel {
   2189  0  stevel 
   2190  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   2191  0  stevel 		return (FALSE);
   2192  0  stevel 	return (TRUE);
   2193  0  stevel }
   2194  0  stevel 
   2195  0  stevel bool_t
   2196  0  stevel xdr_rpcsec_gss_info(register XDR *xdrs, rpcsec_gss_info *objp)
   2197  0  stevel {
   2198  0  stevel 
   2199  0  stevel 	if (!xdr_sec_oid4(xdrs, &objp->oid))
   2200  0  stevel 		return (FALSE);
   2201  0  stevel 	if (!xdr_qop4(xdrs, &objp->qop))
   2202  0  stevel 		return (FALSE);
   2203  0  stevel 	if (!xdr_rpc_gss_svc_t(xdrs, &objp->service))
   2204  0  stevel 		return (FALSE);
   2205  0  stevel 	return (TRUE);
   2206  0  stevel }
   2207  0  stevel 
   2208  0  stevel bool_t
   2209  0  stevel xdr_secinfo4(register XDR *xdrs, secinfo4 *objp)
   2210  0  stevel {
   2211  0  stevel 
   2212  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->flavor))
   2213  0  stevel 		return (FALSE);
   2214  0  stevel 	switch (objp->flavor) {
   2215  0  stevel 	case RPCSEC_GSS:
   2216  0  stevel 		if (!xdr_rpcsec_gss_info(xdrs, &objp->secinfo4_u.flavor_info))
   2217  0  stevel 			return (FALSE);
   2218  0  stevel 		break;
   2219  0  stevel 	}
   2220  0  stevel 	return (TRUE);
   2221  0  stevel }
   2222  0  stevel 
   2223  0  stevel bool_t
   2224  0  stevel xdr_SECINFO4resok(register XDR *xdrs, SECINFO4resok *objp)
   2225  0  stevel {
   2226  0  stevel 
   2227  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->SECINFO4resok_val,
   2228  0  stevel 			(uint_t *)&objp->SECINFO4resok_len, ~0,
   2229  0  stevel 			sizeof (secinfo4), (xdrproc_t)xdr_secinfo4))
   2230  0  stevel 		return (FALSE);
   2231  0  stevel 	return (TRUE);
   2232  0  stevel }
   2233  0  stevel 
   2234  0  stevel bool_t
   2235  0  stevel xdr_SECINFO4res(register XDR *xdrs, SECINFO4res *objp)
   2236  0  stevel {
   2237  0  stevel 
   2238  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2239  0  stevel 		return (FALSE);
   2240  0  stevel 	switch (objp->status) {
   2241  0  stevel 	case NFS4_OK:
   2242  0  stevel 		if (!xdr_SECINFO4resok(xdrs, &objp->SECINFO4res_u.resok4))
   2243  0  stevel 			return (FALSE);
   2244  0  stevel 		break;
   2245  0  stevel 	}
   2246  0  stevel 	return (TRUE);
   2247  0  stevel }
   2248  0  stevel 
   2249  0  stevel bool_t
   2250  0  stevel xdr_SETATTR4args(register XDR *xdrs, SETATTR4args *objp)
   2251  0  stevel {
   2252  0  stevel 
   2253  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   2254  0  stevel 		return (FALSE);
   2255  0  stevel 	if (!xdr_fattr4(xdrs, &objp->obj_attributes))
   2256  0  stevel 		return (FALSE);
   2257  0  stevel 	return (TRUE);
   2258  0  stevel }
   2259  0  stevel 
   2260  0  stevel bool_t
   2261  0  stevel xdr_SETATTR4res(register XDR *xdrs, SETATTR4res *objp)
   2262  0  stevel {
   2263  0  stevel 
   2264  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2265  0  stevel 		return (FALSE);
   2266  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attrsset))
   2267  0  stevel 		return (FALSE);
   2268  0  stevel 	return (TRUE);
   2269  0  stevel }
   2270  0  stevel 
   2271  0  stevel bool_t
   2272  0  stevel xdr_SETCLIENTID4args(register XDR *xdrs, SETCLIENTID4args *objp)
   2273  0  stevel {
   2274  0  stevel 
   2275  0  stevel 	if (!xdr_nfs_client_id4(xdrs, &objp->client))
   2276  0  stevel 		return (FALSE);
   2277  0  stevel 	if (!xdr_cb_client4(xdrs, &objp->callback))
   2278  0  stevel 		return (FALSE);
   2279  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->callback_ident))
   2280  0  stevel 		return (FALSE);
   2281  0  stevel 	return (TRUE);
   2282  0  stevel }
   2283  0  stevel 
   2284  0  stevel bool_t
   2285  0  stevel xdr_SETCLIENTID4resok(register XDR *xdrs, SETCLIENTID4resok *objp)
   2286  0  stevel {
   2287  0  stevel 
   2288  0  stevel 	if (!xdr_clientid4(xdrs, &objp->clientid))
   2289  0  stevel 		return (FALSE);
   2290  0  stevel 	if (!xdr_verifier4(xdrs, objp->setclientid_confirm))
   2291  0  stevel 		return (FALSE);
   2292  0  stevel 	return (TRUE);
   2293  0  stevel }
   2294  0  stevel 
   2295  0  stevel bool_t
   2296  0  stevel xdr_SETCLIENTID4res(register XDR *xdrs, SETCLIENTID4res *objp)
   2297  0  stevel {
   2298  0  stevel 
   2299  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2300  0  stevel 		return (FALSE);
   2301  0  stevel 	switch (objp->status) {
   2302  0  stevel 	case NFS4_OK:
   2303  0  stevel 		if (!xdr_SETCLIENTID4resok(xdrs, &objp->SETCLIENTID4res_u.
   2304  0  stevel 						resok4))
   2305  0  stevel 			return (FALSE);
   2306  0  stevel 		break;
   2307  0  stevel 	case NFS4ERR_CLID_INUSE:
   2308  0  stevel 		if (!xdr_clientaddr4(xdrs, &objp->SETCLIENTID4res_u.
   2309  0  stevel 						client_using))
   2310  0  stevel 			return (FALSE);
   2311  0  stevel 		break;
   2312  0  stevel 	}
   2313  0  stevel 	return (TRUE);
   2314  0  stevel }
   2315  0  stevel 
   2316  0  stevel bool_t
   2317  0  stevel xdr_SETCLIENTID_CONFIRM4args(register XDR *xdrs, SETCLIENTID_CONFIRM4args *objp)
   2318  0  stevel {
   2319  0  stevel 
   2320  0  stevel 	if (!xdr_clientid4(xdrs, &objp->clientid))
   2321  0  stevel 		return (FALSE);
   2322  0  stevel 	if (!xdr_verifier4(xdrs, objp->setclientid_confirm))
   2323  0  stevel 		return (FALSE);
   2324  0  stevel 	return (TRUE);
   2325  0  stevel }
   2326  0  stevel 
   2327  0  stevel bool_t
   2328  0  stevel xdr_SETCLIENTID_CONFIRM4res(register XDR *xdrs, SETCLIENTID_CONFIRM4res *objp)
   2329  0  stevel {
   2330  0  stevel 
   2331  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2332  0  stevel 		return (FALSE);
   2333  0  stevel 	return (TRUE);
   2334  0  stevel }
   2335  0  stevel 
   2336  0  stevel bool_t
   2337  0  stevel xdr_VERIFY4args(register XDR *xdrs, VERIFY4args *objp)
   2338  0  stevel {
   2339  0  stevel 
   2340  0  stevel 	if (!xdr_fattr4(xdrs, &objp->obj_attributes))
   2341  0  stevel 		return (FALSE);
   2342  0  stevel 	return (TRUE);
   2343  0  stevel }
   2344  0  stevel 
   2345  0  stevel bool_t
   2346  0  stevel xdr_VERIFY4res(register XDR *xdrs, VERIFY4res *objp)
   2347  0  stevel {
   2348  0  stevel 
   2349  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2350  0  stevel 		return (FALSE);
   2351  0  stevel 	return (TRUE);
   2352  0  stevel }
   2353  0  stevel 
   2354  0  stevel bool_t
   2355  0  stevel xdr_stable_how4(register XDR *xdrs, stable_how4 *objp)
   2356  0  stevel {
   2357  0  stevel 
   2358  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   2359  0  stevel 		return (FALSE);
   2360  0  stevel 	return (TRUE);
   2361  0  stevel }
   2362  0  stevel 
   2363  0  stevel bool_t
   2364  0  stevel xdr_WRITE4args(register XDR *xdrs, WRITE4args *objp)
   2365  0  stevel {
   2366  0  stevel 
   2367  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   2368  0  stevel 		return (FALSE);
   2369  0  stevel 	if (!xdr_offset4(xdrs, &objp->offset))
   2370  0  stevel 		return (FALSE);
   2371  0  stevel 	if (!xdr_stable_how4(xdrs, &objp->stable))
   2372  0  stevel 		return (FALSE);
   2373  0  stevel 
   2374  0  stevel #ifdef IGNORE_RDWR_DATA
   2375  0  stevel 	/*
   2376  0  stevel 	 * try to get length of write, and if that
   2377  0  stevel 	 * fails, default to 0.  Don't return FALSE
   2378  0  stevel 	 * because the other write info will not be
   2379  0  stevel 	 * displayed (write stateid).
   2380  0  stevel 	 */
   2381  0  stevel 	objp->data.data_val = NULL;
   2382  0  stevel 	if (!xdr_u_int(xdrs, &objp->data.data_len))
   2383  0  stevel 		objp->data.data_len = 0;
   2384  0  stevel 	nfs4_skip_bytes = objp->data.data_len;
   2385  0  stevel #else
   2386  0  stevel 	if (!xdr_bytes(xdrs, (char **)&objp->data.data_val,
   2387  0  stevel 			(uint_t *)&objp->data.data_len, ~0))
   2388  0  stevel 		return (FALSE);
   2389  0  stevel #endif
   2390  0  stevel 	return (TRUE);
   2391  0  stevel }
   2392  0  stevel 
   2393  0  stevel bool_t
   2394  0  stevel xdr_WRITE4resok(register XDR *xdrs, WRITE4resok *objp)
   2395  0  stevel {
   2396  0  stevel 
   2397  0  stevel 	if (!xdr_count4(xdrs, &objp->count))
   2398  0  stevel 		return (FALSE);
   2399  0  stevel 	if (!xdr_stable_how4(xdrs, &objp->committed))
   2400  0  stevel 		return (FALSE);
   2401  0  stevel 	if (!xdr_verifier4(xdrs, objp->writeverf))
   2402  0  stevel 		return (FALSE);
   2403  0  stevel 	return (TRUE);
   2404  0  stevel }
   2405  0  stevel 
   2406  0  stevel bool_t
   2407  0  stevel xdr_WRITE4res(register XDR *xdrs, WRITE4res *objp)
   2408  0  stevel {
   2409  0  stevel 
   2410  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2411  0  stevel 		return (FALSE);
   2412  0  stevel 	switch (objp->status) {
   2413  0  stevel 	case NFS4_OK:
   2414  0  stevel 		if (!xdr_WRITE4resok(xdrs, &objp->WRITE4res_u.resok4))
   2415  0  stevel 			return (FALSE);
   2416  0  stevel 		break;
   2417  0  stevel 	}
   2418  0  stevel 	return (TRUE);
   2419  0  stevel }
   2420  0  stevel 
   2421  0  stevel bool_t
   2422  0  stevel xdr_RELEASE_LOCKOWNER4args(register XDR *xdrs, RELEASE_LOCKOWNER4args *objp)
   2423  0  stevel {
   2424  0  stevel 
   2425  0  stevel 	if (!xdr_lock_owner4(xdrs, &objp->lock_owner))
   2426  0  stevel 		return (FALSE);
   2427  0  stevel 	return (TRUE);
   2428  0  stevel }
   2429  0  stevel 
   2430  0  stevel bool_t
   2431  0  stevel xdr_RELEASE_LOCKOWNER4res(register XDR *xdrs, RELEASE_LOCKOWNER4res *objp)
   2432  0  stevel {
   2433  0  stevel 
   2434  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2435  0  stevel 		return (FALSE);
   2436  0  stevel 	return (TRUE);
   2437  0  stevel }
   2438  0  stevel 
   2439  0  stevel bool_t
   2440  0  stevel xdr_ILLEGAL4res(register XDR *xdrs, ILLEGAL4res *objp)
   2441  0  stevel {
   2442  0  stevel 
   2443  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2444  0  stevel 		return (FALSE);
   2445  0  stevel 	return (TRUE);
   2446  0  stevel }
   2447  0  stevel 
   2448  0  stevel bool_t
   2449  0  stevel xdr_nfs_opnum4(register XDR *xdrs, nfs_opnum4 *objp)
   2450  0  stevel {
   2451  0  stevel 
   2452  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   2453  0  stevel 		return (FALSE);
   2454  0  stevel 	return (TRUE);
   2455  0  stevel }
   2456  0  stevel 
   2457  0  stevel bool_t
   2458  0  stevel xdr_nfs_argop4(register XDR *xdrs, nfs_argop4 *objp)
   2459  0  stevel {
   2460  0  stevel 	nfs4_skip_bytes = 0;
   2461  0  stevel 	if (!xdr_nfs_opnum4(xdrs, &objp->argop))
   2462  0  stevel 		return (FALSE);
   2463  0  stevel 	switch (objp->argop) {
   2464  0  stevel 	case OP_ACCESS:
   2465  0  stevel 		if (!xdr_ACCESS4args(xdrs, &objp->nfs_argop4_u.opaccess))
   2466  0  stevel 			return (FALSE);
   2467  0  stevel 		break;
   2468  0  stevel 	case OP_CLOSE:
   2469  0  stevel 		if (!xdr_CLOSE4args(xdrs, &objp->nfs_argop4_u.opclose))
   2470  0  stevel 			return (FALSE);
   2471  0  stevel 		break;
   2472  0  stevel 	case OP_COMMIT:
   2473  0  stevel 		if (!xdr_COMMIT4args(xdrs, &objp->nfs_argop4_u.opcommit))
   2474  0  stevel 			return (FALSE);
   2475  0  stevel 		break;
   2476  0  stevel 	case OP_CREATE:
   2477  0  stevel 		if (!xdr_CREATE4args(xdrs, &objp->nfs_argop4_u.opcreate))
   2478  0  stevel 			return (FALSE);
   2479  0  stevel 		break;
   2480  0  stevel 	case OP_DELEGPURGE:
   2481  0  stevel 		if (!xdr_DELEGPURGE4args(xdrs, &objp->nfs_argop4_u.
   2482  0  stevel 						opdelegpurge))
   2483  0  stevel 			return (FALSE);
   2484  0  stevel 		break;
   2485  0  stevel 	case OP_DELEGRETURN:
   2486  0  stevel 		if (!xdr_DELEGRETURN4args(xdrs, &objp->nfs_argop4_u.
   2487  0  stevel 						opdelegreturn))
   2488  0  stevel 			return (FALSE);
   2489  0  stevel 		break;
   2490  0  stevel 	case OP_GETATTR:
   2491  0  stevel 		if (!xdr_GETATTR4args(xdrs, &objp->nfs_argop4_u.
   2492  0  stevel 						opgetattr))
   2493  0  stevel 			return (FALSE);
   2494  0  stevel 		break;
   2495  0  stevel 	case OP_GETFH:
   2496  0  stevel 		break;
   2497  0  stevel 	case OP_LINK:
   2498  0  stevel 		if (!xdr_LINK4args(xdrs, &objp->nfs_argop4_u.oplink))
   2499  0  stevel 			return (FALSE);
   2500  0  stevel 		break;
   2501  0  stevel 	case OP_LOCK:
   2502  0  stevel 		if (!xdr_LOCK4args(xdrs, &objp->nfs_argop4_u.oplock))
   2503  0  stevel 			return (FALSE);
   2504  0  stevel 		break;
   2505  0  stevel 	case OP_LOCKT:
   2506  0  stevel 		if (!xdr_LOCKT4args(xdrs, &objp->nfs_argop4_u.oplockt))
   2507  0  stevel 			return (FALSE);
   2508  0  stevel 		break;
   2509  0  stevel 	case OP_LOCKU:
   2510  0  stevel 		if (!xdr_LOCKU4args(xdrs, &objp->nfs_argop4_u.oplocku))
   2511  0  stevel 			return (FALSE);
   2512  0  stevel 		break;
   2513  0  stevel 	case OP_LOOKUP:
   2514  0  stevel 		if (!xdr_LOOKUP4args(xdrs, &objp->nfs_argop4_u.oplookup))
   2515  0  stevel 			return (FALSE);
   2516  0  stevel 		break;
   2517  0  stevel 	case OP_LOOKUPP:
   2518  0  stevel 		break;
   2519  0  stevel 	case OP_NVERIFY:
   2520  0  stevel 		if (!xdr_NVERIFY4args(xdrs, &objp->nfs_argop4_u.opnverify))
   2521  0  stevel 			return (FALSE);
   2522  0  stevel 		break;
   2523  0  stevel 	case OP_OPEN:
   2524  0  stevel 		if (!xdr_OPEN4args(xdrs, &objp->nfs_argop4_u.opopen))
   2525  0  stevel 			return (FALSE);
   2526  0  stevel 		break;
   2527  0  stevel 	case OP_OPENATTR:
   2528  0  stevel 		if (!xdr_OPENATTR4args(xdrs, &objp->nfs_argop4_u.opopenattr))
   2529  0  stevel 			return (FALSE);
   2530  0  stevel 		break;
   2531  0  stevel 	case OP_OPEN_CONFIRM:
   2532  0  stevel 		if (!xdr_OPEN_CONFIRM4args(xdrs, &objp->nfs_argop4_u.
   2533  0  stevel 						opopen_confirm))
   2534  0  stevel 			return (FALSE);
   2535  0  stevel 		break;
   2536  0  stevel 	case OP_OPEN_DOWNGRADE:
   2537  0  stevel 		if (!xdr_OPEN_DOWNGRADE4args(xdrs, &objp->nfs_argop4_u.
   2538  0  stevel 						opopen_downgrade))
   2539  0  stevel 			return (FALSE);
   2540  0  stevel 		break;
   2541  0  stevel 	case OP_PUTFH:
   2542  0  stevel 		if (!xdr_PUTFH4args(xdrs, &objp->nfs_argop4_u.opputfh))
   2543  0  stevel 			return (FALSE);
   2544  0  stevel 		break;
   2545  0  stevel 	case OP_PUTPUBFH:
   2546  0  stevel 		break;
   2547  0  stevel 	case OP_PUTROOTFH:
   2548  0  stevel 		break;
   2549  0  stevel 	case OP_READ:
   2550  0  stevel 		if (!xdr_READ4args(xdrs, &objp->nfs_argop4_u.opread))
   2551  0  stevel 			return (FALSE);
   2552  0  stevel 		break;
   2553  0  stevel 	case OP_READDIR:
   2554  0  stevel 		if (!xdr_READDIR4args(xdrs, &objp->nfs_argop4_u.opreaddir))
   2555  0  stevel 			return (FALSE);
   2556  0  stevel 		break;
   2557  0  stevel 	case OP_READLINK:
   2558  0  stevel 		break;
   2559  0  stevel 	case OP_REMOVE:
   2560  0  stevel 		if (!xdr_REMOVE4args(xdrs, &objp->nfs_argop4_u.opremove))
   2561  0  stevel 			return (FALSE);
   2562  0  stevel 		break;
   2563  0  stevel 	case OP_RENAME:
   2564  0  stevel 		if (!xdr_RENAME4args(xdrs, &objp->nfs_argop4_u.oprename))
   2565  0  stevel 			return (FALSE);
   2566  0  stevel 		break;
   2567  0  stevel 	case OP_RENEW:
   2568  0  stevel 		if (!xdr_RENEW4args(xdrs, &objp->nfs_argop4_u.oprenew))
   2569  0  stevel 			return (FALSE);
   2570  0  stevel 		break;
   2571  0  stevel 	case OP_RESTOREFH:
   2572  0  stevel 		break;
   2573  0  stevel 	case OP_SAVEFH:
   2574  0  stevel 		break;
   2575  0  stevel 	case OP_SECINFO:
   2576  0  stevel 		if (!xdr_SECINFO4args(xdrs, &objp->nfs_argop4_u.opsecinfo))
   2577  0  stevel 			return (FALSE);
   2578  0  stevel 		break;
   2579  0  stevel 	case OP_SETATTR:
   2580  0  stevel 		if (!xdr_SETATTR4args(xdrs, &objp->nfs_argop4_u.opsetattr))
   2581  0  stevel 			return (FALSE);
   2582  0  stevel 		break;
   2583  0  stevel 	case OP_SETCLIENTID:
   2584  0  stevel 		if (!xdr_SETCLIENTID4args(xdrs, &objp->nfs_argop4_u.
   2585  0  stevel 						opsetclientid))
   2586  0  stevel 			return (FALSE);
   2587  0  stevel 		break;
   2588  0  stevel 	case OP_SETCLIENTID_CONFIRM:
   2589  0  stevel 		if (!xdr_SETCLIENTID_CONFIRM4args(xdrs, &objp->nfs_argop4_u.
   2590  0  stevel 							opsetclientid_confirm))
   2591  0  stevel 			return (FALSE);
   2592  0  stevel 		break;
   2593  0  stevel 	case OP_VERIFY:
   2594  0  stevel 		if (!xdr_VERIFY4args(xdrs, &objp->nfs_argop4_u.opverify))
   2595  0  stevel 			return (FALSE);
   2596  0  stevel 		break;
   2597  0  stevel 	case OP_WRITE:
   2598  0  stevel 		if (!xdr_WRITE4args(xdrs, &objp->nfs_argop4_u.opwrite))
   2599  0  stevel 			return (FALSE);
   2600  0  stevel 		break;
   2601  0  stevel 	case OP_RELEASE_LOCKOWNER:
   2602  0  stevel 		if (!xdr_RELEASE_LOCKOWNER4args(xdrs,
   2603  0  stevel 				&objp->nfs_argop4_u.oprelease_lockowner))
   2604  0  stevel 			return (FALSE);
   2605  0  stevel 		break;
   2606  0  stevel 	case OP_ILLEGAL:
   2607  0  stevel 		break;
   2608  0  stevel 	default:
   2609  0  stevel 		return (FALSE);
   2610  0  stevel 	}
   2611  0  stevel 	return (TRUE);
   2612  0  stevel }
   2613  0  stevel 
   2614  0  stevel bool_t
   2615  0  stevel xdr_nfs_resop4(register XDR *xdrs, nfs_resop4 *objp)
   2616  0  stevel {
   2617  0  stevel 	nfs4_skip_bytes = 0;
   2618  0  stevel 	if (!xdr_nfs_opnum4(xdrs, &objp->resop))
   2619  0  stevel 		return (FALSE);
   2620  0  stevel 	switch (objp->resop) {
   2621  0  stevel 	case OP_ACCESS:
   2622  0  stevel 		if (!xdr_ACCESS4res(xdrs, &objp->nfs_resop4_u.opaccess))
   2623  0  stevel 			return (FALSE);
   2624  0  stevel 		break;
   2625  0  stevel 	case OP_CLOSE:
   2626  0  stevel 		if (!xdr_CLOSE4res(xdrs, &objp->nfs_resop4_u.opclose))
   2627  0  stevel 			return (FALSE);
   2628  0  stevel 		break;
   2629  0  stevel 	case OP_COMMIT:
   2630  0  stevel 		if (!xdr_COMMIT4res(xdrs, &objp->nfs_resop4_u.opcommit))
   2631  0  stevel 			return (FALSE);
   2632  0  stevel 		break;
   2633  0  stevel 	case OP_CREATE:
   2634  0  stevel 		if (!xdr_CREATE4res(xdrs, &objp->nfs_resop4_u.opcreate))
   2635  0  stevel 			return (FALSE);
   2636  0  stevel 		break;
   2637  0  stevel 	case OP_DELEGPURGE:
   2638  0  stevel 		if (!xdr_DELEGPURGE4res(xdrs, &objp->nfs_resop4_u.opdelegpurge))
   2639  0  stevel 			return (FALSE);
   2640  0  stevel 		break;
   2641  0  stevel 	case OP_DELEGRETURN:
   2642  0  stevel 		if (!xdr_DELEGRETURN4res(xdrs, &objp->nfs_resop4_u.
   2643  0  stevel 						opdelegreturn))
   2644  0  stevel 			return (FALSE);
   2645  0  stevel 		break;
   2646  0  stevel 	case OP_GETATTR:
   2647  0  stevel 		if (!xdr_GETATTR4res(xdrs, &objp->nfs_resop4_u.opgetattr))
   2648  0  stevel 			return (FALSE);
   2649  0  stevel 		break;
   2650  0  stevel 	case OP_GETFH:
   2651  0  stevel 		if (!xdr_GETFH4res(xdrs, &objp->nfs_resop4_u.opgetfh))
   2652  0  stevel 			return (FALSE);
   2653  0  stevel 		break;
   2654  0  stevel 	case OP_LINK:
   2655  0  stevel 		if (!xdr_LINK4res(xdrs, &objp->nfs_resop4_u.oplink))
   2656  0  stevel 			return (FALSE);
   2657  0  stevel 		break;
   2658  0  stevel 	case OP_LOCK:
   2659  0  stevel 		if (!xdr_LOCK4res(xdrs, &objp->nfs_resop4_u.oplock))
   2660  0  stevel 			return (FALSE);
   2661  0  stevel 		break;
   2662  0  stevel 	case OP_LOCKT:
   2663  0  stevel 		if (!xdr_LOCKT4res(xdrs, &objp->nfs_resop4_u.oplockt))
   2664  0  stevel 			return (FALSE);
   2665  0  stevel 		break;
   2666  0  stevel 	case OP_LOCKU:
   2667  0  stevel 		if (!xdr_LOCKU4res(xdrs, &objp->nfs_resop4_u.oplocku))
   2668  0  stevel 			return (FALSE);
   2669  0  stevel 		break;
   2670  0  stevel 	case OP_LOOKUP:
   2671  0  stevel 		if (!xdr_LOOKUP4res(xdrs, &objp->nfs_resop4_u.oplookup))
   2672  0  stevel 			return (FALSE);
   2673  0  stevel 		break;
   2674  0  stevel 	case OP_LOOKUPP:
   2675  0  stevel 		if (!xdr_LOOKUPP4res(xdrs, &objp->nfs_resop4_u.oplookupp))
   2676  0  stevel 			return (FALSE);
   2677  0  stevel 		break;
   2678  0  stevel 	case OP_NVERIFY:
   2679  0  stevel 		if (!xdr_NVERIFY4res(xdrs, &objp->nfs_resop4_u.opnverify))
   2680  0  stevel 			return (FALSE);
   2681  0  stevel 		break;
   2682  0  stevel 	case OP_OPEN:
   2683  0  stevel 		if (!xdr_OPEN4res(xdrs, &objp->nfs_resop4_u.opopen))
   2684  0  stevel 			return (FALSE);
   2685  0  stevel 		break;
   2686  0  stevel 	case OP_OPENATTR:
   2687  0  stevel 		if (!xdr_OPENATTR4res(xdrs, &objp->nfs_resop4_u.opopenattr))
   2688  0  stevel 			return (FALSE);
   2689  0  stevel 		break;
   2690  0  stevel 	case OP_OPEN_CONFIRM:
   2691  0  stevel 		if (!xdr_OPEN_CONFIRM4res(xdrs, &objp->nfs_resop4_u.
   2692  0  stevel 						opopen_confirm))
   2693  0  stevel 			return (FALSE);
   2694  0  stevel 		break;
   2695  0  stevel 	case OP_OPEN_DOWNGRADE:
   2696  0  stevel 		if (!xdr_OPEN_DOWNGRADE4res(xdrs, &objp->nfs_resop4_u.
   2697  0  stevel 						opopen_downgrade))
   2698  0  stevel 			return (FALSE);
   2699  0  stevel 		break;
   2700  0  stevel 	case OP_PUTFH:
   2701  0  stevel 		if (!xdr_PUTFH4res(xdrs, &objp->nfs_resop4_u.opputfh))
   2702  0  stevel 			return (FALSE);
   2703  0  stevel 		break;
   2704  0  stevel 	case OP_PUTPUBFH:
   2705  0  stevel 		if (!xdr_PUTPUBFH4res(xdrs, &objp->nfs_resop4_u.opputpubfh))
   2706  0  stevel 			return (FALSE);
   2707  0  stevel 		break;
   2708  0  stevel 	case OP_PUTROOTFH:
   2709  0  stevel 		if (!xdr_PUTROOTFH4res(xdrs, &objp->nfs_resop4_u.opputrootfh))
   2710  0  stevel 			return (FALSE);
   2711  0  stevel 		break;
   2712  0  stevel 	case OP_READ:
   2713  0  stevel 		if (!xdr_READ4res(xdrs, &objp->nfs_resop4_u.opread))
   2714  0  stevel 			return (FALSE);
   2715  0  stevel 		break;
   2716  0  stevel 	case OP_READDIR:
   2717  0  stevel 		if (!xdr_READDIR4res(xdrs, &objp->nfs_resop4_u.opreaddir))
   2718  0  stevel 			return (FALSE);
   2719  0  stevel 		break;
   2720  0  stevel 	case OP_READLINK:
   2721  0  stevel 		if (!xdr_READLINK4res(xdrs, &objp->nfs_resop4_u.opreadlink))
   2722  0  stevel 			return (FALSE);
   2723  0  stevel 		break;
   2724  0  stevel 	case OP_REMOVE:
   2725  0  stevel 		if (!xdr_REMOVE4res(xdrs, &objp->nfs_resop4_u.opremove))
   2726  0  stevel 			return (FALSE);
   2727  0  stevel 		break;
   2728  0  stevel 	case OP_RENAME:
   2729  0  stevel 		if (!xdr_RENAME4res(xdrs, &objp->nfs_resop4_u.oprename))
   2730  0  stevel 			return (FALSE);
   2731  0  stevel 		break;
   2732  0  stevel 	case OP_RENEW:
   2733  0  stevel 		if (!xdr_RENEW4res(xdrs, &objp->nfs_resop4_u.oprenew))
   2734  0  stevel 			return (FALSE);
   2735  0  stevel 		break;
   2736  0  stevel 	case OP_RESTOREFH:
   2737  0  stevel 		if (!xdr_RESTOREFH4res(xdrs, &objp->nfs_resop4_u.oprestorefh))
   2738  0  stevel 			return (FALSE);
   2739  0  stevel 		break;
   2740  0  stevel 	case OP_SAVEFH:
   2741  0  stevel 		if (!xdr_SAVEFH4res(xdrs, &objp->nfs_resop4_u.opsavefh))
   2742  0  stevel 			return (FALSE);
   2743  0  stevel 		break;
   2744  0  stevel 	case OP_SECINFO:
   2745  0  stevel 		if (!xdr_SECINFO4res(xdrs, &objp->nfs_resop4_u.opsecinfo))
   2746  0  stevel 			return (FALSE);
   2747  0  stevel 		break;
   2748  0  stevel 	case OP_SETATTR:
   2749  0  stevel 		if (!xdr_SETATTR4res(xdrs, &objp->nfs_resop4_u.opsetattr))
   2750  0  stevel 			return (FALSE);
   2751  0  stevel 		break;
   2752  0  stevel 	case OP_SETCLIENTID:
   2753  0  stevel 		if (!xdr_SETCLIENTID4res(xdrs, &objp->nfs_resop4_u.
   2754  0  stevel 						opsetclientid))
   2755  0  stevel 			return (FALSE);
   2756  0  stevel 		break;
   2757  0  stevel 	case OP_SETCLIENTID_CONFIRM:
   2758  0  stevel 		if (!xdr_SETCLIENTID_CONFIRM4res(xdrs, &objp->nfs_resop4_u.
   2759  0  stevel 							opsetclientid_confirm))
   2760  0  stevel 			return (FALSE);
   2761  0  stevel 		break;
   2762  0  stevel 	case OP_VERIFY:
   2763  0  stevel 		if (!xdr_VERIFY4res(xdrs, &objp->nfs_resop4_u.opverify))
   2764  0  stevel 			return (FALSE);
   2765  0  stevel 		break;
   2766  0  stevel 	case OP_WRITE:
   2767  0  stevel 		if (!xdr_WRITE4res(xdrs, &objp->nfs_resop4_u.opwrite))
   2768  0  stevel 			return (FALSE);
   2769  0  stevel 		break;
   2770  0  stevel 	case OP_RELEASE_LOCKOWNER:
   2771  0  stevel 		if (!xdr_RELEASE_LOCKOWNER4res(xdrs,
   2772  0  stevel 				&objp->nfs_resop4_u.oprelease_lockowner))
   2773  0  stevel 			return (FALSE);
   2774  0  stevel 		break;
   2775  0  stevel 	case OP_ILLEGAL:
   2776  0  stevel 		if (!xdr_ILLEGAL4res(xdrs, &objp->nfs_resop4_u.opillegal))
   2777  0  stevel 			return (FALSE);
   2778  0  stevel 		break;
   2779  0  stevel 	default:
   2780  0  stevel 		return (FALSE);
   2781  0  stevel 	}
   2782  0  stevel 	return (TRUE);
   2783  0  stevel }
   2784  0  stevel 
   2785  0  stevel bool_t
   2786  0  stevel xdr_COMPOUND4args(register XDR *xdrs, COMPOUND4args *objp)
   2787  0  stevel {
   2788  0  stevel 
   2789  0  stevel 	if (!xdr_utf8string(xdrs, &objp->tag))
   2790  0  stevel 		return (FALSE);
   2791  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->minorversion))
   2792  0  stevel 		return (FALSE);
   2793  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->argarray.argarray_val,
   2794  0  stevel 			(uint_t *)&objp->argarray.argarray_len, ~0,
   2795  0  stevel 			sizeof (nfs_argop4), (xdrproc_t)xdr_nfs_argop4))
   2796  0  stevel 		return (FALSE);
   2797  0  stevel 	return (TRUE);
   2798  0  stevel }
   2799  0  stevel 
   2800  0  stevel bool_t
   2801  0  stevel xdr_COMPOUND4res(register XDR *xdrs, COMPOUND4res *objp)
   2802  0  stevel {
   2803  0  stevel 
   2804  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2805  0  stevel 		return (FALSE);
   2806  0  stevel 	if (!xdr_utf8string(xdrs, &objp->tag))
   2807  0  stevel 		return (FALSE);
   2808  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->resarray.resarray_val,
   2809  0  stevel 			(uint_t *)&objp->resarray.resarray_len, ~0,
   2810  0  stevel 			sizeof (nfs_resop4), (xdrproc_t)xdr_nfs_resop4))
   2811  0  stevel 		return (FALSE);
   2812  0  stevel 	return (TRUE);
   2813  0  stevel }
   2814  0  stevel 
   2815  0  stevel bool_t
   2816  0  stevel xdr_CB_GETATTR4args(register XDR *xdrs, CB_GETATTR4args *objp)
   2817  0  stevel {
   2818  0  stevel 
   2819  0  stevel 	if (!xdr_nfs_fh4(xdrs, &objp->fh))
   2820  0  stevel 		return (FALSE);
   2821  0  stevel 	if (!xdr_bitmap4(xdrs, &objp->attr_request))
   2822  0  stevel 		return (FALSE);
   2823  0  stevel 	return (TRUE);
   2824  0  stevel }
   2825  0  stevel 
   2826  0  stevel bool_t
   2827  0  stevel xdr_CB_GETATTR4resok(register XDR *xdrs, CB_GETATTR4resok *objp)
   2828  0  stevel {
   2829  0  stevel 
   2830  0  stevel 	if (!xdr_fattr4(xdrs, &objp->obj_attributes))
   2831  0  stevel 		return (FALSE);
   2832  0  stevel 	return (TRUE);
   2833  0  stevel }
   2834  0  stevel 
   2835  0  stevel bool_t
   2836  0  stevel xdr_CB_GETATTR4res(register XDR *xdrs, CB_GETATTR4res *objp)
   2837  0  stevel {
   2838  0  stevel 
   2839  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2840  0  stevel 		return (FALSE);
   2841  0  stevel 	switch (objp->status) {
   2842  0  stevel 	case NFS4_OK:
   2843  0  stevel 		if (!xdr_CB_GETATTR4resok(xdrs, &objp->CB_GETATTR4res_u.resok4))
   2844  0  stevel 			return (FALSE);
   2845  0  stevel 		break;
   2846  0  stevel 	}
   2847  0  stevel 	return (TRUE);
   2848  0  stevel }
   2849  0  stevel 
   2850  0  stevel bool_t
   2851  0  stevel xdr_CB_RECALL4args(register XDR *xdrs, CB_RECALL4args *objp)
   2852  0  stevel {
   2853  0  stevel 
   2854  0  stevel 	if (!xdr_stateid4(xdrs, &objp->stateid))
   2855  0  stevel 		return (FALSE);
   2856  0  stevel 	if (!xdr_bool(xdrs, &objp->truncate))
   2857  0  stevel 		return (FALSE);
   2858  0  stevel 	if (!xdr_nfs_fh4(xdrs, &objp->fh))
   2859  0  stevel 		return (FALSE);
   2860  0  stevel 	return (TRUE);
   2861  0  stevel }
   2862  0  stevel 
   2863  0  stevel bool_t
   2864  0  stevel xdr_CB_RECALL4res(register XDR *xdrs, CB_RECALL4res *objp)
   2865  0  stevel {
   2866  0  stevel 
   2867  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2868  0  stevel 		return (FALSE);
   2869  0  stevel 	return (TRUE);
   2870  0  stevel }
   2871  0  stevel 
   2872  0  stevel bool_t
   2873  0  stevel xdr_CB_ILLEGAL4res(register XDR *xdrs, CB_ILLEGAL4res *objp)
   2874  0  stevel {
   2875  0  stevel 
   2876  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2877  0  stevel 		return (FALSE);
   2878  0  stevel 	return (TRUE);
   2879  0  stevel }
   2880  0  stevel 
   2881  0  stevel bool_t
   2882  0  stevel xdr_nfs_cb_opnum4(register XDR *xdrs, nfs_cb_opnum4 *objp)
   2883  0  stevel {
   2884  0  stevel 
   2885  0  stevel 	if (!xdr_enum(xdrs, (enum_t *)objp))
   2886  0  stevel 		return (FALSE);
   2887  0  stevel 	return (TRUE);
   2888  0  stevel }
   2889  0  stevel 
   2890  0  stevel bool_t
   2891  0  stevel xdr_nfs_cb_argop4(register XDR *xdrs, nfs_cb_argop4 *objp)
   2892  0  stevel {
   2893  0  stevel 
   2894  0  stevel 	if (!xdr_u_int(xdrs, &objp->argop))
   2895  0  stevel 		return (FALSE);
   2896  0  stevel 	switch (objp->argop) {
   2897  0  stevel 	case OP_CB_GETATTR:
   2898  0  stevel 		if (!xdr_CB_GETATTR4args(xdrs, &objp->nfs_cb_argop4_u.
   2899  0  stevel 						opcbgetattr))
   2900  0  stevel 			return (FALSE);
   2901  0  stevel 		break;
   2902  0  stevel 	case OP_CB_RECALL:
   2903  0  stevel 		if (!xdr_CB_RECALL4args(xdrs, &objp->nfs_cb_argop4_u.
   2904  0  stevel 						opcbrecall))
   2905  0  stevel 			return (FALSE);
   2906  0  stevel 		break;
   2907  0  stevel 	case OP_CB_ILLEGAL:
   2908  0  stevel 		break;
   2909  0  stevel 	default:
   2910  0  stevel 		return (FALSE);
   2911  0  stevel 	}
   2912  0  stevel 	return (TRUE);
   2913  0  stevel }
   2914  0  stevel 
   2915  0  stevel bool_t
   2916  0  stevel xdr_nfs_cb_resop4(register XDR *xdrs, nfs_cb_resop4 *objp)
   2917  0  stevel {
   2918  0  stevel 
   2919  0  stevel 	if (!xdr_u_int(xdrs, &objp->resop))
   2920  0  stevel 		return (FALSE);
   2921  0  stevel 	switch (objp->resop) {
   2922  0  stevel 	case OP_CB_GETATTR:
   2923  0  stevel 		if (!xdr_CB_GETATTR4res(xdrs, &objp->nfs_cb_resop4_u.
   2924  0  stevel 						opcbgetattr))
   2925  0  stevel 			return (FALSE);
   2926  0  stevel 		break;
   2927  0  stevel 	case OP_CB_RECALL:
   2928  0  stevel 		if (!xdr_CB_RECALL4res(xdrs, &objp->nfs_cb_resop4_u.opcbrecall))
   2929  0  stevel 			return (FALSE);
   2930  0  stevel 		break;
   2931  0  stevel 	case OP_CB_ILLEGAL:
   2932  0  stevel 		if (!xdr_CB_ILLEGAL4res(xdrs,
   2933  0  stevel 					&objp->nfs_cb_resop4_u.opcbillegal))
   2934  0  stevel 			return (FALSE);
   2935  0  stevel 		break;
   2936  0  stevel 	default:
   2937  0  stevel 		return (FALSE);
   2938  0  stevel 	}
   2939  0  stevel 	return (TRUE);
   2940  0  stevel }
   2941  0  stevel 
   2942  0  stevel bool_t
   2943  0  stevel xdr_CB_COMPOUND4args(register XDR *xdrs, CB_COMPOUND4args *objp)
   2944  0  stevel {
   2945  0  stevel 
   2946  0  stevel 	if (!xdr_utf8string(xdrs, &objp->tag))
   2947  0  stevel 		return (FALSE);
   2948  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->minorversion))
   2949  0  stevel 		return (FALSE);
   2950  0  stevel 	if (!xdr_uint32_t(xdrs, &objp->callback_ident))
   2951  0  stevel 		return (FALSE);
   2952  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->argarray.argarray_val,
   2953  0  stevel 			(uint_t *)&objp->argarray.argarray_len, ~0,
   2954  0  stevel 			sizeof (nfs_cb_argop4), (xdrproc_t)xdr_nfs_cb_argop4))
   2955  0  stevel 		return (FALSE);
   2956  0  stevel 	return (TRUE);
   2957  0  stevel }
   2958  0  stevel 
   2959  0  stevel bool_t
   2960  0  stevel xdr_CB_COMPOUND4res(register XDR *xdrs, CB_COMPOUND4res *objp)
   2961  0  stevel {
   2962  0  stevel 
   2963  0  stevel 	if (!xdr_nfsstat4(xdrs, &objp->status))
   2964  0  stevel 		return (FALSE);
   2965  0  stevel 	if (!xdr_utf8string(xdrs, &objp->tag))
   2966  0  stevel 		return (FALSE);
   2967  0  stevel 	if (!xdr_array(xdrs, (char **)&objp->resarray.resarray_val,
   2968  0  stevel 			(uint_t *)&objp->resarray.resarray_len, ~0,
   2969  0  stevel 			sizeof (nfs_cb_resop4), (xdrproc_t)xdr_nfs_cb_resop4))
   2970  0  stevel 		return (FALSE);
   2971  0  stevel 	return (TRUE);
   2972  0  stevel }
   2973