+/*
+Copyright (c) 2014, Ronnie Sahlberg
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those
+of the authors and should not be interpreted as representing official policies,
+either expressed or implied, of the FreeBSD Project.
+*/
+
/*
* Please do not edit this file.
* It was generated using rpcgen.
return TRUE;
}
-bool_t
-zdr_uint64 (ZDR *zdrs, uint64 *objp)
-{
- register int32_t *buf;
- buf = NULL;
-
- if (!zdr_u_quad_t (zdrs, objp))
- return FALSE;
- return TRUE;
-}
-
bool_t
zdr_cookie3 (ZDR *zdrs, cookie3 *objp)
{
register int32_t *buf;
buf = NULL;
- if (!zdr_uint64 (zdrs, objp))
+ if (!zdr_u_quad_t (zdrs, objp))
return FALSE;
return TRUE;
}
register int32_t *buf;
buf = NULL;
- if (!zdr_uint64 (zdrs, objp))
+ if (!zdr_u_quad_t (zdrs, objp))
return FALSE;
return TRUE;
}
register int32_t *buf;
buf = NULL;
- if (!zdr_uint64 (zdrs, objp))
+ if (!zdr_u_quad_t (zdrs, objp))
return FALSE;
return TRUE;
}
return FALSE;
if (!zdr_specdata3 (zdrs, &objp->rdev))
return FALSE;
- if (!zdr_uint64 (zdrs, &objp->fsid))
+ if (!zdr_u_quad_t (zdrs, &objp->fsid))
return FALSE;
if (!zdr_fileid3 (zdrs, &objp->fileid))
return FALSE;
register int32_t *buf;
buf = NULL;
- if (!zdr_uint64 (zdrs, objp))
+ if (!zdr_u_quad_t (zdrs, objp))
return FALSE;
return TRUE;
}
return TRUE;
}
+bool_t
+zdr_fhandle2 (ZDR *zdrs, fhandle2 objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_opaque (zdrs, objp, FHSIZE2))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_ftype2 (ZDR *zdrs, ftype2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_enum (zdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_fattr2 (ZDR *zdrs, fattr2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+
+ if (zdrs->x_op == ZDR_ENCODE) {
+ if (!zdr_ftype2 (zdrs, &objp->type))
+ return FALSE;
+ buf = ZDR_INLINE (zdrs, 10 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->mode))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->nlink))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->uid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->gid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->size))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocksize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->rdev))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocks))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->fsid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->fileid))
+ return FALSE;
+
+ } else {
+ IZDR_PUT_U_LONG(buf, objp->mode);
+ IZDR_PUT_U_LONG(buf, objp->nlink);
+ IZDR_PUT_U_LONG(buf, objp->uid);
+ IZDR_PUT_U_LONG(buf, objp->gid);
+ IZDR_PUT_U_LONG(buf, objp->size);
+ IZDR_PUT_U_LONG(buf, objp->blocksize);
+ IZDR_PUT_U_LONG(buf, objp->rdev);
+ IZDR_PUT_U_LONG(buf, objp->blocks);
+ IZDR_PUT_U_LONG(buf, objp->fsid);
+ IZDR_PUT_U_LONG(buf, objp->fileid);
+ }
+ if (!zdr_nfstime3 (zdrs, &objp->atime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->mtime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->ctime))
+ return FALSE;
+ return TRUE;
+ } else if (zdrs->x_op == ZDR_DECODE) {
+ if (!zdr_ftype2 (zdrs, &objp->type))
+ return FALSE;
+ buf = ZDR_INLINE (zdrs, 10 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->mode))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->nlink))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->uid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->gid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->size))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocksize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->rdev))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocks))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->fsid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->fileid))
+ return FALSE;
+
+ } else {
+ objp->mode = IZDR_GET_U_LONG(buf);
+ objp->nlink = IZDR_GET_U_LONG(buf);
+ objp->uid = IZDR_GET_U_LONG(buf);
+ objp->gid = IZDR_GET_U_LONG(buf);
+ objp->size = IZDR_GET_U_LONG(buf);
+ objp->blocksize = IZDR_GET_U_LONG(buf);
+ objp->rdev = IZDR_GET_U_LONG(buf);
+ objp->blocks = IZDR_GET_U_LONG(buf);
+ objp->fsid = IZDR_GET_U_LONG(buf);
+ objp->fileid = IZDR_GET_U_LONG(buf);
+ }
+ if (!zdr_nfstime3 (zdrs, &objp->atime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->mtime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->ctime))
+ return FALSE;
+ return TRUE;
+ }
+
+ if (!zdr_ftype2 (zdrs, &objp->type))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->mode))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->nlink))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->uid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->gid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->size))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocksize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->rdev))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocks))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->fsid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->fileid))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->atime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->mtime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->ctime))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_sattr2 (ZDR *zdrs, sattr2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+
+ if (zdrs->x_op == ZDR_ENCODE) {
+ buf = ZDR_INLINE (zdrs, 4 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->mode))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->uid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->gid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->size))
+ return FALSE;
+
+ } else {
+ IZDR_PUT_U_LONG(buf, objp->mode);
+ IZDR_PUT_U_LONG(buf, objp->uid);
+ IZDR_PUT_U_LONG(buf, objp->gid);
+ IZDR_PUT_U_LONG(buf, objp->size);
+ }
+ if (!zdr_nfstime3 (zdrs, &objp->atime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->mtime))
+ return FALSE;
+ return TRUE;
+ } else if (zdrs->x_op == ZDR_DECODE) {
+ buf = ZDR_INLINE (zdrs, 4 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->mode))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->uid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->gid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->size))
+ return FALSE;
+
+ } else {
+ objp->mode = IZDR_GET_U_LONG(buf);
+ objp->uid = IZDR_GET_U_LONG(buf);
+ objp->gid = IZDR_GET_U_LONG(buf);
+ objp->size = IZDR_GET_U_LONG(buf);
+ }
+ if (!zdr_nfstime3 (zdrs, &objp->atime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->mtime))
+ return FALSE;
+ return TRUE;
+ }
+
+ if (!zdr_u_int (zdrs, &objp->mode))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->uid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->gid))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->size))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->atime))
+ return FALSE;
+ if (!zdr_nfstime3 (zdrs, &objp->mtime))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_filename2 (ZDR *zdrs, filename2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_string (zdrs, objp, MAXNAMLEN2))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_path2 (ZDR *zdrs, path2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_string (zdrs, objp, MAXPATHLEN2))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_nfsdata2 (ZDR *zdrs, nfsdata2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_bytes (zdrs, (char **)&objp->nfsdata2_val, (u_int *) &objp->nfsdata2_len, NFSMAXDATA2))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_nfscookie2 (ZDR *zdrs, nfscookie2 objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_opaque (zdrs, objp, NFSCOOKIESIZE2))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_entry2 (ZDR *zdrs, entry2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_u_int (zdrs, &objp->fileid))
+ return FALSE;
+ if (!zdr_filename2 (zdrs, &objp->name))
+ return FALSE;
+ if (!zdr_nfscookie2 (zdrs, objp->cookie))
+ return FALSE;
+ if (!zdr_pointer (zdrs, (char **)&objp->nextentry, sizeof (entry2), (zdrproc_t) zdr_entry2))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_diropargs2 (ZDR *zdrs, diropargs2 *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->dir))
+ return FALSE;
+ if (!zdr_filename2 (zdrs, &objp->name))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_GETATTR2args (ZDR *zdrs, GETATTR2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->fhandle))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_GETATTR2resok (ZDR *zdrs, GETATTR2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_GETATTR2res (ZDR *zdrs, GETATTR2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_GETATTR2resok (zdrs, &objp->GETATTR2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_SETATTR2args (ZDR *zdrs, SETATTR2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->fhandle))
+ return FALSE;
+ if (!zdr_sattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_SETATTR2resok (ZDR *zdrs, SETATTR2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_SETATTR2res (ZDR *zdrs, SETATTR2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_SETATTR2resok (zdrs, &objp->SETATTR2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_LOOKUP2args (ZDR *zdrs, LOOKUP2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->what))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_LOOKUP2resok (ZDR *zdrs, LOOKUP2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_LOOKUP2res (ZDR *zdrs, LOOKUP2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_LOOKUP2resok (zdrs, &objp->LOOKUP2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_READLINK2args (ZDR *zdrs, READLINK2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READLINK2resok (ZDR *zdrs, READLINK2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_path2 (zdrs, &objp->data))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READLINK2res (ZDR *zdrs, READLINK2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_READLINK2resok (zdrs, &objp->READLINK2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_READ2args (ZDR *zdrs, READ2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->offset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->count))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->totalcount))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READ2resok (ZDR *zdrs, READ2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ if (!zdr_nfsdata2 (zdrs, &objp->data))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READ2res (ZDR *zdrs, READ2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_READ2resok (zdrs, &objp->READ2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_WRITE2args (ZDR *zdrs, WRITE2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+
+ if (zdrs->x_op == ZDR_ENCODE) {
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ buf = ZDR_INLINE (zdrs, 3 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->beginoffset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->offset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->totalcount))
+ return FALSE;
+
+ } else {
+ IZDR_PUT_U_LONG(buf, objp->beginoffset);
+ IZDR_PUT_U_LONG(buf, objp->offset);
+ IZDR_PUT_U_LONG(buf, objp->totalcount);
+ }
+ if (!zdr_nfsdata2 (zdrs, &objp->data))
+ return FALSE;
+ return TRUE;
+ } else if (zdrs->x_op == ZDR_DECODE) {
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ buf = ZDR_INLINE (zdrs, 3 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->beginoffset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->offset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->totalcount))
+ return FALSE;
+
+ } else {
+ objp->beginoffset = IZDR_GET_U_LONG(buf);
+ objp->offset = IZDR_GET_U_LONG(buf);
+ objp->totalcount = IZDR_GET_U_LONG(buf);
+ }
+ if (!zdr_nfsdata2 (zdrs, &objp->data))
+ return FALSE;
+ return TRUE;
+ }
+
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->beginoffset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->offset))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->totalcount))
+ return FALSE;
+ if (!zdr_nfsdata2 (zdrs, &objp->data))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_WRITE2resok (ZDR *zdrs, WRITE2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_WRITE2res (ZDR *zdrs, WRITE2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_WRITE2resok (zdrs, &objp->WRITE2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_CREATE2args (ZDR *zdrs, CREATE2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->where))
+ return FALSE;
+ if (!zdr_sattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_CREATE2resok (ZDR *zdrs, CREATE2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_CREATE2res (ZDR *zdrs, CREATE2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_CREATE2resok (zdrs, &objp->CREATE2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_REMOVE2args (ZDR *zdrs, REMOVE2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->what))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_REMOVE2res (ZDR *zdrs, REMOVE2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_RENAME2args (ZDR *zdrs, RENAME2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->from))
+ return FALSE;
+ if (!zdr_diropargs2 (zdrs, &objp->to))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_RENAME2res (ZDR *zdrs, RENAME2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_LINK2args (ZDR *zdrs, LINK2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->from))
+ return FALSE;
+ if (!zdr_diropargs2 (zdrs, &objp->to))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_LINK2res (ZDR *zdrs, LINK2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_SYMLINK2args (ZDR *zdrs, SYMLINK2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->from))
+ return FALSE;
+ if (!zdr_path2 (zdrs, &objp->to))
+ return FALSE;
+ if (!zdr_sattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_SYMLINK2res (ZDR *zdrs, SYMLINK2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_MKDIR2args (ZDR *zdrs, MKDIR2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->where))
+ return FALSE;
+ if (!zdr_sattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_MKDIR2resok (ZDR *zdrs, MKDIR2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->file))
+ return FALSE;
+ if (!zdr_fattr2 (zdrs, &objp->attributes))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_MKDIR2res (ZDR *zdrs, MKDIR2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_MKDIR2resok (zdrs, &objp->MKDIR2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_RMDIR2args (ZDR *zdrs, RMDIR2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_diropargs2 (zdrs, &objp->what))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_RMDIR2res (ZDR *zdrs, RMDIR2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READDIR2args (ZDR *zdrs, READDIR2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->dir))
+ return FALSE;
+ if (!zdr_nfscookie2 (zdrs, objp->cookie))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->count))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READDIR2resok (ZDR *zdrs, READDIR2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_pointer (zdrs, (char **)&objp->entries, sizeof (entry2), (zdrproc_t) zdr_entry2))
+ return FALSE;
+ if (!zdr_bool (zdrs, &objp->eof))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_READDIR2res (ZDR *zdrs, READDIR2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_READDIR2resok (zdrs, &objp->READDIR2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+zdr_STATFS2args (ZDR *zdrs, STATFS2args *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_fhandle2 (zdrs, objp->dir))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_STATFS2resok (ZDR *zdrs, STATFS2resok *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+
+ if (zdrs->x_op == ZDR_ENCODE) {
+ buf = ZDR_INLINE (zdrs, 5 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->tsize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bsize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocks))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bfree))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bavail))
+ return FALSE;
+ } else {
+ IZDR_PUT_U_LONG(buf, objp->tsize);
+ IZDR_PUT_U_LONG(buf, objp->bsize);
+ IZDR_PUT_U_LONG(buf, objp->blocks);
+ IZDR_PUT_U_LONG(buf, objp->bfree);
+ IZDR_PUT_U_LONG(buf, objp->bavail);
+ }
+ return TRUE;
+ } else if (zdrs->x_op == ZDR_DECODE) {
+ buf = ZDR_INLINE (zdrs, 5 * BYTES_PER_ZDR_UNIT);
+ if (buf == NULL) {
+ if (!zdr_u_int (zdrs, &objp->tsize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bsize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocks))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bfree))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bavail))
+ return FALSE;
+ } else {
+ objp->tsize = IZDR_GET_U_LONG(buf);
+ objp->bsize = IZDR_GET_U_LONG(buf);
+ objp->blocks = IZDR_GET_U_LONG(buf);
+ objp->bfree = IZDR_GET_U_LONG(buf);
+ objp->bavail = IZDR_GET_U_LONG(buf);
+ }
+ return TRUE;
+ }
+
+ if (!zdr_u_int (zdrs, &objp->tsize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bsize))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->blocks))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bfree))
+ return FALSE;
+ if (!zdr_u_int (zdrs, &objp->bavail))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+zdr_STATFS2res (ZDR *zdrs, STATFS2res *objp)
+{
+ register int32_t *buf;
+ buf = NULL;
+
+ if (!zdr_nfsstat3 (zdrs, &objp->status))
+ return FALSE;
+ switch (objp->status) {
+ case NFS3_OK:
+ if (!zdr_STATFS2resok (zdrs, &objp->STATFS2res_u.resok))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
bool_t
zdr_nfsacl_type (ZDR *zdrs, nfsacl_type *objp)
{