/* * Please do not edit this file. * It was generated using rpcgen. */ #include "nfs.h" #include "xdr_impl_inline.h" bool_t xdr_cookieverf3 (XDR *xdrs, cookieverf3 objp) { if (!xdr_opaque (xdrs, objp, NFS3_COOKIEVERFSIZE)) return FALSE; return TRUE; } bool_t xdr_cookie3 (XDR *xdrs, cookie3 *objp) { if (!xdr_uint64_t (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_nfs_fh3 (XDR *xdrs, nfs_fh3 *objp) { if (!xdr_bytes(xdrs, objp, NFS3_FHSIZE)) return FALSE; return TRUE; } bool_t xdr_filename3 (XDR *xdrs, filename3 *objp) { if (!xdr_string (xdrs, objp, ~0)) return FALSE; return TRUE; } bool_t xdr_diropargs3 (XDR *xdrs, diropargs3 *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->dir)) return FALSE; if (!xdr_filename3 (xdrs, &objp->name)) return FALSE; return TRUE; } bool_t xdr_ftype3 (XDR *xdrs, ftype3 *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_mode3 (XDR *xdrs, mode3 *objp) { if (!xdr_u_int (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_uid3 (XDR *xdrs, uid3 *objp) { if (!xdr_u_int (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_gid3 (XDR *xdrs, gid3 *objp) { if (!xdr_u_int (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_size3 (XDR *xdrs, size3 *objp) { if (!xdr_uint64_t (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_fileid3 (XDR *xdrs, fileid3 *objp) { if (!xdr_uint64_t (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_specdata3 (XDR *xdrs, specdata3 *objp) { if (!xdr_u_int (xdrs, &objp->specdata1)) return FALSE; if (!xdr_u_int (xdrs, &objp->specdata2)) return FALSE; return TRUE; } bool_t xdr_nfstime3 (XDR *xdrs, nfstime3 *objp) { if (!xdr_u_int (xdrs, &objp->seconds)) return FALSE; if (!xdr_u_int (xdrs, &objp->nseconds)) return FALSE; return TRUE; } bool_t xdr_fattr3 (XDR *xdrs, fattr3 *objp) { if (!xdr_ftype3 (xdrs, &objp->type)) return FALSE; if (!xdr_mode3 (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->nlink)) return FALSE; if (!xdr_uid3 (xdrs, &objp->uid)) return FALSE; if (!xdr_gid3 (xdrs, &objp->gid)) return FALSE; if (!xdr_size3 (xdrs, &objp->size)) return FALSE; if (!xdr_size3 (xdrs, &objp->used)) return FALSE; if (!xdr_specdata3 (xdrs, &objp->rdev)) return FALSE; if (!xdr_uint64_t (xdrs, &objp->fsid)) return FALSE; if (!xdr_fileid3 (xdrs, &objp->fileid)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->ctime)) return FALSE; return TRUE; } bool_t xdr_post_op_attr (XDR *xdrs, post_op_attr *objp) { if (!xdr_bool (xdrs, &objp->attributes_follow)) return FALSE; switch (objp->attributes_follow) { case TRUE: if (!xdr_fattr3 (xdrs, &objp->attributes)) return FALSE; break; case FALSE: break; default: return FALSE; } return TRUE; } bool_t xdr_nfsstat3 (XDR *xdrs, nfsstat3 *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_stable_how (XDR *xdrs, stable_how *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_offset3 (XDR *xdrs, offset3 *objp) { if (!xdr_uint64_t (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_count3 (XDR *xdrs, count3 *objp) { if (!xdr_u_int (xdrs, objp)) return FALSE; return TRUE; } bool_t xdr_wcc_attr (XDR *xdrs, wcc_attr *objp) { if (!xdr_size3 (xdrs, &objp->size)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->ctime)) return FALSE; return TRUE; } bool_t xdr_pre_op_attr (XDR *xdrs, pre_op_attr *objp) { if (!xdr_bool (xdrs, &objp->attributes_follow)) return FALSE; switch (objp->attributes_follow) { case TRUE: if (!xdr_wcc_attr (xdrs, &objp->attributes)) return FALSE; break; case FALSE: break; default: return FALSE; } return TRUE; } bool_t xdr_wcc_data (XDR *xdrs, wcc_data *objp) { if (!xdr_pre_op_attr (xdrs, &objp->before)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->after)) return FALSE; return TRUE; } bool_t xdr_WRITE3args (XDR *xdrs, WRITE3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->file)) return FALSE; if (!xdr_offset3 (xdrs, &objp->offset)) return FALSE; if (!xdr_count3 (xdrs, &objp->count)) return FALSE; if (!xdr_stable_how (xdrs, &objp->stable)) return FALSE; if (!xdr_bytes(xdrs, &objp->data, ~0)) return FALSE; return TRUE; } bool_t xdr_writeverf3 (XDR *xdrs, writeverf3 objp) { if (!xdr_opaque (xdrs, objp, NFS3_WRITEVERFSIZE)) return FALSE; return TRUE; } bool_t xdr_WRITE3resok (XDR *xdrs, WRITE3resok *objp) { if (!xdr_wcc_data (xdrs, &objp->file_wcc)) return FALSE; if (!xdr_count3 (xdrs, &objp->count)) return FALSE; if (!xdr_stable_how (xdrs, &objp->committed)) return FALSE; if (!xdr_writeverf3 (xdrs, objp->verf)) return FALSE; return TRUE; } bool_t xdr_WRITE3resfail (XDR *xdrs, WRITE3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->file_wcc)) return FALSE; return TRUE; } bool_t xdr_WRITE3res (XDR *xdrs, WRITE3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_WRITE3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_WRITE3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_LOOKUP3args (XDR *xdrs, LOOKUP3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->what)) return FALSE; return TRUE; } bool_t xdr_LOOKUP3resok (XDR *xdrs, LOOKUP3resok *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->object)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->dir_attributes)) return FALSE; return TRUE; } bool_t xdr_LOOKUP3resfail (XDR *xdrs, LOOKUP3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->dir_attributes)) return FALSE; return TRUE; } bool_t xdr_LOOKUP3res (XDR *xdrs, LOOKUP3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_LOOKUP3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_LOOKUP3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_COMMIT3args (XDR *xdrs, COMMIT3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->file)) return FALSE; if (!xdr_offset3 (xdrs, &objp->offset)) return FALSE; if (!xdr_count3 (xdrs, &objp->count)) return FALSE; return TRUE; } bool_t xdr_COMMIT3resok (XDR *xdrs, COMMIT3resok *objp) { if (!xdr_wcc_data (xdrs, &objp->file_wcc)) return FALSE; if (!xdr_writeverf3 (xdrs, objp->verf)) return FALSE; return TRUE; } bool_t xdr_COMMIT3resfail (XDR *xdrs, COMMIT3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->file_wcc)) return FALSE; return TRUE; } bool_t xdr_COMMIT3res (XDR *xdrs, COMMIT3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_COMMIT3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_COMMIT3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_ACCESS3args (XDR *xdrs, ACCESS3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->object)) return FALSE; if (!xdr_u_int (xdrs, &objp->access)) return FALSE; return TRUE; } bool_t xdr_ACCESS3resok (XDR *xdrs, ACCESS3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_u_int (xdrs, &objp->access)) return FALSE; return TRUE; } bool_t xdr_ACCESS3resfail (XDR *xdrs, ACCESS3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; return TRUE; } bool_t xdr_ACCESS3res (XDR *xdrs, ACCESS3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_ACCESS3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_ACCESS3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_GETATTR3args (XDR *xdrs, GETATTR3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->object)) return FALSE; return TRUE; } bool_t xdr_GETATTR3resok (XDR *xdrs, GETATTR3resok *objp) { if (!xdr_fattr3 (xdrs, &objp->obj_attributes)) return FALSE; return TRUE; } bool_t xdr_GETATTR3res (XDR *xdrs, GETATTR3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_GETATTR3resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_time_how (XDR *xdrs, time_how *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_set_mode3 (XDR *xdrs, set_mode3 *objp) { if (!xdr_bool (xdrs, &objp->set_it)) return FALSE; switch (objp->set_it) { case TRUE: if (!xdr_mode3 (xdrs, &objp->mode)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_set_uid3 (XDR *xdrs, set_uid3 *objp) { if (!xdr_bool (xdrs, &objp->set_it)) return FALSE; switch (objp->set_it) { case TRUE: if (!xdr_uid3 (xdrs, &objp->uid)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_set_gid3 (XDR *xdrs, set_gid3 *objp) { if (!xdr_bool (xdrs, &objp->set_it)) return FALSE; switch (objp->set_it) { case TRUE: if (!xdr_gid3 (xdrs, &objp->gid)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_set_size3 (XDR *xdrs, set_size3 *objp) { if (!xdr_bool (xdrs, &objp->set_it)) return FALSE; switch (objp->set_it) { case TRUE: if (!xdr_size3 (xdrs, &objp->size)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_set_atime (XDR *xdrs, set_atime *objp) { if (!xdr_time_how (xdrs, &objp->set_it)) return FALSE; switch (objp->set_it) { case SET_TO_CLIENT_TIME: if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_set_mtime (XDR *xdrs, set_mtime *objp) { if (!xdr_time_how (xdrs, &objp->set_it)) return FALSE; switch (objp->set_it) { case SET_TO_CLIENT_TIME: if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_sattr3 (XDR *xdrs, sattr3 *objp) { if (!xdr_set_mode3 (xdrs, &objp->mode)) return FALSE; if (!xdr_set_uid3 (xdrs, &objp->uid)) return FALSE; if (!xdr_set_gid3 (xdrs, &objp->gid)) return FALSE; if (!xdr_set_size3 (xdrs, &objp->size)) return FALSE; if (!xdr_set_atime (xdrs, &objp->atime)) return FALSE; if (!xdr_set_mtime (xdrs, &objp->mtime)) return FALSE; return TRUE; } bool_t xdr_createmode3 (XDR *xdrs, createmode3 *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_createverf3 (XDR *xdrs, createverf3 objp) { if (!xdr_opaque (xdrs, objp, NFS3_CREATEVERFSIZE)) return FALSE; return TRUE; } bool_t xdr_createhow3 (XDR *xdrs, createhow3 *objp) { if (!xdr_createmode3 (xdrs, &objp->mode)) return FALSE; switch (objp->mode) { case NFS_UNCHECKED: if (!xdr_sattr3 (xdrs, &objp->obj_attributes)) return FALSE; break; case NFS_GUARDED: if (!xdr_sattr3 (xdrs, &objp->g_obj_attributes)) return FALSE; break; case NFS_EXCLUSIVE: if (!xdr_createverf3 (xdrs, objp->verf)) return FALSE; break; default: return FALSE; } return TRUE; } bool_t xdr_CREATE3args (XDR *xdrs, CREATE3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->where)) return FALSE; if (!xdr_createhow3 (xdrs, &objp->how)) return FALSE; return TRUE; } bool_t xdr_post_op_fh3 (XDR *xdrs, post_op_fh3 *objp) { if (!xdr_bool (xdrs, &objp->handle_follows)) return FALSE; switch (objp->handle_follows) { case TRUE: if (!xdr_nfs_fh3 (xdrs, &objp->handle)) return FALSE; break; case FALSE: break; default: return FALSE; } return TRUE; } bool_t xdr_CREATE3resok (XDR *xdrs, CREATE3resok *objp) { if (!xdr_post_op_fh3 (xdrs, &objp->obj)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_CREATE3resfail (XDR *xdrs, CREATE3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_CREATE3res (XDR *xdrs, CREATE3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_CREATE3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_CREATE3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_REMOVE3args (XDR *xdrs, REMOVE3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->object)) return FALSE; return TRUE; } bool_t xdr_REMOVE3resok (XDR *xdrs, REMOVE3resok *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_REMOVE3resfail (XDR *xdrs, REMOVE3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_REMOVE3res (XDR *xdrs, REMOVE3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_REMOVE3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_REMOVE3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_READ3args (XDR *xdrs, READ3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->file)) return FALSE; if (!xdr_offset3 (xdrs, &objp->offset)) return FALSE; if (!xdr_count3 (xdrs, &objp->count)) return FALSE; return TRUE; } bool_t xdr_READ3resok (XDR *xdrs, READ3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->file_attributes)) return FALSE; if (!xdr_count3 (xdrs, &objp->count)) return FALSE; if (!xdr_bool (xdrs, &objp->eof)) return FALSE; if (!xdr_bytes(xdrs, &objp->data, ~0)) return FALSE; return TRUE; } bool_t xdr_READ3resfail (XDR *xdrs, READ3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->file_attributes)) return FALSE; return TRUE; } bool_t xdr_READ3res (XDR *xdrs, READ3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READ3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_READ3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_FSINFO3args (XDR *xdrs, FSINFO3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->fsroot)) return FALSE; return TRUE; } bool_t xdr_FSINFO3resok (XDR *xdrs, FSINFO3resok *objp) { if (xdrs->x_op == XDR_ENCODE) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->rtmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtpref)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtmult)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtpref)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtmult)) return FALSE; if (!xdr_u_int (xdrs, &objp->dtpref)) return FALSE; } else { IXDR_PUT_U_LONG(buf, objp->rtmax); IXDR_PUT_U_LONG(buf, objp->rtpref); IXDR_PUT_U_LONG(buf, objp->rtmult); IXDR_PUT_U_LONG(buf, objp->wtmax); IXDR_PUT_U_LONG(buf, objp->wtpref); IXDR_PUT_U_LONG(buf, objp->wtmult); IXDR_PUT_U_LONG(buf, objp->dtpref); } if (!xdr_size3 (xdrs, &objp->maxfilesize)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->time_delta)) return FALSE; if (!xdr_u_int (xdrs, &objp->properties)) return FALSE; return TRUE; } else if (xdrs->x_op == XDR_DECODE) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->rtmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtpref)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtmult)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtpref)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtmult)) return FALSE; if (!xdr_u_int (xdrs, &objp->dtpref)) return FALSE; } else { objp->rtmax = IXDR_GET_U_LONG(buf); objp->rtpref = IXDR_GET_U_LONG(buf); objp->rtmult = IXDR_GET_U_LONG(buf); objp->wtmax = IXDR_GET_U_LONG(buf); objp->wtpref = IXDR_GET_U_LONG(buf); objp->wtmult = IXDR_GET_U_LONG(buf); objp->dtpref = IXDR_GET_U_LONG(buf); } if (!xdr_size3 (xdrs, &objp->maxfilesize)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->time_delta)) return FALSE; if (!xdr_u_int (xdrs, &objp->properties)) return FALSE; return TRUE; } if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtpref)) return FALSE; if (!xdr_u_int (xdrs, &objp->rtmult)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtpref)) return FALSE; if (!xdr_u_int (xdrs, &objp->wtmult)) return FALSE; if (!xdr_u_int (xdrs, &objp->dtpref)) return FALSE; if (!xdr_size3 (xdrs, &objp->maxfilesize)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->time_delta)) return FALSE; if (!xdr_u_int (xdrs, &objp->properties)) return FALSE; return TRUE; } bool_t xdr_FSINFO3resfail (XDR *xdrs, FSINFO3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; return TRUE; } bool_t xdr_FSINFO3res (XDR *xdrs, FSINFO3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_FSINFO3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_FSINFO3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_FSSTAT3args (XDR *xdrs, FSSTAT3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->fsroot)) return FALSE; return TRUE; } bool_t xdr_FSSTAT3resok (XDR *xdrs, FSSTAT3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_size3 (xdrs, &objp->tbytes)) return FALSE; if (!xdr_size3 (xdrs, &objp->fbytes)) return FALSE; if (!xdr_size3 (xdrs, &objp->abytes)) return FALSE; if (!xdr_size3 (xdrs, &objp->tfiles)) return FALSE; if (!xdr_size3 (xdrs, &objp->ffiles)) return FALSE; if (!xdr_size3 (xdrs, &objp->afiles)) return FALSE; if (!xdr_u_int (xdrs, &objp->invarsec)) return FALSE; return TRUE; } bool_t xdr_FSSTAT3resfail (XDR *xdrs, FSSTAT3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; return TRUE; } bool_t xdr_FSSTAT3res (XDR *xdrs, FSSTAT3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_FSSTAT3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_FSSTAT3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_PATHCONF3args (XDR *xdrs, PATHCONF3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->object)) return FALSE; return TRUE; } bool_t xdr_PATHCONF3resok (XDR *xdrs, PATHCONF3resok *objp) { if (xdrs->x_op == XDR_ENCODE) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->linkmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->name_max)) return FALSE; if (!xdr_bool (xdrs, &objp->no_trunc)) return FALSE; if (!xdr_bool (xdrs, &objp->chown_restricted)) return FALSE; if (!xdr_bool (xdrs, &objp->case_insensitive)) return FALSE; if (!xdr_bool (xdrs, &objp->case_preserving)) return FALSE; } else { IXDR_PUT_U_LONG(buf, objp->linkmax); IXDR_PUT_U_LONG(buf, objp->name_max); IXDR_PUT_BOOL(buf, objp->no_trunc); IXDR_PUT_BOOL(buf, objp->chown_restricted); IXDR_PUT_BOOL(buf, objp->case_insensitive); IXDR_PUT_BOOL(buf, objp->case_preserving); } return TRUE; } else if (xdrs->x_op == XDR_DECODE) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->linkmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->name_max)) return FALSE; if (!xdr_bool (xdrs, &objp->no_trunc)) return FALSE; if (!xdr_bool (xdrs, &objp->chown_restricted)) return FALSE; if (!xdr_bool (xdrs, &objp->case_insensitive)) return FALSE; if (!xdr_bool (xdrs, &objp->case_preserving)) return FALSE; } else { objp->linkmax = IXDR_GET_U_LONG(buf); objp->name_max = IXDR_GET_U_LONG(buf); objp->no_trunc = IXDR_GET_BOOL(buf); objp->chown_restricted = IXDR_GET_BOOL(buf); objp->case_insensitive = IXDR_GET_BOOL(buf); objp->case_preserving = IXDR_GET_BOOL(buf); } return TRUE; } if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_u_int (xdrs, &objp->linkmax)) return FALSE; if (!xdr_u_int (xdrs, &objp->name_max)) return FALSE; if (!xdr_bool (xdrs, &objp->no_trunc)) return FALSE; if (!xdr_bool (xdrs, &objp->chown_restricted)) return FALSE; if (!xdr_bool (xdrs, &objp->case_insensitive)) return FALSE; if (!xdr_bool (xdrs, &objp->case_preserving)) return FALSE; return TRUE; } bool_t xdr_PATHCONF3resfail (XDR *xdrs, PATHCONF3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; return TRUE; } bool_t xdr_PATHCONF3res (XDR *xdrs, PATHCONF3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_PATHCONF3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_PATHCONF3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_nfspath3 (XDR *xdrs, nfspath3 *objp) { if (!xdr_string (xdrs, objp, ~0)) return FALSE; return TRUE; } bool_t xdr_symlinkdata3 (XDR *xdrs, symlinkdata3 *objp) { if (!xdr_sattr3 (xdrs, &objp->symlink_attributes)) return FALSE; if (!xdr_nfspath3 (xdrs, &objp->symlink_data)) return FALSE; return TRUE; } bool_t xdr_SYMLINK3args (XDR *xdrs, SYMLINK3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->where)) return FALSE; if (!xdr_symlinkdata3 (xdrs, &objp->symlink)) return FALSE; return TRUE; } bool_t xdr_SYMLINK3resok (XDR *xdrs, SYMLINK3resok *objp) { if (!xdr_post_op_fh3 (xdrs, &objp->obj)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_SYMLINK3resfail (XDR *xdrs, SYMLINK3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_SYMLINK3res (XDR *xdrs, SYMLINK3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_SYMLINK3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_SYMLINK3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_READLINK3args (XDR *xdrs, READLINK3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->symlink)) return FALSE; return TRUE; } bool_t xdr_READLINK3resok (XDR *xdrs, READLINK3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->symlink_attributes)) return FALSE; if (!xdr_nfspath3 (xdrs, &objp->data)) return FALSE; return TRUE; } bool_t xdr_READLINK3resfail (XDR *xdrs, READLINK3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->symlink_attributes)) return FALSE; return TRUE; } bool_t xdr_READLINK3res (XDR *xdrs, READLINK3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READLINK3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_READLINK3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_devicedata3 (XDR *xdrs, devicedata3 *objp) { if (!xdr_sattr3 (xdrs, &objp->dev_attributes)) return FALSE; if (!xdr_specdata3 (xdrs, &objp->spec)) return FALSE; return TRUE; } bool_t xdr_mknoddata3 (XDR *xdrs, mknoddata3 *objp) { if (!xdr_ftype3 (xdrs, &objp->type)) return FALSE; switch (objp->type) { case NF3CHR: if (!xdr_devicedata3 (xdrs, &objp->chr_device)) return FALSE; break; case NF3BLK: if (!xdr_devicedata3 (xdrs, &objp->blk_device)) return FALSE; break; case NF3SOCK: if (!xdr_sattr3 (xdrs, &objp->sock_attributes)) return FALSE; break; case NF3FIFO: if (!xdr_sattr3 (xdrs, &objp->pipe_attributes)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_MKNOD3args (XDR *xdrs, MKNOD3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->where)) return FALSE; if (!xdr_mknoddata3 (xdrs, &objp->what)) return FALSE; return TRUE; } bool_t xdr_MKNOD3resok (XDR *xdrs, MKNOD3resok *objp) { if (!xdr_post_op_fh3 (xdrs, &objp->obj)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_MKNOD3resfail (XDR *xdrs, MKNOD3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_MKNOD3res (XDR *xdrs, MKNOD3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_MKNOD3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_MKNOD3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_MKDIR3args (XDR *xdrs, MKDIR3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->where)) return FALSE; if (!xdr_sattr3 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_MKDIR3resok (XDR *xdrs, MKDIR3resok *objp) { if (!xdr_post_op_fh3 (xdrs, &objp->obj)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->obj_attributes)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_MKDIR3resfail (XDR *xdrs, MKDIR3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_MKDIR3res (XDR *xdrs, MKDIR3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_MKDIR3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_MKDIR3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_RMDIR3args (XDR *xdrs, RMDIR3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->object)) return FALSE; return TRUE; } bool_t xdr_RMDIR3resok (XDR *xdrs, RMDIR3resok *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_RMDIR3resfail (XDR *xdrs, RMDIR3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->dir_wcc)) return FALSE; return TRUE; } bool_t xdr_RMDIR3res (XDR *xdrs, RMDIR3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_RMDIR3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_RMDIR3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_RENAME3args (XDR *xdrs, RENAME3args *objp) { if (!xdr_diropargs3 (xdrs, &objp->from)) return FALSE; if (!xdr_diropargs3 (xdrs, &objp->to)) return FALSE; return TRUE; } bool_t xdr_RENAME3resok (XDR *xdrs, RENAME3resok *objp) { if (!xdr_wcc_data (xdrs, &objp->fromdir_wcc)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->todir_wcc)) return FALSE; return TRUE; } bool_t xdr_RENAME3resfail (XDR *xdrs, RENAME3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->fromdir_wcc)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->todir_wcc)) return FALSE; return TRUE; } bool_t xdr_RENAME3res (XDR *xdrs, RENAME3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_RENAME3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_RENAME3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_READDIRPLUS3args (XDR *xdrs, READDIRPLUS3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->dir)) return FALSE; if (!xdr_cookie3 (xdrs, &objp->cookie)) return FALSE; if (!xdr_cookieverf3 (xdrs, objp->cookieverf)) return FALSE; if (!xdr_count3 (xdrs, &objp->dircount)) return FALSE; if (!xdr_count3 (xdrs, &objp->maxcount)) return FALSE; return TRUE; } bool_t xdr_entryplus3 (XDR *xdrs, entryplus3 *objp) { if (!xdr_fileid3 (xdrs, &objp->fileid)) return FALSE; if (!xdr_filename3 (xdrs, &objp->name)) return FALSE; if (!xdr_cookie3 (xdrs, &objp->cookie)) return FALSE; if (!xdr_post_op_attr (xdrs, &objp->name_attributes)) return FALSE; if (!xdr_post_op_fh3 (xdrs, &objp->name_handle)) return FALSE; if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3)) return FALSE; return TRUE; } bool_t xdr_dirlistplus3 (XDR *xdrs, dirlistplus3 *objp) { if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3)) return FALSE; if (!xdr_bool (xdrs, &objp->eof)) return FALSE; return TRUE; } bool_t xdr_READDIRPLUS3resok (XDR *xdrs, READDIRPLUS3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->dir_attributes)) return FALSE; if (!xdr_cookieverf3 (xdrs, objp->cookieverf)) return FALSE; if (!xdr_dirlistplus3 (xdrs, &objp->reply)) return FALSE; return TRUE; } bool_t xdr_READDIRPLUS3resfail (XDR *xdrs, READDIRPLUS3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->dir_attributes)) return FALSE; return TRUE; } bool_t xdr_READDIRPLUS3res (XDR *xdrs, READDIRPLUS3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READDIRPLUS3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_READDIRPLUS3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_READDIR3args (XDR *xdrs, READDIR3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->dir)) return FALSE; if (!xdr_cookie3 (xdrs, &objp->cookie)) return FALSE; if (!xdr_cookieverf3 (xdrs, objp->cookieverf)) return FALSE; if (!xdr_count3 (xdrs, &objp->count)) return FALSE; return TRUE; } bool_t xdr_entry3 (XDR *xdrs, entry3 *objp) { if (!xdr_fileid3 (xdrs, &objp->fileid)) return FALSE; if (!xdr_filename3 (xdrs, &objp->name)) return FALSE; if (!xdr_cookie3 (xdrs, &objp->cookie)) return FALSE; if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entry3), (xdrproc_t) xdr_entry3)) return FALSE; return TRUE; } bool_t xdr_dirlist3 (XDR *xdrs, dirlist3 *objp) { if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entry3), (xdrproc_t) xdr_entry3)) return FALSE; if (!xdr_bool (xdrs, &objp->eof)) return FALSE; return TRUE; } bool_t xdr_READDIR3resok (XDR *xdrs, READDIR3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->dir_attributes)) return FALSE; if (!xdr_cookieverf3 (xdrs, objp->cookieverf)) return FALSE; if (!xdr_dirlist3 (xdrs, &objp->reply)) return FALSE; return TRUE; } bool_t xdr_READDIR3resfail (XDR *xdrs, READDIR3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->dir_attributes)) return FALSE; return TRUE; } bool_t xdr_READDIR3res (XDR *xdrs, READDIR3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READDIR3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_READDIR3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_LINK3args (XDR *xdrs, LINK3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->file)) return FALSE; if (!xdr_diropargs3 (xdrs, &objp->link)) return FALSE; return TRUE; } bool_t xdr_LINK3resok (XDR *xdrs, LINK3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->file_attributes)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->linkdir_wcc)) return FALSE; return TRUE; } bool_t xdr_LINK3resfail (XDR *xdrs, LINK3resfail *objp) { if (!xdr_post_op_attr (xdrs, &objp->file_attributes)) return FALSE; if (!xdr_wcc_data (xdrs, &objp->linkdir_wcc)) return FALSE; return TRUE; } bool_t xdr_LINK3res (XDR *xdrs, LINK3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_LINK3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_LINK3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_sattrguard3 (XDR *xdrs, sattrguard3 *objp) { if (!xdr_bool (xdrs, &objp->check)) return FALSE; switch (objp->check) { case TRUE: if (!xdr_nfstime3 (xdrs, &objp->obj_ctime)) return FALSE; break; case FALSE: break; default: return FALSE; } return TRUE; } bool_t xdr_SETATTR3args (XDR *xdrs, SETATTR3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->object)) return FALSE; if (!xdr_sattr3 (xdrs, &objp->new_attributes)) return FALSE; if (!xdr_sattrguard3 (xdrs, &objp->guard)) return FALSE; return TRUE; } bool_t xdr_SETATTR3resok (XDR *xdrs, SETATTR3resok *objp) { if (!xdr_wcc_data (xdrs, &objp->obj_wcc)) return FALSE; return TRUE; } bool_t xdr_SETATTR3resfail (XDR *xdrs, SETATTR3resfail *objp) { if (!xdr_wcc_data (xdrs, &objp->obj_wcc)) return FALSE; return TRUE; } bool_t xdr_SETATTR3res (XDR *xdrs, SETATTR3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_SETATTR3resok (xdrs, &objp->resok)) return FALSE; break; default: if (!xdr_SETATTR3resfail (xdrs, &objp->resfail)) return FALSE; break; } return TRUE; } bool_t xdr_fhandle2 (XDR *xdrs, fhandle2 objp) { if (!xdr_opaque (xdrs, objp, FHSIZE2)) return FALSE; return TRUE; } bool_t xdr_ftype2 (XDR *xdrs, ftype2 *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_fattr2 (XDR *xdrs, fattr2 *objp) { if (xdrs->x_op == XDR_ENCODE) { if (!xdr_ftype2 (xdrs, &objp->type)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->nlink)) return FALSE; if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; if (!xdr_u_int (xdrs, &objp->size)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocksize)) return FALSE; if (!xdr_u_int (xdrs, &objp->rdev)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocks)) return FALSE; if (!xdr_u_int (xdrs, &objp->fsid)) return FALSE; if (!xdr_u_int (xdrs, &objp->fileid)) return FALSE; } else { IXDR_PUT_U_LONG(buf, objp->mode); IXDR_PUT_U_LONG(buf, objp->nlink); IXDR_PUT_U_LONG(buf, objp->uid); IXDR_PUT_U_LONG(buf, objp->gid); IXDR_PUT_U_LONG(buf, objp->size); IXDR_PUT_U_LONG(buf, objp->blocksize); IXDR_PUT_U_LONG(buf, objp->rdev); IXDR_PUT_U_LONG(buf, objp->blocks); IXDR_PUT_U_LONG(buf, objp->fsid); IXDR_PUT_U_LONG(buf, objp->fileid); } if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->ctime)) return FALSE; return TRUE; } else if (xdrs->x_op == XDR_DECODE) { if (!xdr_ftype2 (xdrs, &objp->type)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->nlink)) return FALSE; if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; if (!xdr_u_int (xdrs, &objp->size)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocksize)) return FALSE; if (!xdr_u_int (xdrs, &objp->rdev)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocks)) return FALSE; if (!xdr_u_int (xdrs, &objp->fsid)) return FALSE; if (!xdr_u_int (xdrs, &objp->fileid)) return FALSE; } else { objp->mode = IXDR_GET_U_LONG(buf); objp->nlink = IXDR_GET_U_LONG(buf); objp->uid = IXDR_GET_U_LONG(buf); objp->gid = IXDR_GET_U_LONG(buf); objp->size = IXDR_GET_U_LONG(buf); objp->blocksize = IXDR_GET_U_LONG(buf); objp->rdev = IXDR_GET_U_LONG(buf); objp->blocks = IXDR_GET_U_LONG(buf); objp->fsid = IXDR_GET_U_LONG(buf); objp->fileid = IXDR_GET_U_LONG(buf); } if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->ctime)) return FALSE; return TRUE; } if (!xdr_ftype2 (xdrs, &objp->type)) return FALSE; if (!xdr_u_int (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->nlink)) return FALSE; if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; if (!xdr_u_int (xdrs, &objp->size)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocksize)) return FALSE; if (!xdr_u_int (xdrs, &objp->rdev)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocks)) return FALSE; if (!xdr_u_int (xdrs, &objp->fsid)) return FALSE; if (!xdr_u_int (xdrs, &objp->fileid)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->ctime)) return FALSE; return TRUE; } bool_t xdr_sattr2 (XDR *xdrs, sattr2 *objp) { if (xdrs->x_op == XDR_ENCODE) { if (1) { if (!xdr_u_int (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; if (!xdr_u_int (xdrs, &objp->size)) return FALSE; } else { IXDR_PUT_U_LONG(buf, objp->mode); IXDR_PUT_U_LONG(buf, objp->uid); IXDR_PUT_U_LONG(buf, objp->gid); IXDR_PUT_U_LONG(buf, objp->size); } if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; return TRUE; } else if (xdrs->x_op == XDR_DECODE) { if (1) { if (!xdr_u_int (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; if (!xdr_u_int (xdrs, &objp->size)) return FALSE; } else { objp->mode = IXDR_GET_U_LONG(buf); objp->uid = IXDR_GET_U_LONG(buf); objp->gid = IXDR_GET_U_LONG(buf); objp->size = IXDR_GET_U_LONG(buf); } if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; return TRUE; } if (!xdr_u_int (xdrs, &objp->mode)) return FALSE; if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; if (!xdr_u_int (xdrs, &objp->size)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->atime)) return FALSE; if (!xdr_nfstime3 (xdrs, &objp->mtime)) return FALSE; return TRUE; } bool_t xdr_filename2 (XDR *xdrs, filename2 *objp) { if (!xdr_string (xdrs, objp, MAXNAMLEN2)) return FALSE; return TRUE; } bool_t xdr_path2 (XDR *xdrs, path2 *objp) { if (!xdr_string (xdrs, objp, MAXPATHLEN2)) return FALSE; return TRUE; } bool_t xdr_nfsdata2 (XDR *xdrs, nfsdata2 *objp) { if (!xdr_bytes(xdrs, objp, NFSMAXDATA2)) return FALSE; return TRUE; } bool_t xdr_nfscookie2 (XDR *xdrs, nfscookie2 objp) { if (!xdr_opaque (xdrs, objp, NFSCOOKIESIZE2)) return FALSE; return TRUE; } bool_t xdr_entry2 (XDR *xdrs, entry2 *objp) { if (!xdr_u_int (xdrs, &objp->fileid)) return FALSE; if (!xdr_filename2 (xdrs, &objp->name)) return FALSE; if (!xdr_nfscookie2 (xdrs, objp->cookie)) return FALSE; if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entry2), (xdrproc_t) xdr_entry2)) return FALSE; return TRUE; } bool_t xdr_diropargs2 (XDR *xdrs, diropargs2 *objp) { if (!xdr_fhandle2 (xdrs, objp->dir)) return FALSE; if (!xdr_filename2 (xdrs, &objp->name)) return FALSE; return TRUE; } bool_t xdr_GETATTR2args (XDR *xdrs, GETATTR2args *objp) { if (!xdr_fhandle2 (xdrs, objp->fhandle)) return FALSE; return TRUE; } bool_t xdr_GETATTR2resok (XDR *xdrs, GETATTR2resok *objp) { if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_GETATTR2res (XDR *xdrs, GETATTR2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_GETATTR2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_SETATTR2args (XDR *xdrs, SETATTR2args *objp) { if (!xdr_fhandle2 (xdrs, objp->fhandle)) return FALSE; if (!xdr_sattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_SETATTR2resok (XDR *xdrs, SETATTR2resok *objp) { if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_SETATTR2res (XDR *xdrs, SETATTR2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_SETATTR2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_LOOKUP2args (XDR *xdrs, LOOKUP2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->what)) return FALSE; return TRUE; } bool_t xdr_LOOKUP2resok (XDR *xdrs, LOOKUP2resok *objp) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_LOOKUP2res (XDR *xdrs, LOOKUP2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_LOOKUP2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_READLINK2args (XDR *xdrs, READLINK2args *objp) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; return TRUE; } bool_t xdr_READLINK2resok (XDR *xdrs, READLINK2resok *objp) { if (!xdr_path2 (xdrs, &objp->data)) return FALSE; return TRUE; } bool_t xdr_READLINK2res (XDR *xdrs, READLINK2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READLINK2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_READ2args (XDR *xdrs, READ2args *objp) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (!xdr_u_int (xdrs, &objp->offset)) return FALSE; if (!xdr_u_int (xdrs, &objp->count)) return FALSE; if (!xdr_u_int (xdrs, &objp->totalcount)) return FALSE; return TRUE; } bool_t xdr_READ2resok (XDR *xdrs, READ2resok *objp) { if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; if (!xdr_nfsdata2 (xdrs, &objp->data)) return FALSE; return TRUE; } bool_t xdr_READ2res (XDR *xdrs, READ2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READ2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_WRITE2args (XDR *xdrs, WRITE2args *objp) { if (xdrs->x_op == XDR_ENCODE) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->beginoffset)) return FALSE; if (!xdr_u_int (xdrs, &objp->offset)) return FALSE; if (!xdr_u_int (xdrs, &objp->totalcount)) return FALSE; } else { IXDR_PUT_U_LONG(buf, objp->beginoffset); IXDR_PUT_U_LONG(buf, objp->offset); IXDR_PUT_U_LONG(buf, objp->totalcount); } if (!xdr_nfsdata2 (xdrs, &objp->data)) return FALSE; return TRUE; } else if (xdrs->x_op == XDR_DECODE) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (1) { if (!xdr_u_int (xdrs, &objp->beginoffset)) return FALSE; if (!xdr_u_int (xdrs, &objp->offset)) return FALSE; if (!xdr_u_int (xdrs, &objp->totalcount)) return FALSE; } else { objp->beginoffset = IXDR_GET_U_LONG(buf); objp->offset = IXDR_GET_U_LONG(buf); objp->totalcount = IXDR_GET_U_LONG(buf); } if (!xdr_nfsdata2 (xdrs, &objp->data)) return FALSE; return TRUE; } if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (!xdr_u_int (xdrs, &objp->beginoffset)) return FALSE; if (!xdr_u_int (xdrs, &objp->offset)) return FALSE; if (!xdr_u_int (xdrs, &objp->totalcount)) return FALSE; if (!xdr_nfsdata2 (xdrs, &objp->data)) return FALSE; return TRUE; } bool_t xdr_WRITE2resok (XDR *xdrs, WRITE2resok *objp) { if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_WRITE2res (XDR *xdrs, WRITE2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_WRITE2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_CREATE2args (XDR *xdrs, CREATE2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->where)) return FALSE; if (!xdr_sattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_CREATE2resok (XDR *xdrs, CREATE2resok *objp) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_CREATE2res (XDR *xdrs, CREATE2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_CREATE2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_REMOVE2args (XDR *xdrs, REMOVE2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->what)) return FALSE; return TRUE; } bool_t xdr_REMOVE2res (XDR *xdrs, REMOVE2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; return TRUE; } bool_t xdr_RENAME2args (XDR *xdrs, RENAME2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->from)) return FALSE; if (!xdr_diropargs2 (xdrs, &objp->to)) return FALSE; return TRUE; } bool_t xdr_RENAME2res (XDR *xdrs, RENAME2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; return TRUE; } bool_t xdr_LINK2args (XDR *xdrs, LINK2args *objp) { if (!xdr_fhandle2 (xdrs, objp->from)) return FALSE; if (!xdr_diropargs2 (xdrs, &objp->to)) return FALSE; return TRUE; } bool_t xdr_LINK2res (XDR *xdrs, LINK2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; return TRUE; } bool_t xdr_SYMLINK2args (XDR *xdrs, SYMLINK2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->from)) return FALSE; if (!xdr_path2 (xdrs, &objp->to)) return FALSE; if (!xdr_sattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_SYMLINK2res (XDR *xdrs, SYMLINK2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; return TRUE; } bool_t xdr_MKDIR2args (XDR *xdrs, MKDIR2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->where)) return FALSE; if (!xdr_sattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_MKDIR2resok (XDR *xdrs, MKDIR2resok *objp) { if (!xdr_fhandle2 (xdrs, objp->file)) return FALSE; if (!xdr_fattr2 (xdrs, &objp->attributes)) return FALSE; return TRUE; } bool_t xdr_MKDIR2res (XDR *xdrs, MKDIR2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_MKDIR2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_RMDIR2args (XDR *xdrs, RMDIR2args *objp) { if (!xdr_diropargs2 (xdrs, &objp->what)) return FALSE; return TRUE; } bool_t xdr_RMDIR2res (XDR *xdrs, RMDIR2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; return TRUE; } bool_t xdr_READDIR2args (XDR *xdrs, READDIR2args *objp) { if (!xdr_fhandle2 (xdrs, objp->dir)) return FALSE; if (!xdr_nfscookie2 (xdrs, objp->cookie)) return FALSE; if (!xdr_u_int (xdrs, &objp->count)) return FALSE; return TRUE; } bool_t xdr_READDIR2resok (XDR *xdrs, READDIR2resok *objp) { if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entry2), (xdrproc_t) xdr_entry2)) return FALSE; if (!xdr_bool (xdrs, &objp->eof)) return FALSE; return TRUE; } bool_t xdr_READDIR2res (XDR *xdrs, READDIR2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_READDIR2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_STATFS2args (XDR *xdrs, STATFS2args *objp) { if (!xdr_fhandle2 (xdrs, objp->dir)) return FALSE; return TRUE; } bool_t xdr_STATFS2resok (XDR *xdrs, STATFS2resok *objp) { if (xdrs->x_op == XDR_ENCODE) { if (1) { if (!xdr_u_int (xdrs, &objp->tsize)) return FALSE; if (!xdr_u_int (xdrs, &objp->bsize)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocks)) return FALSE; if (!xdr_u_int (xdrs, &objp->bfree)) return FALSE; if (!xdr_u_int (xdrs, &objp->bavail)) return FALSE; } else { IXDR_PUT_U_LONG(buf, objp->tsize); IXDR_PUT_U_LONG(buf, objp->bsize); IXDR_PUT_U_LONG(buf, objp->blocks); IXDR_PUT_U_LONG(buf, objp->bfree); IXDR_PUT_U_LONG(buf, objp->bavail); } return TRUE; } else if (xdrs->x_op == XDR_DECODE) { if (1) { if (!xdr_u_int (xdrs, &objp->tsize)) return FALSE; if (!xdr_u_int (xdrs, &objp->bsize)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocks)) return FALSE; if (!xdr_u_int (xdrs, &objp->bfree)) return FALSE; if (!xdr_u_int (xdrs, &objp->bavail)) return FALSE; } else { objp->tsize = IXDR_GET_U_LONG(buf); objp->bsize = IXDR_GET_U_LONG(buf); objp->blocks = IXDR_GET_U_LONG(buf); objp->bfree = IXDR_GET_U_LONG(buf); objp->bavail = IXDR_GET_U_LONG(buf); } return TRUE; } if (!xdr_u_int (xdrs, &objp->tsize)) return FALSE; if (!xdr_u_int (xdrs, &objp->bsize)) return FALSE; if (!xdr_u_int (xdrs, &objp->blocks)) return FALSE; if (!xdr_u_int (xdrs, &objp->bfree)) return FALSE; if (!xdr_u_int (xdrs, &objp->bavail)) return FALSE; return TRUE; } bool_t xdr_STATFS2res (XDR *xdrs, STATFS2res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_STATFS2resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_nfsacl_type (XDR *xdrs, nfsacl_type *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_nfsacl_ace (XDR *xdrs, nfsacl_ace *objp) { if (!xdr_nfsacl_type (xdrs, &objp->type)) return FALSE; if (!xdr_u_int (xdrs, &objp->id)) return FALSE; if (!xdr_u_int (xdrs, &objp->perm)) return FALSE; return TRUE; } bool_t xdr_GETACL3args (XDR *xdrs, GETACL3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->dir)) return FALSE; if (!xdr_u_int (xdrs, &objp->mask)) return FALSE; return TRUE; } bool_t xdr_GETACL3resok (XDR *xdrs, GETACL3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->attr)) return FALSE; if (!xdr_u_int (xdrs, &objp->mask)) return FALSE; if (!xdr_u_int (xdrs, &objp->ace_count)) return FALSE; if (!xdr_array (xdrs, (char **)&objp->ace.ace_val, (u_int *) &objp->ace.ace_len, ~0, sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace)) return FALSE; if (!xdr_u_int (xdrs, &objp->default_ace_count)) return FALSE; if (!xdr_array (xdrs, (char **)&objp->default_ace.default_ace_val, (u_int *) &objp->default_ace.default_ace_len, ~0, sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace)) return FALSE; return TRUE; } bool_t xdr_GETACL3res (XDR *xdrs, GETACL3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_GETACL3resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_SETACL3args (XDR *xdrs, SETACL3args *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->dir)) return FALSE; if (!xdr_u_int (xdrs, &objp->mask)) return FALSE; if (!xdr_u_int (xdrs, &objp->ace_count)) return FALSE; if (!xdr_array (xdrs, (char **)&objp->ace.ace_val, (u_int *) &objp->ace.ace_len, ~0, sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace)) return FALSE; if (!xdr_u_int (xdrs, &objp->default_ace_count)) return FALSE; if (!xdr_array (xdrs, (char **)&objp->default_ace.default_ace_val, (u_int *) &objp->default_ace.default_ace_len, ~0, sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace)) return FALSE; return TRUE; } bool_t xdr_SETACL3resok (XDR *xdrs, SETACL3resok *objp) { if (!xdr_post_op_attr (xdrs, &objp->attr)) return FALSE; return TRUE; } bool_t xdr_SETACL3res (XDR *xdrs, SETACL3res *objp) { if (!xdr_nfsstat3 (xdrs, &objp->status)) return FALSE; switch (objp->status) { case NFS3_OK: if (!xdr_SETACL3resok (xdrs, &objp->resok)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_nfs_dirpath (XDR *xdrs, nfs_dirpath *objp) { if (!xdr_string (xdrs, objp, MNTPATHLEN)) return FALSE; return TRUE; } bool_t xdr_nfs_name (XDR *xdrs, nfs_name *objp) { if (!xdr_string (xdrs, objp, MNTNAMLEN)) return FALSE; return TRUE; } bool_t xdr_nfs_mountstat3 (XDR *xdrs, nfs_mountstat3 *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_nfs_mountlist (XDR *xdrs, nfs_mountlist *objp) { if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct nfs_mountbody), (xdrproc_t) xdr_nfs_mountbody)) return FALSE; return TRUE; } bool_t xdr_nfs_mountbody (XDR *xdrs, nfs_mountbody *objp) { if (!xdr_nfs_name (xdrs, &objp->ml_hostname)) return FALSE; if (!xdr_nfs_dirpath (xdrs, &objp->ml_directory)) return FALSE; if (!xdr_nfs_mountlist (xdrs, &objp->ml_next)) return FALSE; return TRUE; } bool_t xdr_nfs_groups (XDR *xdrs, nfs_groups *objp) { if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct nfs_groupnode), (xdrproc_t) xdr_nfs_groupnode)) return FALSE; return TRUE; } bool_t xdr_nfs_groupnode (XDR *xdrs, nfs_groupnode *objp) { if (!xdr_nfs_name (xdrs, &objp->gr_name)) return FALSE; if (!xdr_nfs_groups (xdrs, &objp->gr_next)) return FALSE; return TRUE; } bool_t xdr_nfs_exports (XDR *xdrs, nfs_exports *objp) { if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct nfs_exportnode), (xdrproc_t) xdr_nfs_exportnode)) return FALSE; return TRUE; } bool_t xdr_nfs_exportnode (XDR *xdrs, nfs_exportnode *objp) { if (!xdr_nfs_dirpath (xdrs, &objp->ex_dir)) return FALSE; if (!xdr_nfs_groups (xdrs, &objp->ex_groups)) return FALSE; if (!xdr_nfs_exports (xdrs, &objp->ex_next)) return FALSE; return TRUE; } bool_t xdr_nfs_mountres3_ok (XDR *xdrs, nfs_mountres3_ok *objp) { if (!xdr_nfs_fh3 (xdrs, &objp->fhandle)) return FALSE; if (!xdr_array (xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (u_int *) &objp->auth_flavors.auth_flavors_len, ~0, sizeof (u_int), (xdrproc_t) xdr_u_int)) return FALSE; return TRUE; } bool_t xdr_nfs_mountres3 (XDR *xdrs, nfs_mountres3 *objp) { if (!xdr_nfs_mountstat3 (xdrs, &objp->fhs_status)) return FALSE; switch (objp->fhs_status) { case MNT3_OK: if (!xdr_nfs_mountres3_ok (xdrs, &objp->mountinfo)) return FALSE; break; default: break; } return TRUE; } bool_t xdr_nfs_mountstat1 (XDR *xdrs, nfs_mountstat1 *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } bool_t xdr_nfs_fhandle1 (XDR *xdrs, nfs_fhandle1 objp) { if (!xdr_opaque (xdrs, objp, FHSIZE)) return FALSE; return TRUE; } bool_t xdr_nfs_mountres1_ok (XDR *xdrs, nfs_mountres1_ok *objp) { if (!xdr_nfs_fhandle1 (xdrs, objp->fhandle)) return FALSE; return TRUE; } bool_t xdr_nfs_mountres1 (XDR *xdrs, nfs_mountres1 *objp) { if (!xdr_nfs_mountstat1 (xdrs, &objp->fhs_status)) return FALSE; switch (objp->fhs_status) { case MNT1_OK: if (!xdr_nfs_mountres1_ok (xdrs, &objp->mountinfo)) return FALSE; break; default: break; } return TRUE; }