nfs-ganesha 1.4
|
00001 /* 00002 * Please do not edit this file. 00003 * It was generated using rpcgen. 00004 */ 00005 00006 #ifdef HAVE_CONFIG_H 00007 #include "config.h" 00008 #endif 00009 00010 #ifdef _SOLARIS 00011 #include "solaris_port.h" 00012 #endif 00013 00014 #include "rpc.h" 00015 00016 #include "nfsv41.h" 00017 00018 #ifndef RPCSEC_GSS 00019 #define RPCSEC_GSS 6 00020 #endif 00021 00022 #ifndef _AUTH_SYS_DEFINE_FOR_NFSv41 00023 #define _AUTH_SYS_DEFINE_FOR_NFSv41 00024 typedef struct authsys_parms authsys_parms; 00025 #endif /* _AUTH_SYS_DEFINE_FOR_NFSv41 */ 00026 00027 bool_t xdr_nfs_ftype4(XDR * xdrs, nfs_ftype4 * objp) 00028 { 00029 if(!xdr_enum(xdrs, (enum_t *) objp)) 00030 return FALSE; 00031 return TRUE; 00032 } 00033 00034 bool_t xdr_nfsstat4(XDR * xdrs, nfsstat4 * objp) 00035 { 00036 if(!xdr_enum(xdrs, (enum_t *) objp)) 00037 return FALSE; 00038 return TRUE; 00039 } 00040 00041 bool_t xdr_attrlist4(XDR * xdrs, attrlist4 * objp) 00042 { 00043 if(!xdr_bytes(xdrs, (char **)&objp->attrlist4_val, (u_int *) & objp->attrlist4_len, ~0)) 00044 return FALSE; 00045 return TRUE; 00046 } 00047 00048 bool_t xdr_bitmap4(XDR * xdrs, bitmap4 * objp) 00049 { 00050 if(!xdr_array(xdrs, (char **)&objp->bitmap4_val, (u_int *) & objp->bitmap4_len, ~0, 00051 sizeof(uint32_t), (xdrproc_t) xdr_uint32_t)) 00052 return FALSE; 00053 return TRUE; 00054 } 00055 00056 bool_t xdr_changeid4(XDR * xdrs, changeid4 * objp) 00057 { 00058 if(!xdr_uint64_t(xdrs, objp)) 00059 return FALSE; 00060 return TRUE; 00061 } 00062 00063 bool_t xdr_clientid4(XDR * xdrs, clientid4 * objp) 00064 { 00065 if(!xdr_uint64_t(xdrs, objp)) 00066 return FALSE; 00067 return TRUE; 00068 } 00069 00070 bool_t xdr_count4(XDR * xdrs, count4 * objp) 00071 { 00072 if(!xdr_uint32_t(xdrs, objp)) 00073 return FALSE; 00074 return TRUE; 00075 } 00076 00077 bool_t xdr_length4(XDR * xdrs, length4 * objp) 00078 { 00079 if(!xdr_uint64_t(xdrs, objp)) 00080 return FALSE; 00081 return TRUE; 00082 } 00083 00084 bool_t xdr_mode4(XDR * xdrs, mode4 * objp) 00085 { 00086 if(!xdr_uint32_t(xdrs, objp)) 00087 return FALSE; 00088 return TRUE; 00089 } 00090 00091 bool_t xdr_nfs_cookie4(XDR * xdrs, nfs_cookie4 * objp) 00092 { 00093 if(!xdr_uint64_t(xdrs, objp)) 00094 return FALSE; 00095 return TRUE; 00096 } 00097 00098 bool_t xdr_nfs_fh4(XDR * xdrs, nfs_fh4 * objp) 00099 { 00100 if(!xdr_bytes 00101 (xdrs, (char **)&objp->nfs_fh4_val, (u_int *) & objp->nfs_fh4_len, NFS4_FHSIZE)) 00102 return FALSE; 00103 return TRUE; 00104 } 00105 00106 bool_t xdr_offset4(XDR * xdrs, offset4 * objp) 00107 { 00108 if(!xdr_uint64_t(xdrs, objp)) 00109 return FALSE; 00110 return TRUE; 00111 } 00112 00113 bool_t xdr_qop4(XDR * xdrs, qop4 * objp) 00114 { 00115 if(!xdr_uint32_t(xdrs, objp)) 00116 return FALSE; 00117 return TRUE; 00118 } 00119 00120 bool_t xdr_sec_oid4(XDR * xdrs, sec_oid4 * objp) 00121 { 00122 if(!xdr_bytes(xdrs, (char **)&objp->sec_oid4_val, (u_int *) & objp->sec_oid4_len, ~0)) 00123 return FALSE; 00124 return TRUE; 00125 } 00126 00127 bool_t xdr_sequenceid4(XDR * xdrs, sequenceid4 * objp) 00128 { 00129 if(!xdr_uint32_t(xdrs, objp)) 00130 return FALSE; 00131 return TRUE; 00132 } 00133 00134 bool_t xdr_seqid4(XDR * xdrs, seqid4 * objp) 00135 { 00136 if(!xdr_uint32_t(xdrs, objp)) 00137 return FALSE; 00138 return TRUE; 00139 } 00140 00141 bool_t xdr_sessionid4(XDR * xdrs, sessionid4 objp) 00142 { 00143 if(!xdr_opaque(xdrs, objp, NFS4_SESSIONID_SIZE)) 00144 return FALSE; 00145 return TRUE; 00146 } 00147 00148 bool_t xdr_slotid4(XDR * xdrs, slotid4 * objp) 00149 { 00150 if(!xdr_uint32_t(xdrs, objp)) 00151 return FALSE; 00152 return TRUE; 00153 } 00154 00155 bool_t xdr_utf8string(XDR * xdrs, utf8string * objp) 00156 { 00157 if(!xdr_bytes 00158 (xdrs, (char **)&objp->utf8string_val, (u_int *) & objp->utf8string_len, ~0)) 00159 return FALSE; 00160 return TRUE; 00161 } 00162 00163 bool_t xdr_utf8str_cis(XDR * xdrs, utf8str_cis * objp) 00164 { 00165 if(!xdr_utf8string(xdrs, objp)) 00166 return FALSE; 00167 return TRUE; 00168 } 00169 00170 bool_t xdr_utf8str_cs(XDR * xdrs, utf8str_cs * objp) 00171 { 00172 if(!xdr_utf8string(xdrs, objp)) 00173 return FALSE; 00174 return TRUE; 00175 } 00176 00177 bool_t xdr_utf8str_mixed(XDR * xdrs, utf8str_mixed * objp) 00178 { 00179 if(!xdr_utf8string(xdrs, objp)) 00180 return FALSE; 00181 return TRUE; 00182 } 00183 00184 bool_t xdr_component4(XDR * xdrs, component4 * objp) 00185 { 00186 if(!xdr_utf8str_cs(xdrs, objp)) 00187 return FALSE; 00188 return TRUE; 00189 } 00190 00191 bool_t xdr_linktext4(XDR * xdrs, linktext4 * objp) 00192 { 00193 if(!xdr_utf8str_cs(xdrs, objp)) 00194 return FALSE; 00195 return TRUE; 00196 } 00197 00198 bool_t xdr_pathname4(XDR * xdrs, pathname4 * objp) 00199 { 00200 if(!xdr_array(xdrs, (char **)&objp->pathname4_val, (u_int *) & objp->pathname4_len, ~0, 00201 sizeof(component4), (xdrproc_t) xdr_component4)) 00202 return FALSE; 00203 return TRUE; 00204 } 00205 00206 bool_t xdr_verifier4(XDR * xdrs, verifier4 objp) 00207 { 00208 if(!xdr_opaque(xdrs, objp, NFS4_VERIFIER_SIZE)) 00209 return FALSE; 00210 return TRUE; 00211 } 00212 00213 bool_t xdr_nfstime4(XDR * xdrs, nfstime4 * objp) 00214 { 00215 if(!xdr_int64_t(xdrs, &objp->seconds)) 00216 return FALSE; 00217 if(!xdr_uint32_t(xdrs, &objp->nseconds)) 00218 return FALSE; 00219 return TRUE; 00220 } 00221 00222 bool_t xdr_time_how4(XDR * xdrs, time_how4 * objp) 00223 { 00224 if(!xdr_enum(xdrs, (enum_t *) objp)) 00225 return FALSE; 00226 return TRUE; 00227 } 00228 00229 bool_t xdr_settime4(XDR * xdrs, settime4 * objp) 00230 { 00231 if(!xdr_time_how4(xdrs, &objp->set_it)) 00232 return FALSE; 00233 switch (objp->set_it) 00234 { 00235 case SET_TO_CLIENT_TIME4: 00236 if(!xdr_nfstime4(xdrs, &objp->settime4_u.time)) 00237 return FALSE; 00238 break; 00239 default: 00240 break; 00241 } 00242 return TRUE; 00243 } 00244 00245 bool_t xdr_nfs_lease4(XDR * xdrs, nfs_lease4 * objp) 00246 { 00247 if(!xdr_uint32_t(xdrs, objp)) 00248 return FALSE; 00249 return TRUE; 00250 } 00251 00252 bool_t xdr_fsid4(XDR * xdrs, fsid4 * objp) 00253 { 00254 if(!xdr_uint64_t(xdrs, &objp->major)) 00255 return FALSE; 00256 if(!xdr_uint64_t(xdrs, &objp->minor)) 00257 return FALSE; 00258 return TRUE; 00259 } 00260 00261 bool_t xdr_change_policy4(XDR * xdrs, change_policy4 * objp) 00262 { 00263 if(!xdr_uint64_t(xdrs, &objp->cp_major)) 00264 return FALSE; 00265 if(!xdr_uint64_t(xdrs, &objp->cp_minor)) 00266 return FALSE; 00267 return TRUE; 00268 } 00269 00270 bool_t xdr_fs_location4(XDR * xdrs, fs_location4 * objp) 00271 { 00272 if(!xdr_array 00273 (xdrs, (char **)&objp->server.server_val, (u_int *) & objp->server.server_len, ~0, 00274 sizeof(utf8str_cis), (xdrproc_t) xdr_utf8str_cis)) 00275 return FALSE; 00276 if(!xdr_pathname4(xdrs, &objp->rootpath)) 00277 return FALSE; 00278 return TRUE; 00279 } 00280 00281 bool_t xdr_fs_locations4(XDR * xdrs, fs_locations4 * objp) 00282 { 00283 if(!xdr_pathname4(xdrs, &objp->fs_root)) 00284 return FALSE; 00285 if(!xdr_array 00286 (xdrs, (char **)&objp->locations.locations_val, 00287 (u_int *) & objp->locations.locations_len, ~0, sizeof(fs_location4), 00288 (xdrproc_t) xdr_fs_location4)) 00289 return FALSE; 00290 return TRUE; 00291 } 00292 00293 bool_t xdr_acetype4(XDR * xdrs, acetype4 * objp) 00294 { 00295 if(!xdr_uint32_t(xdrs, objp)) 00296 return FALSE; 00297 return TRUE; 00298 } 00299 00300 bool_t xdr_aceflag4(XDR * xdrs, aceflag4 * objp) 00301 { 00302 if(!xdr_uint32_t(xdrs, objp)) 00303 return FALSE; 00304 return TRUE; 00305 } 00306 00307 bool_t xdr_acemask4(XDR * xdrs, acemask4 * objp) 00308 { 00309 if(!xdr_uint32_t(xdrs, objp)) 00310 return FALSE; 00311 return TRUE; 00312 } 00313 00314 bool_t xdr_nfsace4(XDR * xdrs, nfsace4 * objp) 00315 { 00316 if(!xdr_acetype4(xdrs, &objp->type)) 00317 return FALSE; 00318 if(!xdr_aceflag4(xdrs, &objp->flag)) 00319 return FALSE; 00320 if(!xdr_acemask4(xdrs, &objp->access_mask)) 00321 return FALSE; 00322 if(!xdr_utf8str_mixed(xdrs, &objp->who)) 00323 return FALSE; 00324 return TRUE; 00325 } 00326 00327 bool_t xdr_aclflag4(XDR * xdrs, aclflag4 * objp) 00328 { 00329 if(!xdr_uint32_t(xdrs, objp)) 00330 return FALSE; 00331 return TRUE; 00332 } 00333 00334 bool_t xdr_nfsacl41(XDR * xdrs, nfsacl41 * objp) 00335 { 00336 if(!xdr_aclflag4(xdrs, &objp->na41_flag)) 00337 return FALSE; 00338 if(!xdr_array 00339 (xdrs, (char **)&objp->na41_aces.na41_aces_val, 00340 (u_int *) & objp->na41_aces.na41_aces_len, ~0, sizeof(nfsace4), 00341 (xdrproc_t) xdr_nfsace4)) 00342 return FALSE; 00343 return TRUE; 00344 } 00345 00346 bool_t xdr_mode_masked4(XDR * xdrs, mode_masked4 * objp) 00347 { 00348 if(!xdr_mode4(xdrs, &objp->mm_value_to_set)) 00349 return FALSE; 00350 if(!xdr_mode4(xdrs, &objp->mm_mask_bits)) 00351 return FALSE; 00352 return TRUE; 00353 } 00354 00355 bool_t xdr_specdata4(XDR * xdrs, specdata4 * objp) 00356 { 00357 if(!xdr_uint32_t(xdrs, &objp->specdata1)) 00358 return FALSE; 00359 if(!xdr_uint32_t(xdrs, &objp->specdata2)) 00360 return FALSE; 00361 return TRUE; 00362 } 00363 00364 bool_t xdr_netaddr4(XDR * xdrs, netaddr4 * objp) 00365 { 00366 if(!xdr_string(xdrs, &objp->r_netid, ~0)) 00367 return FALSE; 00368 if(!xdr_string(xdrs, &objp->r_addr, ~0)) 00369 return FALSE; 00370 return TRUE; 00371 } 00372 00373 bool_t xdr_nfs_impl_id4(XDR * xdrs, nfs_impl_id4 * objp) 00374 { 00375 if(!xdr_utf8str_cis(xdrs, &objp->nii_domain)) 00376 return FALSE; 00377 if(!xdr_utf8str_cs(xdrs, &objp->nii_name)) 00378 return FALSE; 00379 if(!xdr_nfstime4(xdrs, &objp->nii_date)) 00380 return FALSE; 00381 return TRUE; 00382 } 00383 00384 bool_t xdr_stateid4(XDR * xdrs, stateid4 * objp) 00385 { 00386 if(!xdr_uint32_t(xdrs, &objp->seqid)) 00387 return FALSE; 00388 if(!xdr_opaque(xdrs, objp->other, 12)) 00389 return FALSE; 00390 return TRUE; 00391 } 00392 00393 bool_t xdr_layouttype4(XDR * xdrs, layouttype4 * objp) 00394 { 00395 if(!xdr_enum(xdrs, (enum_t *) objp)) 00396 return FALSE; 00397 return TRUE; 00398 } 00399 00400 bool_t xdr_layout_content4(XDR * xdrs, layout_content4 * objp) 00401 { 00402 if(!xdr_layouttype4(xdrs, &objp->loc_type)) 00403 return FALSE; 00404 if(!xdr_bytes 00405 (xdrs, (char **)&objp->loc_body.loc_body_val, 00406 (u_int *) & objp->loc_body.loc_body_len, ~0)) 00407 return FALSE; 00408 return TRUE; 00409 } 00410 00411 /* 00412 * LAYOUT4_OSD2_OBJECTS loc_body description 00413 * is in a separate .x file 00414 */ 00415 00416 /* 00417 * LAYOUT4_BLOCK_VOLUME loc_body description 00418 * is in a separate .x file 00419 */ 00420 00421 bool_t xdr_layouthint4(XDR * xdrs, layouthint4 * objp) 00422 { 00423 if(!xdr_layouttype4(xdrs, &objp->loh_type)) 00424 return FALSE; 00425 if(!xdr_bytes 00426 (xdrs, (char **)&objp->loh_body.loh_body_val, 00427 (u_int *) & objp->loh_body.loh_body_len, ~0)) 00428 return FALSE; 00429 return TRUE; 00430 } 00431 00432 bool_t xdr_layoutiomode4(XDR * xdrs, layoutiomode4 * objp) 00433 { 00434 if(!xdr_enum(xdrs, (enum_t *) objp)) 00435 return FALSE; 00436 return TRUE; 00437 } 00438 00439 bool_t xdr_layout4(XDR * xdrs, layout4 * objp) 00440 { 00441 if(!xdr_offset4(xdrs, &objp->lo_offset)) 00442 return FALSE; 00443 if(!xdr_length4(xdrs, &objp->lo_length)) 00444 return FALSE; 00445 if(!xdr_layoutiomode4(xdrs, &objp->lo_iomode)) 00446 return FALSE; 00447 if(!xdr_layout_content4(xdrs, &objp->lo_content)) 00448 return FALSE; 00449 return TRUE; 00450 } 00451 00452 bool_t xdr_deviceid4(XDR * xdrs, deviceid4 objp) 00453 { 00454 if(!xdr_opaque(xdrs, objp, NFS4_DEVICEID4_SIZE)) 00455 return FALSE; 00456 return TRUE; 00457 } 00458 00459 bool_t xdr_device_addr4(XDR * xdrs, device_addr4 * objp) 00460 { 00461 if(!xdr_layouttype4(xdrs, &objp->da_layout_type)) 00462 return FALSE; 00463 if(!xdr_bytes 00464 (xdrs, (char **)&objp->da_addr_body.da_addr_body_val, 00465 (u_int *) & objp->da_addr_body.da_addr_body_len, ~0)) 00466 return FALSE; 00467 return TRUE; 00468 } 00469 00470 bool_t xdr_layoutupdate4(XDR * xdrs, layoutupdate4 * objp) 00471 { 00472 if(!xdr_layouttype4(xdrs, &objp->lou_type)) 00473 return FALSE; 00474 if(!xdr_bytes 00475 (xdrs, (char **)&objp->lou_body.lou_body_val, 00476 (u_int *) & objp->lou_body.lou_body_len, ~0)) 00477 return FALSE; 00478 return TRUE; 00479 } 00480 00481 bool_t xdr_layoutreturn_type4(XDR * xdrs, layoutreturn_type4 * objp) 00482 { 00483 if(!xdr_enum(xdrs, (enum_t *) objp)) 00484 return FALSE; 00485 return TRUE; 00486 } 00487 00488 /* layouttype4 specific data */ 00489 00490 bool_t xdr_layoutreturn_file4(XDR * xdrs, layoutreturn_file4 * objp) 00491 { 00492 if(!xdr_offset4(xdrs, &objp->lrf_offset)) 00493 return FALSE; 00494 if(!xdr_length4(xdrs, &objp->lrf_length)) 00495 return FALSE; 00496 if(!xdr_stateid4(xdrs, &objp->lrf_stateid)) 00497 return FALSE; 00498 if(!xdr_bytes 00499 (xdrs, (char **)&objp->lrf_body.lrf_body_val, 00500 (u_int *) & objp->lrf_body.lrf_body_len, ~0)) 00501 return FALSE; 00502 return TRUE; 00503 } 00504 00505 bool_t xdr_layoutreturn4(XDR * xdrs, layoutreturn4 * objp) 00506 { 00507 if(!xdr_layoutreturn_type4(xdrs, &objp->lr_returntype)) 00508 return FALSE; 00509 switch (objp->lr_returntype) 00510 { 00511 case LAYOUTRETURN4_FILE: 00512 if(!xdr_layoutreturn_file4(xdrs, &objp->layoutreturn4_u.lr_layout)) 00513 return FALSE; 00514 break; 00515 default: 00516 break; 00517 } 00518 return TRUE; 00519 } 00520 00521 bool_t xdr_fs4_status_type(XDR * xdrs, fs4_status_type * objp) 00522 { 00523 if(!xdr_enum(xdrs, (enum_t *) objp)) 00524 return FALSE; 00525 return TRUE; 00526 } 00527 00528 bool_t xdr_fs4_status(XDR * xdrs, fs4_status * objp) 00529 { 00530 if(!xdr_bool(xdrs, &objp->fss_absent)) 00531 return FALSE; 00532 if(!xdr_fs4_status_type(xdrs, &objp->fss_type)) 00533 return FALSE; 00534 if(!xdr_utf8str_cs(xdrs, &objp->fss_source)) 00535 return FALSE; 00536 if(!xdr_utf8str_cs(xdrs, &objp->fss_current)) 00537 return FALSE; 00538 if(!xdr_int32_t(xdrs, &objp->fss_age)) 00539 return FALSE; 00540 if(!xdr_nfstime4(xdrs, &objp->fss_version)) 00541 return FALSE; 00542 return TRUE; 00543 } 00544 00545 bool_t xdr_threshold4_read_size(XDR * xdrs, threshold4_read_size * objp) 00546 { 00547 if(!xdr_length4(xdrs, objp)) 00548 return FALSE; 00549 return TRUE; 00550 } 00551 00552 bool_t xdr_threshold4_write_size(XDR * xdrs, threshold4_write_size * objp) 00553 { 00554 if(!xdr_length4(xdrs, objp)) 00555 return FALSE; 00556 return TRUE; 00557 } 00558 00559 bool_t xdr_threshold4_read_iosize(XDR * xdrs, threshold4_read_iosize * objp) 00560 { 00561 if(!xdr_length4(xdrs, objp)) 00562 return FALSE; 00563 return TRUE; 00564 } 00565 00566 bool_t xdr_threshold4_write_iosize(XDR * xdrs, threshold4_write_iosize * objp) 00567 { 00568 if(!xdr_length4(xdrs, objp)) 00569 return FALSE; 00570 return TRUE; 00571 } 00572 00573 bool_t xdr_threshold_item4(XDR * xdrs, threshold_item4 * objp) 00574 { 00575 if(!xdr_layouttype4(xdrs, &objp->thi_layout_type)) 00576 return FALSE; 00577 if(!xdr_bitmap4(xdrs, &objp->thi_hintset)) 00578 return FALSE; 00579 if(!xdr_bytes 00580 (xdrs, (char **)&objp->thi_hintlist.thi_hintlist_val, 00581 (u_int *) & objp->thi_hintlist.thi_hintlist_len, ~0)) 00582 return FALSE; 00583 return TRUE; 00584 } 00585 00586 bool_t xdr_mdsthreshold4(XDR * xdrs, mdsthreshold4 * objp) 00587 { 00588 if(!xdr_array 00589 (xdrs, (char **)&objp->mth_hints.mth_hints_val, 00590 (u_int *) & objp->mth_hints.mth_hints_len, ~0, sizeof(threshold_item4), 00591 (xdrproc_t) xdr_threshold_item4)) 00592 return FALSE; 00593 return TRUE; 00594 } 00595 00596 bool_t xdr_retention_get4(XDR * xdrs, retention_get4 * objp) 00597 { 00598 if(!xdr_uint64_t(xdrs, &objp->rg_duration)) 00599 return FALSE; 00600 if(!xdr_array 00601 (xdrs, (char **)&objp->rg_begin_time.rg_begin_time_val, 00602 (u_int *) & objp->rg_begin_time.rg_begin_time_len, 1, sizeof(nfstime4), 00603 (xdrproc_t) xdr_nfstime4)) 00604 return FALSE; 00605 return TRUE; 00606 } 00607 00608 bool_t xdr_retention_set4(XDR * xdrs, retention_set4 * objp) 00609 { 00610 if(!xdr_bool(xdrs, &objp->rs_enable)) 00611 return FALSE; 00612 if(!xdr_array 00613 (xdrs, (char **)&objp->rs_duration.rs_duration_val, 00614 (u_int *) & objp->rs_duration.rs_duration_len, 1, sizeof(uint64_t), 00615 (xdrproc_t) xdr_uint64_t)) 00616 return FALSE; 00617 return TRUE; 00618 } 00619 00620 bool_t xdr_fs_charset_cap4(XDR * xdrs, fs_charset_cap4 * objp) 00621 { 00622 if(!xdr_uint32_t(xdrs, objp)) 00623 return FALSE; 00624 return TRUE; 00625 } 00626 00627 bool_t xdr_fattr4_supported_attrs(XDR * xdrs, fattr4_supported_attrs * objp) 00628 { 00629 if(!xdr_bitmap4(xdrs, objp)) 00630 return FALSE; 00631 return TRUE; 00632 } 00633 00634 bool_t xdr_fattr4_type(XDR * xdrs, fattr4_type * objp) 00635 { 00636 if(!xdr_nfs_ftype4(xdrs, objp)) 00637 return FALSE; 00638 return TRUE; 00639 } 00640 00641 bool_t xdr_fattr4_fh_expire_type(XDR * xdrs, fattr4_fh_expire_type * objp) 00642 { 00643 if(!xdr_uint32_t(xdrs, objp)) 00644 return FALSE; 00645 return TRUE; 00646 } 00647 00648 bool_t xdr_fattr4_change(XDR * xdrs, fattr4_change * objp) 00649 { 00650 if(!xdr_changeid4(xdrs, objp)) 00651 return FALSE; 00652 return TRUE; 00653 } 00654 00655 bool_t xdr_fattr4_size(XDR * xdrs, fattr4_size * objp) 00656 { 00657 if(!xdr_uint64_t(xdrs, objp)) 00658 return FALSE; 00659 return TRUE; 00660 } 00661 00662 bool_t xdr_fattr4_link_support(XDR * xdrs, fattr4_link_support * objp) 00663 { 00664 if(!xdr_bool(xdrs, objp)) 00665 return FALSE; 00666 return TRUE; 00667 } 00668 00669 bool_t xdr_fattr4_symlink_support(XDR * xdrs, fattr4_symlink_support * objp) 00670 { 00671 if(!xdr_bool(xdrs, objp)) 00672 return FALSE; 00673 return TRUE; 00674 } 00675 00676 bool_t xdr_fattr4_named_attr(XDR * xdrs, fattr4_named_attr * objp) 00677 { 00678 if(!xdr_bool(xdrs, objp)) 00679 return FALSE; 00680 return TRUE; 00681 } 00682 00683 bool_t xdr_fattr4_fsid(XDR * xdrs, fattr4_fsid * objp) 00684 { 00685 if(!xdr_fsid4(xdrs, objp)) 00686 return FALSE; 00687 return TRUE; 00688 } 00689 00690 bool_t xdr_fattr4_unique_handles(XDR * xdrs, fattr4_unique_handles * objp) 00691 { 00692 if(!xdr_bool(xdrs, objp)) 00693 return FALSE; 00694 return TRUE; 00695 } 00696 00697 bool_t xdr_fattr4_lease_time(XDR * xdrs, fattr4_lease_time * objp) 00698 { 00699 if(!xdr_nfs_lease4(xdrs, objp)) 00700 return FALSE; 00701 return TRUE; 00702 } 00703 00704 bool_t xdr_fattr4_rdattr_error(XDR * xdrs, fattr4_rdattr_error * objp) 00705 { 00706 if(!xdr_nfsstat4(xdrs, objp)) 00707 return FALSE; 00708 return TRUE; 00709 } 00710 00711 bool_t xdr_fattr4_acl(XDR * xdrs, fattr4_acl * objp) 00712 { 00713 if(!xdr_array 00714 (xdrs, (char **)&objp->fattr4_acl_val, (u_int *) & objp->fattr4_acl_len, ~0, 00715 sizeof(nfsace4), (xdrproc_t) xdr_nfsace4)) 00716 return FALSE; 00717 return TRUE; 00718 } 00719 00720 bool_t xdr_fattr4_aclsupport(XDR * xdrs, fattr4_aclsupport * objp) 00721 { 00722 if(!xdr_uint32_t(xdrs, objp)) 00723 return FALSE; 00724 return TRUE; 00725 } 00726 00727 bool_t xdr_fattr4_archive(XDR * xdrs, fattr4_archive * objp) 00728 { 00729 if(!xdr_bool(xdrs, objp)) 00730 return FALSE; 00731 return TRUE; 00732 } 00733 00734 bool_t xdr_fattr4_cansettime(XDR * xdrs, fattr4_cansettime * objp) 00735 { 00736 if(!xdr_bool(xdrs, objp)) 00737 return FALSE; 00738 return TRUE; 00739 } 00740 00741 bool_t xdr_fattr4_case_insensitive(XDR * xdrs, fattr4_case_insensitive * objp) 00742 { 00743 if(!xdr_bool(xdrs, objp)) 00744 return FALSE; 00745 return TRUE; 00746 } 00747 00748 bool_t xdr_fattr4_case_preserving(XDR * xdrs, fattr4_case_preserving * objp) 00749 { 00750 if(!xdr_bool(xdrs, objp)) 00751 return FALSE; 00752 return TRUE; 00753 } 00754 00755 bool_t xdr_fattr4_chown_restricted(XDR * xdrs, fattr4_chown_restricted * objp) 00756 { 00757 if(!xdr_bool(xdrs, objp)) 00758 return FALSE; 00759 return TRUE; 00760 } 00761 00762 bool_t xdr_fattr4_fileid(XDR * xdrs, fattr4_fileid * objp) 00763 { 00764 if(!xdr_uint64_t(xdrs, objp)) 00765 return FALSE; 00766 return TRUE; 00767 } 00768 00769 bool_t xdr_fattr4_files_avail(XDR * xdrs, fattr4_files_avail * objp) 00770 { 00771 if(!xdr_uint64_t(xdrs, objp)) 00772 return FALSE; 00773 return TRUE; 00774 } 00775 00776 bool_t xdr_fattr4_filehandle(XDR * xdrs, fattr4_filehandle * objp) 00777 { 00778 if(!xdr_nfs_fh4(xdrs, objp)) 00779 return FALSE; 00780 return TRUE; 00781 } 00782 00783 bool_t xdr_fattr4_files_free(XDR * xdrs, fattr4_files_free * objp) 00784 { 00785 if(!xdr_uint64_t(xdrs, objp)) 00786 return FALSE; 00787 return TRUE; 00788 } 00789 00790 bool_t xdr_fattr4_files_total(XDR * xdrs, fattr4_files_total * objp) 00791 { 00792 if(!xdr_uint64_t(xdrs, objp)) 00793 return FALSE; 00794 return TRUE; 00795 } 00796 00797 bool_t xdr_fattr4_fs_locations(XDR * xdrs, fattr4_fs_locations * objp) 00798 { 00799 if(!xdr_fs_locations4(xdrs, objp)) 00800 return FALSE; 00801 return TRUE; 00802 } 00803 00804 bool_t xdr_fattr4_hidden(XDR * xdrs, fattr4_hidden * objp) 00805 { 00806 if(!xdr_bool(xdrs, objp)) 00807 return FALSE; 00808 return TRUE; 00809 } 00810 00811 bool_t xdr_fattr4_homogeneous(XDR * xdrs, fattr4_homogeneous * objp) 00812 { 00813 if(!xdr_bool(xdrs, objp)) 00814 return FALSE; 00815 return TRUE; 00816 } 00817 00818 bool_t xdr_fattr4_maxfilesize(XDR * xdrs, fattr4_maxfilesize * objp) 00819 { 00820 if(!xdr_uint64_t(xdrs, objp)) 00821 return FALSE; 00822 return TRUE; 00823 } 00824 00825 bool_t xdr_fattr4_maxlink(XDR * xdrs, fattr4_maxlink * objp) 00826 { 00827 if(!xdr_uint32_t(xdrs, objp)) 00828 return FALSE; 00829 return TRUE; 00830 } 00831 00832 bool_t xdr_fattr4_maxname(XDR * xdrs, fattr4_maxname * objp) 00833 { 00834 if(!xdr_uint32_t(xdrs, objp)) 00835 return FALSE; 00836 return TRUE; 00837 } 00838 00839 bool_t xdr_fattr4_maxread(XDR * xdrs, fattr4_maxread * objp) 00840 { 00841 if(!xdr_uint64_t(xdrs, objp)) 00842 return FALSE; 00843 return TRUE; 00844 } 00845 00846 bool_t xdr_fattr4_maxwrite(XDR * xdrs, fattr4_maxwrite * objp) 00847 { 00848 if(!xdr_uint64_t(xdrs, objp)) 00849 return FALSE; 00850 return TRUE; 00851 } 00852 00853 bool_t xdr_fattr4_mimetype(XDR * xdrs, fattr4_mimetype * objp) 00854 { 00855 if(!xdr_utf8str_cs(xdrs, objp)) 00856 return FALSE; 00857 return TRUE; 00858 } 00859 00860 bool_t xdr_fattr4_mode(XDR * xdrs, fattr4_mode * objp) 00861 { 00862 if(!xdr_mode4(xdrs, objp)) 00863 return FALSE; 00864 return TRUE; 00865 } 00866 00867 bool_t xdr_fattr4_mode_set_masked(XDR * xdrs, fattr4_mode_set_masked * objp) 00868 { 00869 if(!xdr_mode_masked4(xdrs, objp)) 00870 return FALSE; 00871 return TRUE; 00872 } 00873 00874 bool_t xdr_fattr4_mounted_on_fileid(XDR * xdrs, fattr4_mounted_on_fileid * objp) 00875 { 00876 if(!xdr_uint64_t(xdrs, objp)) 00877 return FALSE; 00878 return TRUE; 00879 } 00880 00881 bool_t xdr_fattr4_no_trunc(XDR * xdrs, fattr4_no_trunc * objp) 00882 { 00883 if(!xdr_bool(xdrs, objp)) 00884 return FALSE; 00885 return TRUE; 00886 } 00887 00888 bool_t xdr_fattr4_numlinks(XDR * xdrs, fattr4_numlinks * objp) 00889 { 00890 if(!xdr_uint32_t(xdrs, objp)) 00891 return FALSE; 00892 return TRUE; 00893 } 00894 00895 bool_t xdr_fattr4_owner(XDR * xdrs, fattr4_owner * objp) 00896 { 00897 if(!xdr_utf8str_mixed(xdrs, objp)) 00898 return FALSE; 00899 return TRUE; 00900 } 00901 00902 bool_t xdr_fattr4_owner_group(XDR * xdrs, fattr4_owner_group * objp) 00903 { 00904 if(!xdr_utf8str_mixed(xdrs, objp)) 00905 return FALSE; 00906 return TRUE; 00907 } 00908 00909 bool_t xdr_fattr4_quota_avail_hard(XDR * xdrs, fattr4_quota_avail_hard * objp) 00910 { 00911 if(!xdr_uint64_t(xdrs, objp)) 00912 return FALSE; 00913 return TRUE; 00914 } 00915 00916 bool_t xdr_fattr4_quota_avail_soft(XDR * xdrs, fattr4_quota_avail_soft * objp) 00917 { 00918 if(!xdr_uint64_t(xdrs, objp)) 00919 return FALSE; 00920 return TRUE; 00921 } 00922 00923 bool_t xdr_fattr4_quota_used(XDR * xdrs, fattr4_quota_used * objp) 00924 { 00925 if(!xdr_uint64_t(xdrs, objp)) 00926 return FALSE; 00927 return TRUE; 00928 } 00929 00930 bool_t xdr_fattr4_rawdev(XDR * xdrs, fattr4_rawdev * objp) 00931 { 00932 if(!xdr_specdata4(xdrs, objp)) 00933 return FALSE; 00934 return TRUE; 00935 } 00936 00937 bool_t xdr_fattr4_space_avail(XDR * xdrs, fattr4_space_avail * objp) 00938 { 00939 if(!xdr_uint64_t(xdrs, objp)) 00940 return FALSE; 00941 return TRUE; 00942 } 00943 00944 bool_t xdr_fattr4_space_free(XDR * xdrs, fattr4_space_free * objp) 00945 { 00946 if(!xdr_uint64_t(xdrs, objp)) 00947 return FALSE; 00948 return TRUE; 00949 } 00950 00951 bool_t xdr_fattr4_space_total(XDR * xdrs, fattr4_space_total * objp) 00952 { 00953 if(!xdr_uint64_t(xdrs, objp)) 00954 return FALSE; 00955 return TRUE; 00956 } 00957 00958 bool_t xdr_fattr4_space_used(XDR * xdrs, fattr4_space_used * objp) 00959 { 00960 if(!xdr_uint64_t(xdrs, objp)) 00961 return FALSE; 00962 return TRUE; 00963 } 00964 00965 bool_t xdr_fattr4_system(XDR * xdrs, fattr4_system * objp) 00966 { 00967 if(!xdr_bool(xdrs, objp)) 00968 return FALSE; 00969 return TRUE; 00970 } 00971 00972 bool_t xdr_fattr4_time_access(XDR * xdrs, fattr4_time_access * objp) 00973 { 00974 if(!xdr_nfstime4(xdrs, objp)) 00975 return FALSE; 00976 return TRUE; 00977 } 00978 00979 bool_t xdr_fattr4_time_access_set(XDR * xdrs, fattr4_time_access_set * objp) 00980 { 00981 if(!xdr_settime4(xdrs, objp)) 00982 return FALSE; 00983 return TRUE; 00984 } 00985 00986 bool_t xdr_fattr4_time_backup(XDR * xdrs, fattr4_time_backup * objp) 00987 { 00988 if(!xdr_nfstime4(xdrs, objp)) 00989 return FALSE; 00990 return TRUE; 00991 } 00992 00993 bool_t xdr_fattr4_time_create(XDR * xdrs, fattr4_time_create * objp) 00994 { 00995 if(!xdr_nfstime4(xdrs, objp)) 00996 return FALSE; 00997 return TRUE; 00998 } 00999 01000 bool_t xdr_fattr4_time_delta(XDR * xdrs, fattr4_time_delta * objp) 01001 { 01002 if(!xdr_nfstime4(xdrs, objp)) 01003 return FALSE; 01004 return TRUE; 01005 } 01006 01007 bool_t xdr_fattr4_time_metadata(XDR * xdrs, fattr4_time_metadata * objp) 01008 { 01009 if(!xdr_nfstime4(xdrs, objp)) 01010 return FALSE; 01011 return TRUE; 01012 } 01013 01014 bool_t xdr_fattr4_time_modify(XDR * xdrs, fattr4_time_modify * objp) 01015 { 01016 if(!xdr_nfstime4(xdrs, objp)) 01017 return FALSE; 01018 return TRUE; 01019 } 01020 01021 bool_t xdr_fattr4_time_modify_set(XDR * xdrs, fattr4_time_modify_set * objp) 01022 { 01023 if(!xdr_settime4(xdrs, objp)) 01024 return FALSE; 01025 return TRUE; 01026 } 01027 01028 bool_t xdr_fattr4_suppattr_exclcreat(XDR * xdrs, fattr4_suppattr_exclcreat * objp) 01029 { 01030 if(!xdr_bitmap4(xdrs, objp)) 01031 return FALSE; 01032 return TRUE; 01033 } 01034 01035 bool_t xdr_fattr4_dir_notif_delay(XDR * xdrs, fattr4_dir_notif_delay * objp) 01036 { 01037 if(!xdr_nfstime4(xdrs, objp)) 01038 return FALSE; 01039 return TRUE; 01040 } 01041 01042 bool_t xdr_fattr4_dirent_notif_delay(XDR * xdrs, fattr4_dirent_notif_delay * objp) 01043 { 01044 if(!xdr_nfstime4(xdrs, objp)) 01045 return FALSE; 01046 return TRUE; 01047 } 01048 01049 bool_t xdr_fattr4_fs_layout_types(XDR * xdrs, fattr4_fs_layout_types * objp) 01050 { 01051 if(!xdr_array 01052 (xdrs, (char **)&objp->fattr4_fs_layout_types_val, 01053 (u_int *) & objp->fattr4_fs_layout_types_len, ~0, sizeof(layouttype4), 01054 (xdrproc_t) xdr_layouttype4)) 01055 return FALSE; 01056 return TRUE; 01057 } 01058 01059 bool_t xdr_fattr4_fs_status(XDR * xdrs, fattr4_fs_status * objp) 01060 { 01061 if(!xdr_fs4_status(xdrs, objp)) 01062 return FALSE; 01063 return TRUE; 01064 } 01065 01066 bool_t xdr_fattr4_fs_charset_cap(XDR * xdrs, fattr4_fs_charset_cap * objp) 01067 { 01068 if(!xdr_fs_charset_cap4(xdrs, objp)) 01069 return FALSE; 01070 return TRUE; 01071 } 01072 01073 bool_t xdr_fattr4_layout_alignment(XDR * xdrs, fattr4_layout_alignment * objp) 01074 { 01075 if(!xdr_uint32_t(xdrs, objp)) 01076 return FALSE; 01077 return TRUE; 01078 } 01079 01080 bool_t xdr_fattr4_layout_blksize(XDR * xdrs, fattr4_layout_blksize * objp) 01081 { 01082 if(!xdr_uint32_t(xdrs, objp)) 01083 return FALSE; 01084 return TRUE; 01085 } 01086 01087 bool_t xdr_fattr4_layout_hint(XDR * xdrs, fattr4_layout_hint * objp) 01088 { 01089 if(!xdr_layouthint4(xdrs, objp)) 01090 return FALSE; 01091 return TRUE; 01092 } 01093 01094 bool_t xdr_fattr4_layout_types(XDR * xdrs, fattr4_layout_types * objp) 01095 { 01096 if(!xdr_array 01097 (xdrs, (char **)&objp->fattr4_layout_types_val, 01098 (u_int *) & objp->fattr4_layout_types_len, ~0, sizeof(layouttype4), 01099 (xdrproc_t) xdr_layouttype4)) 01100 return FALSE; 01101 return TRUE; 01102 } 01103 01104 bool_t xdr_fattr4_mdsthreshold(XDR * xdrs, fattr4_mdsthreshold * objp) 01105 { 01106 if(!xdr_mdsthreshold4(xdrs, objp)) 01107 return FALSE; 01108 return TRUE; 01109 } 01110 01111 bool_t xdr_fattr4_retention_get(XDR * xdrs, fattr4_retention_get * objp) 01112 { 01113 if(!xdr_retention_get4(xdrs, objp)) 01114 return FALSE; 01115 return TRUE; 01116 } 01117 01118 bool_t xdr_fattr4_retention_set(XDR * xdrs, fattr4_retention_set * objp) 01119 { 01120 if(!xdr_retention_set4(xdrs, objp)) 01121 return FALSE; 01122 return TRUE; 01123 } 01124 01125 bool_t xdr_fattr4_retentevt_get(XDR * xdrs, fattr4_retentevt_get * objp) 01126 { 01127 if(!xdr_retention_get4(xdrs, objp)) 01128 return FALSE; 01129 return TRUE; 01130 } 01131 01132 bool_t xdr_fattr4_retentevt_set(XDR * xdrs, fattr4_retentevt_set * objp) 01133 { 01134 if(!xdr_retention_set4(xdrs, objp)) 01135 return FALSE; 01136 return TRUE; 01137 } 01138 01139 bool_t xdr_fattr4_retention_hold(XDR * xdrs, fattr4_retention_hold * objp) 01140 { 01141 if(!xdr_uint64_t(xdrs, objp)) 01142 return FALSE; 01143 return TRUE; 01144 } 01145 01146 bool_t xdr_fattr4_dacl(XDR * xdrs, fattr4_dacl * objp) 01147 { 01148 if(!xdr_nfsacl41(xdrs, objp)) 01149 return FALSE; 01150 return TRUE; 01151 } 01152 01153 bool_t xdr_fattr4_sacl(XDR * xdrs, fattr4_sacl * objp) 01154 { 01155 if(!xdr_nfsacl41(xdrs, objp)) 01156 return FALSE; 01157 return TRUE; 01158 } 01159 01160 bool_t xdr_fattr4_change_policy(XDR * xdrs, fattr4_change_policy * objp) 01161 { 01162 if(!xdr_change_policy4(xdrs, objp)) 01163 return FALSE; 01164 return TRUE; 01165 } 01166 01167 /* 01168 * REQUIRED Attributes 01169 */ 01170 /* new to NFSV4.1 */ 01171 /* 01172 * RECOMMENDED Attributes 01173 */ 01174 01175 /* new to NFSV4.1 */ 01176 01177 bool_t xdr_fattr4(XDR * xdrs, fattr4 * objp) 01178 { 01179 if(!xdr_bitmap4(xdrs, &objp->attrmask)) 01180 return FALSE; 01181 if(!xdr_attrlist4(xdrs, &objp->attr_vals)) 01182 return FALSE; 01183 return TRUE; 01184 } 01185 01186 bool_t xdr_change_info4(XDR * xdrs, change_info4 * objp) 01187 { 01188 if(!xdr_bool(xdrs, &objp->atomic)) 01189 return FALSE; 01190 if(!xdr_changeid4(xdrs, &objp->before)) 01191 return FALSE; 01192 if(!xdr_changeid4(xdrs, &objp->after)) 01193 return FALSE; 01194 return TRUE; 01195 } 01196 01197 bool_t xdr_clientaddr4(XDR * xdrs, clientaddr4 * objp) 01198 { 01199 if(!xdr_netaddr4(xdrs, objp)) 01200 return FALSE; 01201 return TRUE; 01202 } 01203 01204 bool_t xdr_cb_client4(XDR * xdrs, cb_client4 * objp) 01205 { 01206 if(!xdr_uint32_t(xdrs, &objp->cb_program)) 01207 return FALSE; 01208 if(!xdr_netaddr4(xdrs, &objp->cb_location)) 01209 return FALSE; 01210 return TRUE; 01211 } 01212 01213 bool_t xdr_nfs_client_id4(XDR * xdrs, nfs_client_id4 * objp) 01214 { 01215 if(!xdr_verifier4(xdrs, objp->verifier)) 01216 return FALSE; 01217 if(!xdr_bytes 01218 (xdrs, (char **)&objp->id.id_val, (u_int *) & objp->id.id_len, NFS4_OPAQUE_LIMIT)) 01219 return FALSE; 01220 return TRUE; 01221 } 01222 01223 bool_t xdr_client_owner4(XDR * xdrs, client_owner4 * objp) 01224 { 01225 if(!xdr_verifier4(xdrs, objp->co_verifier)) 01226 return FALSE; 01227 if(!xdr_bytes 01228 (xdrs, (char **)&objp->co_ownerid.co_ownerid_val, 01229 (u_int *) & objp->co_ownerid.co_ownerid_len, NFS4_OPAQUE_LIMIT)) 01230 return FALSE; 01231 return TRUE; 01232 } 01233 01234 bool_t xdr_server_owner4(XDR * xdrs, server_owner4 * objp) 01235 { 01236 if(!xdr_uint64_t(xdrs, &objp->so_minor_id)) 01237 return FALSE; 01238 if(!xdr_bytes 01239 (xdrs, (char **)&objp->so_major_id.so_major_id_val, 01240 (u_int *) & objp->so_major_id.so_major_id_len, NFS4_OPAQUE_LIMIT)) 01241 return FALSE; 01242 return TRUE; 01243 } 01244 01245 bool_t xdr_state_owner4(XDR * xdrs, state_owner4 * objp) 01246 { 01247 if(!xdr_clientid4(xdrs, &objp->clientid)) 01248 return FALSE; 01249 if(!xdr_bytes 01250 (xdrs, (char **)&objp->owner.owner_val, (u_int *) & objp->owner.owner_len, 01251 NFS4_OPAQUE_LIMIT)) 01252 return FALSE; 01253 return TRUE; 01254 } 01255 01256 bool_t xdr_open_owner4(XDR * xdrs, open_owner4 * objp) 01257 { 01258 if(!xdr_state_owner4(xdrs, objp)) 01259 return FALSE; 01260 return TRUE; 01261 } 01262 01263 bool_t xdr_lock_owner4(XDR * xdrs, lock_owner4 * objp) 01264 { 01265 if(!xdr_state_owner4(xdrs, objp)) 01266 return FALSE; 01267 return TRUE; 01268 } 01269 01270 bool_t xdr_nfs_lock_type4(XDR * xdrs, nfs_lock_type4 * objp) 01271 { 01272 if(!xdr_enum(xdrs, (enum_t *) objp)) 01273 return FALSE; 01274 return TRUE; 01275 } 01276 01277 /* Input for computing subkeys */ 01278 01279 bool_t xdr_ssv_subkey4(XDR * xdrs, ssv_subkey4 * objp) 01280 { 01281 if(!xdr_enum(xdrs, (enum_t *) objp)) 01282 return FALSE; 01283 return TRUE; 01284 } 01285 01286 /* Input for computing smt_hmac */ 01287 01288 bool_t xdr_ssv_mic_plain_tkn4(XDR * xdrs, ssv_mic_plain_tkn4 * objp) 01289 { 01290 if(!xdr_uint32_t(xdrs, &objp->smpt_ssv_seq)) 01291 return FALSE; 01292 if(!xdr_bytes 01293 (xdrs, (char **)&objp->smpt_orig_plain.smpt_orig_plain_val, 01294 (u_int *) & objp->smpt_orig_plain.smpt_orig_plain_len, ~0)) 01295 return FALSE; 01296 return TRUE; 01297 } 01298 01299 /* SSV GSS PerMsgToken token */ 01300 01301 bool_t xdr_ssv_mic_tkn4(XDR * xdrs, ssv_mic_tkn4 * objp) 01302 { 01303 if(!xdr_uint32_t(xdrs, &objp->smt_ssv_seq)) 01304 return FALSE; 01305 if(!xdr_bytes 01306 (xdrs, (char **)&objp->smt_hmac.smt_hmac_val, 01307 (u_int *) & objp->smt_hmac.smt_hmac_len, ~0)) 01308 return FALSE; 01309 return TRUE; 01310 } 01311 01312 /* Input for computing ssct_encr_data and ssct_hmac */ 01313 01314 bool_t xdr_ssv_seal_plain_tkn4(XDR * xdrs, ssv_seal_plain_tkn4 * objp) 01315 { 01316 if(!xdr_bytes 01317 (xdrs, (char **)&objp->sspt_confounder.sspt_confounder_val, 01318 (u_int *) & objp->sspt_confounder.sspt_confounder_len, ~0)) 01319 return FALSE; 01320 if(!xdr_uint32_t(xdrs, &objp->sspt_ssv_seq)) 01321 return FALSE; 01322 if(!xdr_bytes 01323 (xdrs, (char **)&objp->sspt_orig_plain.sspt_orig_plain_val, 01324 (u_int *) & objp->sspt_orig_plain.sspt_orig_plain_len, ~0)) 01325 return FALSE; 01326 if(!xdr_bytes 01327 (xdrs, (char **)&objp->sspt_pad.sspt_pad_val, 01328 (u_int *) & objp->sspt_pad.sspt_pad_len, ~0)) 01329 return FALSE; 01330 return TRUE; 01331 } 01332 01333 /* SSV GSS SealedMessage token */ 01334 01335 bool_t xdr_ssv_seal_cipher_tkn4(XDR * xdrs, ssv_seal_cipher_tkn4 * objp) 01336 { 01337 if(!xdr_uint32_t(xdrs, &objp->ssct_ssv_seq)) 01338 return FALSE; 01339 if(!xdr_bytes 01340 (xdrs, (char **)&objp->ssct_iv.ssct_iv_val, (u_int *) & objp->ssct_iv.ssct_iv_len, 01341 ~0)) 01342 return FALSE; 01343 if(!xdr_bytes 01344 (xdrs, (char **)&objp->ssct_encr_data.ssct_encr_data_val, 01345 (u_int *) & objp->ssct_encr_data.ssct_encr_data_len, ~0)) 01346 return FALSE; 01347 if(!xdr_bytes 01348 (xdrs, (char **)&objp->ssct_hmac.ssct_hmac_val, 01349 (u_int *) & objp->ssct_hmac.ssct_hmac_len, ~0)) 01350 return FALSE; 01351 return TRUE; 01352 } 01353 01354 bool_t xdr_fs_locations_server4(XDR * xdrs, fs_locations_server4 * objp) 01355 { 01356 if(!xdr_int32_t(xdrs, &objp->fls_currency)) 01357 return FALSE; 01358 if(!xdr_bytes 01359 (xdrs, (char **)&objp->fls_info.fls_info_val, 01360 (u_int *) & objp->fls_info.fls_info_len, ~0)) 01361 return FALSE; 01362 if(!xdr_utf8str_cis(xdrs, &objp->fls_server)) 01363 return FALSE; 01364 return TRUE; 01365 } 01366 01367 bool_t xdr_fs_locations_item4(XDR * xdrs, fs_locations_item4 * objp) 01368 { 01369 if(!xdr_array 01370 (xdrs, (char **)&objp->fli_entries.fli_entries_val, 01371 (u_int *) & objp->fli_entries.fli_entries_len, ~0, sizeof(fs_locations_server4), 01372 (xdrproc_t) xdr_fs_locations_server4)) 01373 return FALSE; 01374 if(!xdr_pathname4(xdrs, &objp->fli_rootpath)) 01375 return FALSE; 01376 return TRUE; 01377 } 01378 01379 bool_t xdr_fs_locations_info4(XDR * xdrs, fs_locations_info4 * objp) 01380 { 01381 if(!xdr_uint32_t(xdrs, &objp->fli_flags)) 01382 return FALSE; 01383 if(!xdr_int32_t(xdrs, &objp->fli_valid_for)) 01384 return FALSE; 01385 if(!xdr_pathname4(xdrs, &objp->fli_fs_root)) 01386 return FALSE; 01387 if(!xdr_array 01388 (xdrs, (char **)&objp->fli_items.fli_items_val, 01389 (u_int *) & objp->fli_items.fli_items_len, ~0, sizeof(fs_locations_item4), 01390 (xdrproc_t) xdr_fs_locations_item4)) 01391 return FALSE; 01392 return TRUE; 01393 } 01394 01395 bool_t xdr_fattr4_fs_locations_info(XDR * xdrs, fattr4_fs_locations_info * objp) 01396 { 01397 if(!xdr_fs_locations_info4(xdrs, objp)) 01398 return FALSE; 01399 return TRUE; 01400 } 01401 01402 bool_t xdr_nfl_util4(XDR * xdrs, nfl_util4 * objp) 01403 { 01404 if(!xdr_uint32_t(xdrs, objp)) 01405 return FALSE; 01406 return TRUE; 01407 } 01408 01409 bool_t xdr_filelayout_hint_care4(XDR * xdrs, filelayout_hint_care4 * objp) 01410 { 01411 if(!xdr_enum(xdrs, (enum_t *) objp)) 01412 return FALSE; 01413 return TRUE; 01414 } 01415 01416 /* Encoded in the loh_body field of data type layouthint4: */ 01417 01418 bool_t xdr_nfsv4_1_file_layouthint4(XDR * xdrs, nfsv4_1_file_layouthint4 * objp) 01419 { 01420 if(!xdr_uint32_t(xdrs, &objp->nflh_care)) 01421 return FALSE; 01422 if(!xdr_nfl_util4(xdrs, &objp->nflh_util)) 01423 return FALSE; 01424 if(!xdr_count4(xdrs, &objp->nflh_stripe_count)) 01425 return FALSE; 01426 return TRUE; 01427 } 01428 01429 bool_t xdr_multipath_list4(XDR * xdrs, multipath_list4 * objp) 01430 { 01431 if(!xdr_array 01432 (xdrs, (char **)&objp->multipath_list4_val, (u_int *) & objp->multipath_list4_len, 01433 ~0, sizeof(netaddr4), (xdrproc_t) xdr_netaddr4)) 01434 return FALSE; 01435 return TRUE; 01436 } 01437 01438 /* 01439 * Encoded in the da_addr_body field of 01440 * data type device_addr4: 01441 */ 01442 01443 bool_t xdr_nfsv4_1_file_layout_ds_addr4(XDR * xdrs, nfsv4_1_file_layout_ds_addr4 * objp) 01444 { 01445 if(!xdr_array 01446 (xdrs, (char **)&objp->nflda_stripe_indices.nflda_stripe_indices_val, 01447 (u_int *) & objp->nflda_stripe_indices.nflda_stripe_indices_len, ~0, 01448 sizeof(uint32_t), (xdrproc_t) xdr_uint32_t)) 01449 return FALSE; 01450 if(!xdr_array 01451 (xdrs, (char **)&objp->nflda_multipath_ds_list.nflda_multipath_ds_list_val, 01452 (u_int *) & objp->nflda_multipath_ds_list.nflda_multipath_ds_list_len, ~0, 01453 sizeof(multipath_list4), (xdrproc_t) xdr_multipath_list4)) 01454 return FALSE; 01455 return TRUE; 01456 } 01457 01458 /* 01459 * Encoded in the loc_body field of 01460 * data type layout_content4: 01461 */ 01462 01463 bool_t xdr_nfsv4_1_file_layout4(XDR * xdrs, nfsv4_1_file_layout4 * objp) 01464 { 01465 if(!xdr_deviceid4(xdrs, objp->nfl_deviceid)) 01466 return FALSE; 01467 if(!xdr_nfl_util4(xdrs, &objp->nfl_util)) 01468 return FALSE; 01469 if(!xdr_uint32_t(xdrs, &objp->nfl_first_stripe_index)) 01470 return FALSE; 01471 if(!xdr_offset4(xdrs, &objp->nfl_pattern_offset)) 01472 return FALSE; 01473 if(!xdr_array 01474 (xdrs, (char **)&objp->nfl_fh_list.nfl_fh_list_val, 01475 (u_int *) & objp->nfl_fh_list.nfl_fh_list_len, ~0, sizeof(nfs_fh4), 01476 (xdrproc_t) xdr_nfs_fh4)) 01477 return FALSE; 01478 return TRUE; 01479 } 01480 01481 /* 01482 * Encoded in the lou_body field of data type layoutupdate4: 01483 * Nothing. lou_body is a zero length array of bytes. 01484 */ 01485 01486 /* 01487 * Encoded in the lrf_body field of 01488 * data type layoutreturn_file4: 01489 * Nothing. lrf_body is a zero length array of bytes. 01490 */ 01491 01492 bool_t xdr_ACCESS4args(XDR * xdrs, ACCESS4args * objp) 01493 { 01494 if(!xdr_uint32_t(xdrs, &objp->access)) 01495 return FALSE; 01496 return TRUE; 01497 } 01498 01499 bool_t xdr_ACCESS4resok(XDR * xdrs, ACCESS4resok * objp) 01500 { 01501 if(!xdr_uint32_t(xdrs, &objp->supported)) 01502 return FALSE; 01503 if(!xdr_uint32_t(xdrs, &objp->access)) 01504 return FALSE; 01505 return TRUE; 01506 } 01507 01508 bool_t xdr_ACCESS4res(XDR * xdrs, ACCESS4res * objp) 01509 { 01510 if(!xdr_nfsstat4(xdrs, &objp->status)) 01511 return FALSE; 01512 switch (objp->status) 01513 { 01514 case NFS4_OK: 01515 if(!xdr_ACCESS4resok(xdrs, &objp->ACCESS4res_u.resok4)) 01516 return FALSE; 01517 break; 01518 default: 01519 break; 01520 } 01521 return TRUE; 01522 } 01523 01524 bool_t xdr_CLOSE4args(XDR * xdrs, CLOSE4args * objp) 01525 { 01526 if(!xdr_seqid4(xdrs, &objp->seqid)) 01527 return FALSE; 01528 if(!xdr_stateid4(xdrs, &objp->open_stateid)) 01529 return FALSE; 01530 return TRUE; 01531 } 01532 01533 bool_t xdr_CLOSE4res(XDR * xdrs, CLOSE4res * objp) 01534 { 01535 if(!xdr_nfsstat4(xdrs, &objp->status)) 01536 return FALSE; 01537 switch (objp->status) 01538 { 01539 case NFS4_OK: 01540 if(!xdr_stateid4(xdrs, &objp->CLOSE4res_u.open_stateid)) 01541 return FALSE; 01542 break; 01543 default: 01544 break; 01545 } 01546 return TRUE; 01547 } 01548 01549 bool_t xdr_COMMIT4args(XDR * xdrs, COMMIT4args * objp) 01550 { 01551 if(!xdr_offset4(xdrs, &objp->offset)) 01552 return FALSE; 01553 if(!xdr_count4(xdrs, &objp->count)) 01554 return FALSE; 01555 return TRUE; 01556 } 01557 01558 bool_t xdr_COMMIT4resok(XDR * xdrs, COMMIT4resok * objp) 01559 { 01560 if(!xdr_verifier4(xdrs, objp->writeverf)) 01561 return FALSE; 01562 return TRUE; 01563 } 01564 01565 bool_t xdr_COMMIT4res(XDR * xdrs, COMMIT4res * objp) 01566 { 01567 if(!xdr_nfsstat4(xdrs, &objp->status)) 01568 return FALSE; 01569 switch (objp->status) 01570 { 01571 case NFS4_OK: 01572 if(!xdr_COMMIT4resok(xdrs, &objp->COMMIT4res_u.resok4)) 01573 return FALSE; 01574 break; 01575 default: 01576 break; 01577 } 01578 return TRUE; 01579 } 01580 01581 bool_t xdr_createtype4(XDR * xdrs, createtype4 * objp) 01582 { 01583 if(!xdr_nfs_ftype4(xdrs, &objp->type)) 01584 return FALSE; 01585 switch (objp->type) 01586 { 01587 case NF4LNK: 01588 if(!xdr_linktext4(xdrs, &objp->createtype4_u.linkdata)) 01589 return FALSE; 01590 break; 01591 case NF4BLK: 01592 case NF4CHR: 01593 if(!xdr_specdata4(xdrs, &objp->createtype4_u.devdata)) 01594 return FALSE; 01595 break; 01596 case NF4SOCK: 01597 case NF4FIFO: 01598 case NF4DIR: 01599 break; 01600 default: 01601 break; 01602 } 01603 return TRUE; 01604 } 01605 01606 bool_t xdr_CREATE4args(XDR * xdrs, CREATE4args * objp) 01607 { 01608 if(!xdr_createtype4(xdrs, &objp->objtype)) 01609 return FALSE; 01610 if(!xdr_component4(xdrs, &objp->objname)) 01611 return FALSE; 01612 if(!xdr_fattr4(xdrs, &objp->createattrs)) 01613 return FALSE; 01614 return TRUE; 01615 } 01616 01617 bool_t xdr_CREATE4resok(XDR * xdrs, CREATE4resok * objp) 01618 { 01619 if(!xdr_change_info4(xdrs, &objp->cinfo)) 01620 return FALSE; 01621 if(!xdr_bitmap4(xdrs, &objp->attrset)) 01622 return FALSE; 01623 return TRUE; 01624 } 01625 01626 bool_t xdr_CREATE4res(XDR * xdrs, CREATE4res * objp) 01627 { 01628 if(!xdr_nfsstat4(xdrs, &objp->status)) 01629 return FALSE; 01630 switch (objp->status) 01631 { 01632 case NFS4_OK: 01633 if(!xdr_CREATE4resok(xdrs, &objp->CREATE4res_u.resok4)) 01634 return FALSE; 01635 break; 01636 default: 01637 break; 01638 } 01639 return TRUE; 01640 } 01641 01642 bool_t xdr_DELEGPURGE4args(XDR * xdrs, DELEGPURGE4args * objp) 01643 { 01644 if(!xdr_clientid4(xdrs, &objp->clientid)) 01645 return FALSE; 01646 return TRUE; 01647 } 01648 01649 bool_t xdr_DELEGPURGE4res(XDR * xdrs, DELEGPURGE4res * objp) 01650 { 01651 if(!xdr_nfsstat4(xdrs, &objp->status)) 01652 return FALSE; 01653 return TRUE; 01654 } 01655 01656 bool_t xdr_DELEGRETURN4args(XDR * xdrs, DELEGRETURN4args * objp) 01657 { 01658 if(!xdr_stateid4(xdrs, &objp->deleg_stateid)) 01659 return FALSE; 01660 return TRUE; 01661 } 01662 01663 bool_t xdr_DELEGRETURN4res(XDR * xdrs, DELEGRETURN4res * objp) 01664 { 01665 if(!xdr_nfsstat4(xdrs, &objp->status)) 01666 return FALSE; 01667 return TRUE; 01668 } 01669 01670 bool_t xdr_GETATTR4args(XDR * xdrs, GETATTR4args * objp) 01671 { 01672 if(!xdr_bitmap4(xdrs, &objp->attr_request)) 01673 return FALSE; 01674 return TRUE; 01675 } 01676 01677 bool_t xdr_GETATTR4resok(XDR * xdrs, GETATTR4resok * objp) 01678 { 01679 if(!xdr_fattr4(xdrs, &objp->obj_attributes)) 01680 return FALSE; 01681 return TRUE; 01682 } 01683 01684 bool_t xdr_GETATTR4res(XDR * xdrs, GETATTR4res * objp) 01685 { 01686 if(!xdr_nfsstat4(xdrs, &objp->status)) 01687 return FALSE; 01688 switch (objp->status) 01689 { 01690 case NFS4_OK: 01691 if(!xdr_GETATTR4resok(xdrs, &objp->GETATTR4res_u.resok4)) 01692 return FALSE; 01693 break; 01694 default: 01695 break; 01696 } 01697 return TRUE; 01698 } 01699 01700 bool_t xdr_GETFH4resok(XDR * xdrs, GETFH4resok * objp) 01701 { 01702 if(!xdr_nfs_fh4(xdrs, &objp->object)) 01703 return FALSE; 01704 return TRUE; 01705 } 01706 01707 bool_t xdr_GETFH4res(XDR * xdrs, GETFH4res * objp) 01708 { 01709 if(!xdr_nfsstat4(xdrs, &objp->status)) 01710 return FALSE; 01711 switch (objp->status) 01712 { 01713 case NFS4_OK: 01714 if(!xdr_GETFH4resok(xdrs, &objp->GETFH4res_u.resok4)) 01715 return FALSE; 01716 break; 01717 default: 01718 break; 01719 } 01720 return TRUE; 01721 } 01722 01723 bool_t xdr_LINK4args(XDR * xdrs, LINK4args * objp) 01724 { 01725 if(!xdr_component4(xdrs, &objp->newname)) 01726 return FALSE; 01727 return TRUE; 01728 } 01729 01730 bool_t xdr_LINK4resok(XDR * xdrs, LINK4resok * objp) 01731 { 01732 if(!xdr_change_info4(xdrs, &objp->cinfo)) 01733 return FALSE; 01734 return TRUE; 01735 } 01736 01737 bool_t xdr_LINK4res(XDR * xdrs, LINK4res * objp) 01738 { 01739 if(!xdr_nfsstat4(xdrs, &objp->status)) 01740 return FALSE; 01741 switch (objp->status) 01742 { 01743 case NFS4_OK: 01744 if(!xdr_LINK4resok(xdrs, &objp->LINK4res_u.resok4)) 01745 return FALSE; 01746 break; 01747 default: 01748 break; 01749 } 01750 return TRUE; 01751 } 01752 01753 bool_t xdr_open_to_lock_owner4(XDR * xdrs, open_to_lock_owner4 * objp) 01754 { 01755 if(!xdr_seqid4(xdrs, &objp->open_seqid)) 01756 return FALSE; 01757 if(!xdr_stateid4(xdrs, &objp->open_stateid)) 01758 return FALSE; 01759 if(!xdr_seqid4(xdrs, &objp->lock_seqid)) 01760 return FALSE; 01761 if(!xdr_lock_owner4(xdrs, &objp->lock_owner)) 01762 return FALSE; 01763 return TRUE; 01764 } 01765 01766 bool_t xdr_exist_lock_owner4(XDR * xdrs, exist_lock_owner4 * objp) 01767 { 01768 if(!xdr_stateid4(xdrs, &objp->lock_stateid)) 01769 return FALSE; 01770 if(!xdr_seqid4(xdrs, &objp->lock_seqid)) 01771 return FALSE; 01772 return TRUE; 01773 } 01774 01775 bool_t xdr_locker4(XDR * xdrs, locker4 * objp) 01776 { 01777 if(!xdr_bool(xdrs, &objp->new_lock_owner)) 01778 return FALSE; 01779 switch (objp->new_lock_owner) 01780 { 01781 case TRUE: 01782 if(!xdr_open_to_lock_owner4(xdrs, &objp->locker4_u.open_owner)) 01783 return FALSE; 01784 break; 01785 case FALSE: 01786 if(!xdr_exist_lock_owner4(xdrs, &objp->locker4_u.lock_owner)) 01787 return FALSE; 01788 break; 01789 default: 01790 return FALSE; 01791 } 01792 return TRUE; 01793 } 01794 01795 bool_t xdr_LOCK4args(XDR * xdrs, LOCK4args * objp) 01796 { 01797 if(!xdr_nfs_lock_type4(xdrs, &objp->locktype)) 01798 return FALSE; 01799 if(!xdr_bool(xdrs, &objp->reclaim)) 01800 return FALSE; 01801 if(!xdr_offset4(xdrs, &objp->offset)) 01802 return FALSE; 01803 if(!xdr_length4(xdrs, &objp->length)) 01804 return FALSE; 01805 if(!xdr_locker4(xdrs, &objp->locker)) 01806 return FALSE; 01807 return TRUE; 01808 } 01809 01810 bool_t xdr_LOCK4denied(XDR * xdrs, LOCK4denied * objp) 01811 { 01812 if(!xdr_offset4(xdrs, &objp->offset)) 01813 return FALSE; 01814 if(!xdr_length4(xdrs, &objp->length)) 01815 return FALSE; 01816 if(!xdr_nfs_lock_type4(xdrs, &objp->locktype)) 01817 return FALSE; 01818 if(!xdr_lock_owner4(xdrs, &objp->owner)) 01819 return FALSE; 01820 return TRUE; 01821 } 01822 01823 bool_t xdr_LOCK4resok(XDR * xdrs, LOCK4resok * objp) 01824 { 01825 if(!xdr_stateid4(xdrs, &objp->lock_stateid)) 01826 return FALSE; 01827 return TRUE; 01828 } 01829 01830 bool_t xdr_LOCK4res(XDR * xdrs, LOCK4res * objp) 01831 { 01832 if(!xdr_nfsstat4(xdrs, &objp->status)) 01833 return FALSE; 01834 switch (objp->status) 01835 { 01836 case NFS4_OK: 01837 if(!xdr_LOCK4resok(xdrs, &objp->LOCK4res_u.resok4)) 01838 return FALSE; 01839 break; 01840 case NFS4ERR_DENIED: 01841 if(!xdr_LOCK4denied(xdrs, &objp->LOCK4res_u.denied)) 01842 return FALSE; 01843 break; 01844 default: 01845 break; 01846 } 01847 return TRUE; 01848 } 01849 01850 bool_t xdr_LOCKT4args(XDR * xdrs, LOCKT4args * objp) 01851 { 01852 if(!xdr_nfs_lock_type4(xdrs, &objp->locktype)) 01853 return FALSE; 01854 if(!xdr_offset4(xdrs, &objp->offset)) 01855 return FALSE; 01856 if(!xdr_length4(xdrs, &objp->length)) 01857 return FALSE; 01858 if(!xdr_lock_owner4(xdrs, &objp->owner)) 01859 return FALSE; 01860 return TRUE; 01861 } 01862 01863 bool_t xdr_LOCKT4res(XDR * xdrs, LOCKT4res * objp) 01864 { 01865 if(!xdr_nfsstat4(xdrs, &objp->status)) 01866 return FALSE; 01867 switch (objp->status) 01868 { 01869 case NFS4ERR_DENIED: 01870 if(!xdr_LOCK4denied(xdrs, &objp->LOCKT4res_u.denied)) 01871 return FALSE; 01872 break; 01873 case NFS4_OK: 01874 break; 01875 default: 01876 break; 01877 } 01878 return TRUE; 01879 } 01880 01881 bool_t xdr_LOCKU4args(XDR * xdrs, LOCKU4args * objp) 01882 { 01883 if(!xdr_nfs_lock_type4(xdrs, &objp->locktype)) 01884 return FALSE; 01885 if(!xdr_seqid4(xdrs, &objp->seqid)) 01886 return FALSE; 01887 if(!xdr_stateid4(xdrs, &objp->lock_stateid)) 01888 return FALSE; 01889 if(!xdr_offset4(xdrs, &objp->offset)) 01890 return FALSE; 01891 if(!xdr_length4(xdrs, &objp->length)) 01892 return FALSE; 01893 return TRUE; 01894 } 01895 01896 bool_t xdr_LOCKU4res(XDR * xdrs, LOCKU4res * objp) 01897 { 01898 if(!xdr_nfsstat4(xdrs, &objp->status)) 01899 return FALSE; 01900 switch (objp->status) 01901 { 01902 case NFS4_OK: 01903 if(!xdr_stateid4(xdrs, &objp->LOCKU4res_u.lock_stateid)) 01904 return FALSE; 01905 break; 01906 default: 01907 break; 01908 } 01909 return TRUE; 01910 } 01911 01912 bool_t xdr_LOOKUP4args(XDR * xdrs, LOOKUP4args * objp) 01913 { 01914 if(!xdr_component4(xdrs, &objp->objname)) 01915 return FALSE; 01916 return TRUE; 01917 } 01918 01919 bool_t xdr_LOOKUP4res(XDR * xdrs, LOOKUP4res * objp) 01920 { 01921 if(!xdr_nfsstat4(xdrs, &objp->status)) 01922 return FALSE; 01923 return TRUE; 01924 } 01925 01926 bool_t xdr_LOOKUPP4res(XDR * xdrs, LOOKUPP4res * objp) 01927 { 01928 if(!xdr_nfsstat4(xdrs, &objp->status)) 01929 return FALSE; 01930 return TRUE; 01931 } 01932 01933 bool_t xdr_NVERIFY4args(XDR * xdrs, NVERIFY4args * objp) 01934 { 01935 if(!xdr_fattr4(xdrs, &objp->obj_attributes)) 01936 return FALSE; 01937 return TRUE; 01938 } 01939 01940 bool_t xdr_NVERIFY4res(XDR * xdrs, NVERIFY4res * objp) 01941 { 01942 if(!xdr_nfsstat4(xdrs, &objp->status)) 01943 return FALSE; 01944 return TRUE; 01945 } 01946 01947 bool_t xdr_createmode4(XDR * xdrs, createmode4 * objp) 01948 { 01949 if(!xdr_enum(xdrs, (enum_t *) objp)) 01950 return FALSE; 01951 return TRUE; 01952 } 01953 01954 bool_t xdr_creatverfattr(XDR * xdrs, creatverfattr * objp) 01955 { 01956 if(!xdr_verifier4(xdrs, objp->cva_verf)) 01957 return FALSE; 01958 if(!xdr_fattr4(xdrs, &objp->cva_attrs)) 01959 return FALSE; 01960 return TRUE; 01961 } 01962 01963 bool_t xdr_createhow4(XDR * xdrs, createhow4 * objp) 01964 { 01965 if(!xdr_createmode4(xdrs, &objp->mode)) 01966 return FALSE; 01967 switch (objp->mode) 01968 { 01969 case UNCHECKED4: 01970 case GUARDED4: 01971 if(!xdr_fattr4(xdrs, &objp->createhow4_u.createattrs)) 01972 return FALSE; 01973 break; 01974 case EXCLUSIVE4: 01975 if(!xdr_verifier4(xdrs, objp->createhow4_u.createverf)) 01976 return FALSE; 01977 break; 01978 case EXCLUSIVE4_1: 01979 if(!xdr_creatverfattr(xdrs, &objp->createhow4_u.ch_createboth)) 01980 return FALSE; 01981 break; 01982 default: 01983 return FALSE; 01984 } 01985 return TRUE; 01986 } 01987 01988 bool_t xdr_opentype4(XDR * xdrs, opentype4 * objp) 01989 { 01990 if(!xdr_enum(xdrs, (enum_t *) objp)) 01991 return FALSE; 01992 return TRUE; 01993 } 01994 01995 bool_t xdr_openflag4(XDR * xdrs, openflag4 * objp) 01996 { 01997 if(!xdr_opentype4(xdrs, &objp->opentype)) 01998 return FALSE; 01999 switch (objp->opentype) 02000 { 02001 case OPEN4_CREATE: 02002 if(!xdr_createhow4(xdrs, &objp->openflag4_u.how)) 02003 return FALSE; 02004 break; 02005 default: 02006 break; 02007 } 02008 return TRUE; 02009 } 02010 02011 bool_t xdr_limit_by4(XDR * xdrs, limit_by4 * objp) 02012 { 02013 if(!xdr_enum(xdrs, (enum_t *) objp)) 02014 return FALSE; 02015 return TRUE; 02016 } 02017 02018 bool_t xdr_nfs_modified_limit4(XDR * xdrs, nfs_modified_limit4 * objp) 02019 { 02020 if(!xdr_uint32_t(xdrs, &objp->num_blocks)) 02021 return FALSE; 02022 if(!xdr_uint32_t(xdrs, &objp->bytes_per_block)) 02023 return FALSE; 02024 return TRUE; 02025 } 02026 02027 bool_t xdr_nfs_space_limit4(XDR * xdrs, nfs_space_limit4 * objp) 02028 { 02029 if(!xdr_limit_by4(xdrs, &objp->limitby)) 02030 return FALSE; 02031 switch (objp->limitby) 02032 { 02033 case NFS_LIMIT_SIZE: 02034 if(!xdr_uint64_t(xdrs, &objp->nfs_space_limit4_u.filesize)) 02035 return FALSE; 02036 break; 02037 case NFS_LIMIT_BLOCKS: 02038 if(!xdr_nfs_modified_limit4(xdrs, &objp->nfs_space_limit4_u.mod_blocks)) 02039 return FALSE; 02040 break; 02041 default: 02042 return FALSE; 02043 } 02044 return TRUE; 02045 } 02046 02047 bool_t xdr_open_delegation_type4(XDR * xdrs, open_delegation_type4 * objp) 02048 { 02049 if(!xdr_enum(xdrs, (enum_t *) objp)) 02050 return FALSE; 02051 return TRUE; 02052 } 02053 02054 bool_t xdr_open_claim_type4(XDR * xdrs, open_claim_type4 * objp) 02055 { 02056 if(!xdr_enum(xdrs, (enum_t *) objp)) 02057 return FALSE; 02058 return TRUE; 02059 } 02060 02061 bool_t xdr_open_claim_delegate_cur4(XDR * xdrs, open_claim_delegate_cur4 * objp) 02062 { 02063 if(!xdr_stateid4(xdrs, &objp->delegate_stateid)) 02064 return FALSE; 02065 if(!xdr_component4(xdrs, &objp->file)) 02066 return FALSE; 02067 return TRUE; 02068 } 02069 02070 bool_t xdr_open_claim4(XDR * xdrs, open_claim4 * objp) 02071 { 02072 if(!xdr_open_claim_type4(xdrs, &objp->claim)) 02073 return FALSE; 02074 switch (objp->claim) 02075 { 02076 case CLAIM_NULL: 02077 if(!xdr_component4(xdrs, &objp->open_claim4_u.file)) 02078 return FALSE; 02079 break; 02080 case CLAIM_PREVIOUS: 02081 if(!xdr_open_delegation_type4(xdrs, &objp->open_claim4_u.delegate_type)) 02082 return FALSE; 02083 break; 02084 case CLAIM_DELEGATE_CUR: 02085 if(!xdr_open_claim_delegate_cur4(xdrs, &objp->open_claim4_u.delegate_cur_info)) 02086 return FALSE; 02087 break; 02088 case CLAIM_DELEGATE_PREV: 02089 if(!xdr_component4(xdrs, &objp->open_claim4_u.file_delegate_prev)) 02090 return FALSE; 02091 break; 02092 case CLAIM_FH: 02093 break; 02094 case CLAIM_DELEG_PREV_FH: 02095 break; 02096 case CLAIM_DELEG_CUR_FH: 02097 if(!xdr_stateid4(xdrs, &objp->open_claim4_u.oc_delegate_stateid)) 02098 return FALSE; 02099 break; 02100 default: 02101 return FALSE; 02102 } 02103 return TRUE; 02104 } 02105 02106 bool_t xdr_OPEN4args(XDR * xdrs, OPEN4args * objp) 02107 { 02108 if(!xdr_seqid4(xdrs, &objp->seqid)) 02109 return FALSE; 02110 if(!xdr_uint32_t(xdrs, &objp->share_access)) 02111 return FALSE; 02112 if(!xdr_uint32_t(xdrs, &objp->share_deny)) 02113 return FALSE; 02114 if(!xdr_open_owner4(xdrs, &objp->owner)) 02115 return FALSE; 02116 if(!xdr_openflag4(xdrs, &objp->openhow)) 02117 return FALSE; 02118 if(!xdr_open_claim4(xdrs, &objp->claim)) 02119 return FALSE; 02120 return TRUE; 02121 } 02122 02123 bool_t xdr_open_read_delegation4(XDR * xdrs, open_read_delegation4 * objp) 02124 { 02125 if(!xdr_stateid4(xdrs, &objp->stateid)) 02126 return FALSE; 02127 if(!xdr_bool(xdrs, &objp->recall)) 02128 return FALSE; 02129 if(!xdr_nfsace4(xdrs, &objp->permissions)) 02130 return FALSE; 02131 return TRUE; 02132 } 02133 02134 bool_t xdr_open_write_delegation4(XDR * xdrs, open_write_delegation4 * objp) 02135 { 02136 if(!xdr_stateid4(xdrs, &objp->stateid)) 02137 return FALSE; 02138 if(!xdr_bool(xdrs, &objp->recall)) 02139 return FALSE; 02140 if(!xdr_nfs_space_limit4(xdrs, &objp->space_limit)) 02141 return FALSE; 02142 if(!xdr_nfsace4(xdrs, &objp->permissions)) 02143 return FALSE; 02144 return TRUE; 02145 } 02146 02147 bool_t xdr_why_no_delegation4(XDR * xdrs, why_no_delegation4 * objp) 02148 { 02149 if(!xdr_enum(xdrs, (enum_t *) objp)) 02150 return FALSE; 02151 return TRUE; 02152 } 02153 02154 bool_t xdr_open_none_delegation4(XDR * xdrs, open_none_delegation4 * objp) 02155 { 02156 if(!xdr_why_no_delegation4(xdrs, &objp->ond_why)) 02157 return FALSE; 02158 switch (objp->ond_why) 02159 { 02160 case WND4_CONTENTION: 02161 if(!xdr_bool(xdrs, &objp->open_none_delegation4_u.ond_server_will_push_deleg)) 02162 return FALSE; 02163 break; 02164 case WND4_RESOURCE: 02165 if(!xdr_bool(xdrs, &objp->open_none_delegation4_u.ond_server_will_signal_avail)) 02166 return FALSE; 02167 break; 02168 default: 02169 break; 02170 } 02171 return TRUE; 02172 } 02173 02174 bool_t xdr_open_delegation4(XDR * xdrs, open_delegation4 * objp) 02175 { 02176 if(!xdr_open_delegation_type4(xdrs, &objp->delegation_type)) 02177 return FALSE; 02178 switch (objp->delegation_type) 02179 { 02180 case OPEN_DELEGATE_NONE: 02181 break; 02182 case OPEN_DELEGATE_READ: 02183 if(!xdr_open_read_delegation4(xdrs, &objp->open_delegation4_u.read)) 02184 return FALSE; 02185 break; 02186 case OPEN_DELEGATE_WRITE: 02187 if(!xdr_open_write_delegation4(xdrs, &objp->open_delegation4_u.write)) 02188 return FALSE; 02189 break; 02190 case OPEN_DELEGATE_NONE_EXT: 02191 if(!xdr_open_none_delegation4(xdrs, &objp->open_delegation4_u.od_whynone)) 02192 return FALSE; 02193 break; 02194 default: 02195 return FALSE; 02196 } 02197 return TRUE; 02198 } 02199 02200 bool_t xdr_OPEN4resok(XDR * xdrs, OPEN4resok * objp) 02201 { 02202 if(!xdr_stateid4(xdrs, &objp->stateid)) 02203 return FALSE; 02204 if(!xdr_change_info4(xdrs, &objp->cinfo)) 02205 return FALSE; 02206 if(!xdr_uint32_t(xdrs, &objp->rflags)) 02207 return FALSE; 02208 if(!xdr_bitmap4(xdrs, &objp->attrset)) 02209 return FALSE; 02210 if(!xdr_open_delegation4(xdrs, &objp->delegation)) 02211 return FALSE; 02212 return TRUE; 02213 } 02214 02215 bool_t xdr_OPEN4res(XDR * xdrs, OPEN4res * objp) 02216 { 02217 if(!xdr_nfsstat4(xdrs, &objp->status)) 02218 return FALSE; 02219 switch (objp->status) 02220 { 02221 case NFS4_OK: 02222 if(!xdr_OPEN4resok(xdrs, &objp->OPEN4res_u.resok4)) 02223 return FALSE; 02224 break; 02225 default: 02226 break; 02227 } 02228 return TRUE; 02229 } 02230 02231 bool_t xdr_OPENATTR4args(XDR * xdrs, OPENATTR4args * objp) 02232 { 02233 if(!xdr_bool(xdrs, &objp->createdir)) 02234 return FALSE; 02235 return TRUE; 02236 } 02237 02238 bool_t xdr_OPENATTR4res(XDR * xdrs, OPENATTR4res * objp) 02239 { 02240 if(!xdr_nfsstat4(xdrs, &objp->status)) 02241 return FALSE; 02242 return TRUE; 02243 } 02244 02245 bool_t xdr_OPEN_CONFIRM4args(XDR * xdrs, OPEN_CONFIRM4args * objp) 02246 { 02247 if(!xdr_stateid4(xdrs, &objp->open_stateid)) 02248 return FALSE; 02249 if(!xdr_seqid4(xdrs, &objp->seqid)) 02250 return FALSE; 02251 return TRUE; 02252 } 02253 02254 bool_t xdr_OPEN_CONFIRM4resok(XDR * xdrs, OPEN_CONFIRM4resok * objp) 02255 { 02256 if(!xdr_stateid4(xdrs, &objp->open_stateid)) 02257 return FALSE; 02258 return TRUE; 02259 } 02260 02261 bool_t xdr_OPEN_CONFIRM4res(XDR * xdrs, OPEN_CONFIRM4res * objp) 02262 { 02263 if(!xdr_nfsstat4(xdrs, &objp->status)) 02264 return FALSE; 02265 switch (objp->status) 02266 { 02267 case NFS4_OK: 02268 if(!xdr_OPEN_CONFIRM4resok(xdrs, &objp->OPEN_CONFIRM4res_u.resok4)) 02269 return FALSE; 02270 break; 02271 default: 02272 break; 02273 } 02274 return TRUE; 02275 } 02276 02277 bool_t xdr_OPEN_DOWNGRADE4args(XDR * xdrs, OPEN_DOWNGRADE4args * objp) 02278 { 02279 if(!xdr_stateid4(xdrs, &objp->open_stateid)) 02280 return FALSE; 02281 if(!xdr_seqid4(xdrs, &objp->seqid)) 02282 return FALSE; 02283 if(!xdr_uint32_t(xdrs, &objp->share_access)) 02284 return FALSE; 02285 if(!xdr_uint32_t(xdrs, &objp->share_deny)) 02286 return FALSE; 02287 return TRUE; 02288 } 02289 02290 bool_t xdr_OPEN_DOWNGRADE4resok(XDR * xdrs, OPEN_DOWNGRADE4resok * objp) 02291 { 02292 if(!xdr_stateid4(xdrs, &objp->open_stateid)) 02293 return FALSE; 02294 return TRUE; 02295 } 02296 02297 bool_t xdr_OPEN_DOWNGRADE4res(XDR * xdrs, OPEN_DOWNGRADE4res * objp) 02298 { 02299 if(!xdr_nfsstat4(xdrs, &objp->status)) 02300 return FALSE; 02301 switch (objp->status) 02302 { 02303 case NFS4_OK: 02304 if(!xdr_OPEN_DOWNGRADE4resok(xdrs, &objp->OPEN_DOWNGRADE4res_u.resok4)) 02305 return FALSE; 02306 break; 02307 default: 02308 break; 02309 } 02310 return TRUE; 02311 } 02312 02313 bool_t xdr_PUTFH4args(XDR * xdrs, PUTFH4args * objp) 02314 { 02315 if(!xdr_nfs_fh4(xdrs, &objp->object)) 02316 return FALSE; 02317 return TRUE; 02318 } 02319 02320 bool_t xdr_PUTFH4res(XDR * xdrs, PUTFH4res * objp) 02321 { 02322 if(!xdr_nfsstat4(xdrs, &objp->status)) 02323 return FALSE; 02324 return TRUE; 02325 } 02326 02327 bool_t xdr_PUTPUBFH4res(XDR * xdrs, PUTPUBFH4res * objp) 02328 { 02329 if(!xdr_nfsstat4(xdrs, &objp->status)) 02330 return FALSE; 02331 return TRUE; 02332 } 02333 02334 bool_t xdr_PUTROOTFH4res(XDR * xdrs, PUTROOTFH4res * objp) 02335 { 02336 if(!xdr_nfsstat4(xdrs, &objp->status)) 02337 return FALSE; 02338 return TRUE; 02339 } 02340 02341 bool_t xdr_READ4args(XDR * xdrs, READ4args * objp) 02342 { 02343 if(!xdr_stateid4(xdrs, &objp->stateid)) 02344 return FALSE; 02345 if(!xdr_offset4(xdrs, &objp->offset)) 02346 return FALSE; 02347 if(!xdr_count4(xdrs, &objp->count)) 02348 return FALSE; 02349 return TRUE; 02350 } 02351 02352 bool_t xdr_READ4resok(XDR * xdrs, READ4resok * objp) 02353 { 02354 if(!xdr_bool(xdrs, &objp->eof)) 02355 return FALSE; 02356 if(!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) & objp->data.data_len, ~0)) 02357 return FALSE; 02358 return TRUE; 02359 } 02360 02361 bool_t xdr_READ4res(XDR * xdrs, READ4res * objp) 02362 { 02363 if(!xdr_nfsstat4(xdrs, &objp->status)) 02364 return FALSE; 02365 switch (objp->status) 02366 { 02367 case NFS4_OK: 02368 if(!xdr_READ4resok(xdrs, &objp->READ4res_u.resok4)) 02369 return FALSE; 02370 break; 02371 default: 02372 break; 02373 } 02374 return TRUE; 02375 } 02376 02377 bool_t xdr_READDIR4args(XDR * xdrs, READDIR4args * objp) 02378 { 02379 if(!xdr_nfs_cookie4(xdrs, &objp->cookie)) 02380 return FALSE; 02381 if(!xdr_verifier4(xdrs, objp->cookieverf)) 02382 return FALSE; 02383 if(!xdr_count4(xdrs, &objp->dircount)) 02384 return FALSE; 02385 if(!xdr_count4(xdrs, &objp->maxcount)) 02386 return FALSE; 02387 if(!xdr_bitmap4(xdrs, &objp->attr_request)) 02388 return FALSE; 02389 return TRUE; 02390 } 02391 02392 bool_t xdr_entry4(XDR * xdrs, entry4 * objp) 02393 { 02394 if(!xdr_nfs_cookie4(xdrs, &objp->cookie)) 02395 return FALSE; 02396 if(!xdr_component4(xdrs, &objp->name)) 02397 return FALSE; 02398 if(!xdr_fattr4(xdrs, &objp->attrs)) 02399 return FALSE; 02400 if(!xdr_pointer 02401 (xdrs, (char **)&objp->nextentry, sizeof(entry4), (xdrproc_t) xdr_entry4)) 02402 return FALSE; 02403 return TRUE; 02404 } 02405 02406 bool_t xdr_dirlist4(XDR * xdrs, dirlist4 * objp) 02407 { 02408 if(!xdr_pointer(xdrs, (char **)&objp->entries, sizeof(entry4), (xdrproc_t) xdr_entry4)) 02409 return FALSE; 02410 if(!xdr_bool(xdrs, &objp->eof)) 02411 return FALSE; 02412 return TRUE; 02413 } 02414 02415 bool_t xdr_READDIR4resok(XDR * xdrs, READDIR4resok * objp) 02416 { 02417 if(!xdr_verifier4(xdrs, objp->cookieverf)) 02418 return FALSE; 02419 if(!xdr_dirlist4(xdrs, &objp->reply)) 02420 return FALSE; 02421 return TRUE; 02422 } 02423 02424 bool_t xdr_READDIR4res(XDR * xdrs, READDIR4res * objp) 02425 { 02426 if(!xdr_nfsstat4(xdrs, &objp->status)) 02427 return FALSE; 02428 switch (objp->status) 02429 { 02430 case NFS4_OK: 02431 if(!xdr_READDIR4resok(xdrs, &objp->READDIR4res_u.resok4)) 02432 return FALSE; 02433 break; 02434 default: 02435 break; 02436 } 02437 return TRUE; 02438 } 02439 02440 bool_t xdr_READLINK4resok(XDR * xdrs, READLINK4resok * objp) 02441 { 02442 if(!xdr_linktext4(xdrs, &objp->link)) 02443 return FALSE; 02444 return TRUE; 02445 } 02446 02447 bool_t xdr_READLINK4res(XDR * xdrs, READLINK4res * objp) 02448 { 02449 if(!xdr_nfsstat4(xdrs, &objp->status)) 02450 return FALSE; 02451 switch (objp->status) 02452 { 02453 case NFS4_OK: 02454 if(!xdr_READLINK4resok(xdrs, &objp->READLINK4res_u.resok4)) 02455 return FALSE; 02456 break; 02457 default: 02458 break; 02459 } 02460 return TRUE; 02461 } 02462 02463 bool_t xdr_REMOVE4args(XDR * xdrs, REMOVE4args * objp) 02464 { 02465 if(!xdr_component4(xdrs, &objp->target)) 02466 return FALSE; 02467 return TRUE; 02468 } 02469 02470 bool_t xdr_REMOVE4resok(XDR * xdrs, REMOVE4resok * objp) 02471 { 02472 if(!xdr_change_info4(xdrs, &objp->cinfo)) 02473 return FALSE; 02474 return TRUE; 02475 } 02476 02477 bool_t xdr_REMOVE4res(XDR * xdrs, REMOVE4res * objp) 02478 { 02479 if(!xdr_nfsstat4(xdrs, &objp->status)) 02480 return FALSE; 02481 switch (objp->status) 02482 { 02483 case NFS4_OK: 02484 if(!xdr_REMOVE4resok(xdrs, &objp->REMOVE4res_u.resok4)) 02485 return FALSE; 02486 break; 02487 default: 02488 break; 02489 } 02490 return TRUE; 02491 } 02492 02493 bool_t xdr_RENAME4args(XDR * xdrs, RENAME4args * objp) 02494 { 02495 if(!xdr_component4(xdrs, &objp->oldname)) 02496 return FALSE; 02497 if(!xdr_component4(xdrs, &objp->newname)) 02498 return FALSE; 02499 return TRUE; 02500 } 02501 02502 bool_t xdr_RENAME4resok(XDR * xdrs, RENAME4resok * objp) 02503 { 02504 if(!xdr_change_info4(xdrs, &objp->source_cinfo)) 02505 return FALSE; 02506 if(!xdr_change_info4(xdrs, &objp->target_cinfo)) 02507 return FALSE; 02508 return TRUE; 02509 } 02510 02511 bool_t xdr_RENAME4res(XDR * xdrs, RENAME4res * objp) 02512 { 02513 if(!xdr_nfsstat4(xdrs, &objp->status)) 02514 return FALSE; 02515 switch (objp->status) 02516 { 02517 case NFS4_OK: 02518 if(!xdr_RENAME4resok(xdrs, &objp->RENAME4res_u.resok4)) 02519 return FALSE; 02520 break; 02521 default: 02522 break; 02523 } 02524 return TRUE; 02525 } 02526 02527 bool_t xdr_RENEW4args(XDR * xdrs, RENEW4args * objp) 02528 { 02529 if(!xdr_clientid4(xdrs, &objp->clientid)) 02530 return FALSE; 02531 return TRUE; 02532 } 02533 02534 bool_t xdr_RENEW4res(XDR * xdrs, RENEW4res * objp) 02535 { 02536 if(!xdr_nfsstat4(xdrs, &objp->status)) 02537 return FALSE; 02538 return TRUE; 02539 } 02540 02541 bool_t xdr_RESTOREFH4res(XDR * xdrs, RESTOREFH4res * objp) 02542 { 02543 if(!xdr_nfsstat4(xdrs, &objp->status)) 02544 return FALSE; 02545 return TRUE; 02546 } 02547 02548 bool_t xdr_SAVEFH4res(XDR * xdrs, SAVEFH4res * objp) 02549 { 02550 if(!xdr_nfsstat4(xdrs, &objp->status)) 02551 return FALSE; 02552 return TRUE; 02553 } 02554 02555 bool_t xdr_SECINFO4args(XDR * xdrs, SECINFO4args * objp) 02556 { 02557 if(!xdr_component4(xdrs, &objp->name)) 02558 return FALSE; 02559 return TRUE; 02560 } 02561 02562 bool_t xdr_rpc_gss_svc_t(XDR * xdrs, rpc_gss_svc_t * objp) 02563 { 02564 if(!xdr_enum(xdrs, (enum_t *) objp)) 02565 return FALSE; 02566 return TRUE; 02567 } 02568 02569 bool_t xdr_rpcsec_gss_info(XDR * xdrs, rpcsec_gss_info * objp) 02570 { 02571 if(!xdr_sec_oid4(xdrs, &objp->oid)) 02572 return FALSE; 02573 if(!xdr_qop4(xdrs, &objp->qop)) 02574 return FALSE; 02575 if(!xdr_rpc_gss_svc_t(xdrs, &objp->service)) 02576 return FALSE; 02577 return TRUE; 02578 } 02579 02580 bool_t xdr_secinfo4(XDR * xdrs, secinfo4 * objp) 02581 { 02582 if(!xdr_uint32_t(xdrs, &objp->flavor)) 02583 return FALSE; 02584 switch (objp->flavor) 02585 { 02586 case RPCSEC_GSS: 02587 if(!xdr_rpcsec_gss_info(xdrs, &objp->secinfo4_u.flavor_info)) 02588 return FALSE; 02589 break; 02590 default: 02591 break; 02592 } 02593 return TRUE; 02594 } 02595 02596 bool_t xdr_SECINFO4resok(XDR * xdrs, SECINFO4resok * objp) 02597 { 02598 if(!xdr_array 02599 (xdrs, (char **)&objp->SECINFO4resok_val, (u_int *) & objp->SECINFO4resok_len, ~0, 02600 sizeof(secinfo4), (xdrproc_t) xdr_secinfo4)) 02601 return FALSE; 02602 return TRUE; 02603 } 02604 02605 bool_t xdr_SECINFO4res(XDR * xdrs, SECINFO4res * objp) 02606 { 02607 if(!xdr_nfsstat4(xdrs, &objp->status)) 02608 return FALSE; 02609 switch (objp->status) 02610 { 02611 case NFS4_OK: 02612 if(!xdr_SECINFO4resok(xdrs, &objp->SECINFO4res_u.resok4)) 02613 return FALSE; 02614 break; 02615 default: 02616 break; 02617 } 02618 return TRUE; 02619 } 02620 02621 bool_t xdr_SETATTR4args(XDR * xdrs, SETATTR4args * objp) 02622 { 02623 if(!xdr_stateid4(xdrs, &objp->stateid)) 02624 return FALSE; 02625 if(!xdr_fattr4(xdrs, &objp->obj_attributes)) 02626 return FALSE; 02627 return TRUE; 02628 } 02629 02630 bool_t xdr_SETATTR4res(XDR * xdrs, SETATTR4res * objp) 02631 { 02632 if(!xdr_nfsstat4(xdrs, &objp->status)) 02633 return FALSE; 02634 if(!xdr_bitmap4(xdrs, &objp->attrsset)) 02635 return FALSE; 02636 return TRUE; 02637 } 02638 02639 bool_t xdr_SETCLIENTID4args(XDR * xdrs, SETCLIENTID4args * objp) 02640 { 02641 if(!xdr_nfs_client_id4(xdrs, &objp->client)) 02642 return FALSE; 02643 if(!xdr_cb_client4(xdrs, &objp->callback)) 02644 return FALSE; 02645 if(!xdr_uint32_t(xdrs, &objp->callback_ident)) 02646 return FALSE; 02647 return TRUE; 02648 } 02649 02650 bool_t xdr_SETCLIENTID4resok(XDR * xdrs, SETCLIENTID4resok * objp) 02651 { 02652 if(!xdr_clientid4(xdrs, &objp->clientid)) 02653 return FALSE; 02654 if(!xdr_verifier4(xdrs, objp->setclientid_confirm)) 02655 return FALSE; 02656 return TRUE; 02657 } 02658 02659 bool_t xdr_SETCLIENTID4res(XDR * xdrs, SETCLIENTID4res * objp) 02660 { 02661 if(!xdr_nfsstat4(xdrs, &objp->status)) 02662 return FALSE; 02663 switch (objp->status) 02664 { 02665 case NFS4_OK: 02666 if(!xdr_SETCLIENTID4resok(xdrs, &objp->SETCLIENTID4res_u.resok4)) 02667 return FALSE; 02668 break; 02669 case NFS4ERR_CLID_INUSE: 02670 if(!xdr_clientaddr4(xdrs, &objp->SETCLIENTID4res_u.client_using)) 02671 return FALSE; 02672 break; 02673 default: 02674 break; 02675 } 02676 return TRUE; 02677 } 02678 02679 bool_t xdr_SETCLIENTID_CONFIRM4args(XDR * xdrs, SETCLIENTID_CONFIRM4args * objp) 02680 { 02681 if(!xdr_clientid4(xdrs, &objp->clientid)) 02682 return FALSE; 02683 if(!xdr_verifier4(xdrs, objp->setclientid_confirm)) 02684 return FALSE; 02685 return TRUE; 02686 } 02687 02688 bool_t xdr_SETCLIENTID_CONFIRM4res(XDR * xdrs, SETCLIENTID_CONFIRM4res * objp) 02689 { 02690 if(!xdr_nfsstat4(xdrs, &objp->status)) 02691 return FALSE; 02692 return TRUE; 02693 } 02694 02695 bool_t xdr_VERIFY4args(XDR * xdrs, VERIFY4args * objp) 02696 { 02697 if(!xdr_fattr4(xdrs, &objp->obj_attributes)) 02698 return FALSE; 02699 return TRUE; 02700 } 02701 02702 bool_t xdr_VERIFY4res(XDR * xdrs, VERIFY4res * objp) 02703 { 02704 if(!xdr_nfsstat4(xdrs, &objp->status)) 02705 return FALSE; 02706 return TRUE; 02707 } 02708 02709 bool_t xdr_stable_how4(XDR * xdrs, stable_how4 * objp) 02710 { 02711 if(!xdr_enum(xdrs, (enum_t *) objp)) 02712 return FALSE; 02713 return TRUE; 02714 } 02715 02716 bool_t xdr_WRITE4args(XDR * xdrs, WRITE4args * objp) 02717 { 02718 if(!xdr_stateid4(xdrs, &objp->stateid)) 02719 return FALSE; 02720 if(!xdr_offset4(xdrs, &objp->offset)) 02721 return FALSE; 02722 if(!xdr_stable_how4(xdrs, &objp->stable)) 02723 return FALSE; 02724 if(!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) & objp->data.data_len, ~0)) 02725 return FALSE; 02726 return TRUE; 02727 } 02728 02729 bool_t xdr_WRITE4resok(XDR * xdrs, WRITE4resok * objp) 02730 { 02731 if(!xdr_count4(xdrs, &objp->count)) 02732 return FALSE; 02733 if(!xdr_stable_how4(xdrs, &objp->committed)) 02734 return FALSE; 02735 if(!xdr_verifier4(xdrs, objp->writeverf)) 02736 return FALSE; 02737 return TRUE; 02738 } 02739 02740 bool_t xdr_WRITE4res(XDR * xdrs, WRITE4res * objp) 02741 { 02742 if(!xdr_nfsstat4(xdrs, &objp->status)) 02743 return FALSE; 02744 switch (objp->status) 02745 { 02746 case NFS4_OK: 02747 if(!xdr_WRITE4resok(xdrs, &objp->WRITE4res_u.resok4)) 02748 return FALSE; 02749 break; 02750 default: 02751 break; 02752 } 02753 return TRUE; 02754 } 02755 02756 bool_t xdr_RELEASE_LOCKOWNER4args(XDR * xdrs, RELEASE_LOCKOWNER4args * objp) 02757 { 02758 if(!xdr_lock_owner4(xdrs, &objp->lock_owner)) 02759 return FALSE; 02760 return TRUE; 02761 } 02762 02763 bool_t xdr_RELEASE_LOCKOWNER4res(XDR * xdrs, RELEASE_LOCKOWNER4res * objp) 02764 { 02765 if(!xdr_nfsstat4(xdrs, &objp->status)) 02766 return FALSE; 02767 return TRUE; 02768 } 02769 02770 bool_t xdr_ILLEGAL4res(XDR * xdrs, ILLEGAL4res * objp) 02771 { 02772 if(!xdr_nfsstat4(xdrs, &objp->status)) 02773 return FALSE; 02774 return TRUE; 02775 } 02776 02777 bool_t xdr_gsshandle4_t(XDR * xdrs, gsshandle4_t * objp) 02778 { 02779 if(!xdr_bytes 02780 (xdrs, (char **)&objp->gsshandle4_t_val, (u_int *) & objp->gsshandle4_t_len, ~0)) 02781 return FALSE; 02782 return TRUE; 02783 } 02784 02785 bool_t xdr_gss_cb_handles4(XDR * xdrs, gss_cb_handles4 * objp) 02786 { 02787 if(!xdr_rpc_gss_svc_t(xdrs, &objp->gcbp_service)) 02788 return FALSE; 02789 if(!xdr_gsshandle4_t(xdrs, &objp->gcbp_handle_from_server)) 02790 return FALSE; 02791 if(!xdr_gsshandle4_t(xdrs, &objp->gcbp_handle_from_client)) 02792 return FALSE; 02793 return TRUE; 02794 } 02795 02796 bool_t xdr_callback_sec_parms4(XDR * xdrs, callback_sec_parms4 * objp) 02797 { 02798 if(!xdr_uint32_t(xdrs, &objp->cb_secflavor)) 02799 return FALSE; 02800 switch (objp->cb_secflavor) 02801 { 02802 case AUTH_NONE: 02803 break; 02804 case AUTH_SYS: 02805 //if (!xdr_authsys_parms (xdrs, &objp->callback_sec_parms4_u.cbsp_sys_cred)) 02806 if(!xdr_authunix_parms(xdrs, &objp->callback_sec_parms4_u.cbsp_sys_cred)) 02807 return FALSE; 02808 break; 02809 case RPCSEC_GSS: 02810 if(!xdr_gss_cb_handles4(xdrs, &objp->callback_sec_parms4_u.cbsp_gss_handles)) 02811 return FALSE; 02812 break; 02813 default: 02814 return FALSE; 02815 } 02816 return TRUE; 02817 } 02818 02819 bool_t xdr_BACKCHANNEL_CTL4args(XDR * xdrs, BACKCHANNEL_CTL4args * objp) 02820 { 02821 if(!xdr_uint32_t(xdrs, &objp->bca_cb_program)) 02822 return FALSE; 02823 if(!xdr_array 02824 (xdrs, (char **)&objp->bca_sec_parms.bca_sec_parms_val, 02825 (u_int *) & objp->bca_sec_parms.bca_sec_parms_len, ~0, sizeof(callback_sec_parms4), 02826 (xdrproc_t) xdr_callback_sec_parms4)) 02827 return FALSE; 02828 return TRUE; 02829 } 02830 02831 bool_t xdr_BACKCHANNEL_CTL4res(XDR * xdrs, BACKCHANNEL_CTL4res * objp) 02832 { 02833 if(!xdr_nfsstat4(xdrs, &objp->bcr_status)) 02834 return FALSE; 02835 return TRUE; 02836 } 02837 02838 bool_t xdr_channel_dir_from_client4(XDR * xdrs, channel_dir_from_client4 * objp) 02839 { 02840 if(!xdr_enum(xdrs, (enum_t *) objp)) 02841 return FALSE; 02842 return TRUE; 02843 } 02844 02845 bool_t xdr_BIND_CONN_TO_SESSION4args(XDR * xdrs, BIND_CONN_TO_SESSION4args * objp) 02846 { 02847 if(!xdr_sessionid4(xdrs, objp->bctsa_sessid)) 02848 return FALSE; 02849 if(!xdr_channel_dir_from_client4(xdrs, &objp->bctsa_dir)) 02850 return FALSE; 02851 if(!xdr_bool(xdrs, &objp->bctsa_use_conn_in_rdma_mode)) 02852 return FALSE; 02853 return TRUE; 02854 } 02855 02856 bool_t xdr_channel_dir_from_server4(XDR * xdrs, channel_dir_from_server4 * objp) 02857 { 02858 if(!xdr_enum(xdrs, (enum_t *) objp)) 02859 return FALSE; 02860 return TRUE; 02861 } 02862 02863 bool_t xdr_BIND_CONN_TO_SESSION4resok(XDR * xdrs, BIND_CONN_TO_SESSION4resok * objp) 02864 { 02865 if(!xdr_sessionid4(xdrs, objp->bctsr_sessid)) 02866 return FALSE; 02867 if(!xdr_channel_dir_from_server4(xdrs, &objp->bctsr_dir)) 02868 return FALSE; 02869 if(!xdr_bool(xdrs, &objp->bctsr_use_conn_in_rdma_mode)) 02870 return FALSE; 02871 return TRUE; 02872 } 02873 02874 bool_t xdr_BIND_CONN_TO_SESSION4res(XDR * xdrs, BIND_CONN_TO_SESSION4res * objp) 02875 { 02876 if(!xdr_nfsstat4(xdrs, &objp->bctsr_status)) 02877 return FALSE; 02878 switch (objp->bctsr_status) 02879 { 02880 case NFS4_OK: 02881 if(!xdr_BIND_CONN_TO_SESSION4resok 02882 (xdrs, &objp->BIND_CONN_TO_SESSION4res_u.bctsr_resok4)) 02883 return FALSE; 02884 break; 02885 default: 02886 break; 02887 } 02888 return TRUE; 02889 } 02890 02891 bool_t xdr_state_protect_ops4(XDR * xdrs, state_protect_ops4 * objp) 02892 { 02893 if(!xdr_bitmap4(xdrs, &objp->spo_must_enforce)) 02894 return FALSE; 02895 if(!xdr_bitmap4(xdrs, &objp->spo_must_allow)) 02896 return FALSE; 02897 return TRUE; 02898 } 02899 02900 bool_t xdr_ssv_sp_parms4(XDR * xdrs, ssv_sp_parms4 * objp) 02901 { 02902 if(!xdr_state_protect_ops4(xdrs, &objp->ssp_ops)) 02903 return FALSE; 02904 if(!xdr_array 02905 (xdrs, (char **)&objp->ssp_hash_algs.ssp_hash_algs_val, 02906 (u_int *) & objp->ssp_hash_algs.ssp_hash_algs_len, ~0, sizeof(sec_oid4), 02907 (xdrproc_t) xdr_sec_oid4)) 02908 return FALSE; 02909 if(!xdr_array 02910 (xdrs, (char **)&objp->ssp_encr_algs.ssp_encr_algs_val, 02911 (u_int *) & objp->ssp_encr_algs.ssp_encr_algs_len, ~0, sizeof(sec_oid4), 02912 (xdrproc_t) xdr_sec_oid4)) 02913 return FALSE; 02914 if(!xdr_uint32_t(xdrs, &objp->ssp_window)) 02915 return FALSE; 02916 if(!xdr_uint32_t(xdrs, &objp->ssp_num_gss_handles)) 02917 return FALSE; 02918 return TRUE; 02919 } 02920 02921 bool_t xdr_state_protect_how4(XDR * xdrs, state_protect_how4 * objp) 02922 { 02923 if(!xdr_enum(xdrs, (enum_t *) objp)) 02924 return FALSE; 02925 return TRUE; 02926 } 02927 02928 bool_t xdr_state_protect4_a(XDR * xdrs, state_protect4_a * objp) 02929 { 02930 if(!xdr_state_protect_how4(xdrs, &objp->spa_how)) 02931 return FALSE; 02932 switch (objp->spa_how) 02933 { 02934 case SP4_NONE: 02935 break; 02936 case SP4_MACH_CRED: 02937 if(!xdr_state_protect_ops4(xdrs, &objp->state_protect4_a_u.spa_mach_ops)) 02938 return FALSE; 02939 break; 02940 case SP4_SSV: 02941 if(!xdr_ssv_sp_parms4(xdrs, &objp->state_protect4_a_u.spa_ssv_parms)) 02942 return FALSE; 02943 break; 02944 default: 02945 return FALSE; 02946 } 02947 return TRUE; 02948 } 02949 02950 bool_t xdr_EXCHANGE_ID4args(XDR * xdrs, EXCHANGE_ID4args * objp) 02951 { 02952 if(!xdr_client_owner4(xdrs, &objp->eia_clientowner)) 02953 return FALSE; 02954 if(!xdr_uint32_t(xdrs, &objp->eia_flags)) 02955 return FALSE; 02956 if(!xdr_state_protect4_a(xdrs, &objp->eia_state_protect)) 02957 return FALSE; 02958 if(!xdr_array 02959 (xdrs, (char **)&objp->eia_client_impl_id.eia_client_impl_id_val, 02960 (u_int *) & objp->eia_client_impl_id.eia_client_impl_id_len, 1, 02961 sizeof(nfs_impl_id4), (xdrproc_t) xdr_nfs_impl_id4)) 02962 return FALSE; 02963 return TRUE; 02964 } 02965 02966 bool_t xdr_ssv_prot_info4(XDR * xdrs, ssv_prot_info4 * objp) 02967 { 02968 if(!xdr_state_protect_ops4(xdrs, &objp->spi_ops)) 02969 return FALSE; 02970 if(!xdr_uint32_t(xdrs, &objp->spi_hash_alg)) 02971 return FALSE; 02972 if(!xdr_uint32_t(xdrs, &objp->spi_encr_alg)) 02973 return FALSE; 02974 if(!xdr_uint32_t(xdrs, &objp->spi_ssv_len)) 02975 return FALSE; 02976 if(!xdr_uint32_t(xdrs, &objp->spi_window)) 02977 return FALSE; 02978 if(!xdr_array 02979 (xdrs, (char **)&objp->spi_handles.spi_handles_val, 02980 (u_int *) & objp->spi_handles.spi_handles_len, ~0, sizeof(gsshandle4_t), 02981 (xdrproc_t) xdr_gsshandle4_t)) 02982 return FALSE; 02983 return TRUE; 02984 } 02985 02986 bool_t xdr_state_protect4_r(XDR * xdrs, state_protect4_r * objp) 02987 { 02988 if(!xdr_state_protect_how4(xdrs, &objp->spr_how)) 02989 return FALSE; 02990 switch (objp->spr_how) 02991 { 02992 case SP4_NONE: 02993 break; 02994 case SP4_MACH_CRED: 02995 if(!xdr_state_protect_ops4(xdrs, &objp->state_protect4_r_u.spr_mach_ops)) 02996 return FALSE; 02997 break; 02998 case SP4_SSV: 02999 if(!xdr_ssv_prot_info4(xdrs, &objp->state_protect4_r_u.spr_ssv_info)) 03000 return FALSE; 03001 break; 03002 default: 03003 return FALSE; 03004 } 03005 return TRUE; 03006 } 03007 03008 bool_t xdr_EXCHANGE_ID4resok(XDR * xdrs, EXCHANGE_ID4resok * objp) 03009 { 03010 if(!xdr_clientid4(xdrs, &objp->eir_clientid)) 03011 return FALSE; 03012 if(!xdr_sequenceid4(xdrs, &objp->eir_sequenceid)) 03013 return FALSE; 03014 if(!xdr_uint32_t(xdrs, &objp->eir_flags)) 03015 return FALSE; 03016 if(!xdr_state_protect4_r(xdrs, &objp->eir_state_protect)) 03017 return FALSE; 03018 if(!xdr_server_owner4(xdrs, &objp->eir_server_owner)) 03019 return FALSE; 03020 if(!xdr_bytes 03021 (xdrs, (char **)&objp->eir_server_scope.eir_server_scope_val, 03022 (u_int *) & objp->eir_server_scope.eir_server_scope_len, NFS4_OPAQUE_LIMIT)) 03023 return FALSE; 03024 if(!xdr_array 03025 (xdrs, (char **)&objp->eir_server_impl_id.eir_server_impl_id_val, 03026 (u_int *) & objp->eir_server_impl_id.eir_server_impl_id_len, 1, 03027 sizeof(nfs_impl_id4), (xdrproc_t) xdr_nfs_impl_id4)) 03028 return FALSE; 03029 return TRUE; 03030 } 03031 03032 bool_t xdr_EXCHANGE_ID4res(XDR * xdrs, EXCHANGE_ID4res * objp) 03033 { 03034 if(!xdr_nfsstat4(xdrs, &objp->eir_status)) 03035 return FALSE; 03036 switch (objp->eir_status) 03037 { 03038 case NFS4_OK: 03039 if(!xdr_EXCHANGE_ID4resok(xdrs, &objp->EXCHANGE_ID4res_u.eir_resok4)) 03040 return FALSE; 03041 break; 03042 default: 03043 break; 03044 } 03045 return TRUE; 03046 } 03047 03048 bool_t xdr_channel_attrs4(XDR * xdrs, channel_attrs4 * objp) 03049 { 03050 if(!xdr_count4(xdrs, &objp->ca_headerpadsize)) 03051 return FALSE; 03052 if(!xdr_count4(xdrs, &objp->ca_maxrequestsize)) 03053 return FALSE; 03054 if(!xdr_count4(xdrs, &objp->ca_maxresponsesize)) 03055 return FALSE; 03056 if(!xdr_count4(xdrs, &objp->ca_maxresponsesize_cached)) 03057 return FALSE; 03058 if(!xdr_count4(xdrs, &objp->ca_maxoperations)) 03059 return FALSE; 03060 if(!xdr_count4(xdrs, &objp->ca_maxrequests)) 03061 return FALSE; 03062 if(!xdr_array 03063 (xdrs, (char **)&objp->ca_rdma_ird.ca_rdma_ird_val, 03064 (u_int *) & objp->ca_rdma_ird.ca_rdma_ird_len, 1, sizeof(uint32_t), 03065 (xdrproc_t) xdr_uint32_t)) 03066 return FALSE; 03067 return TRUE; 03068 } 03069 03070 bool_t xdr_CREATE_SESSION4args(XDR * xdrs, CREATE_SESSION4args * objp) 03071 { 03072 if(!xdr_clientid4(xdrs, &objp->csa_clientid)) 03073 return FALSE; 03074 if(!xdr_sequenceid4(xdrs, &objp->csa_sequence)) 03075 return FALSE; 03076 if(!xdr_uint32_t(xdrs, &objp->csa_flags)) 03077 return FALSE; 03078 if(!xdr_channel_attrs4(xdrs, &objp->csa_fore_chan_attrs)) 03079 return FALSE; 03080 if(!xdr_channel_attrs4(xdrs, &objp->csa_back_chan_attrs)) 03081 return FALSE; 03082 if(!xdr_uint32_t(xdrs, &objp->csa_cb_program)) 03083 return FALSE; 03084 if(!xdr_array 03085 (xdrs, (char **)&objp->csa_sec_parms.csa_sec_parms_val, 03086 (u_int *) & objp->csa_sec_parms.csa_sec_parms_len, ~0, sizeof(callback_sec_parms4), 03087 (xdrproc_t) xdr_callback_sec_parms4)) 03088 return FALSE; 03089 return TRUE; 03090 } 03091 03092 bool_t xdr_CREATE_SESSION4resok(XDR * xdrs, CREATE_SESSION4resok * objp) 03093 { 03094 if(!xdr_sessionid4(xdrs, objp->csr_sessionid)) 03095 return FALSE; 03096 if(!xdr_sequenceid4(xdrs, &objp->csr_sequence)) 03097 return FALSE; 03098 if(!xdr_uint32_t(xdrs, &objp->csr_flags)) 03099 return FALSE; 03100 if(!xdr_channel_attrs4(xdrs, &objp->csr_fore_chan_attrs)) 03101 return FALSE; 03102 if(!xdr_channel_attrs4(xdrs, &objp->csr_back_chan_attrs)) 03103 return FALSE; 03104 return TRUE; 03105 } 03106 03107 bool_t xdr_CREATE_SESSION4res(XDR * xdrs, CREATE_SESSION4res * objp) 03108 { 03109 if(!xdr_nfsstat4(xdrs, &objp->csr_status)) 03110 return FALSE; 03111 switch (objp->csr_status) 03112 { 03113 case NFS4_OK: 03114 if(!xdr_CREATE_SESSION4resok(xdrs, &objp->CREATE_SESSION4res_u.csr_resok4)) 03115 return FALSE; 03116 break; 03117 default: 03118 break; 03119 } 03120 return TRUE; 03121 } 03122 03123 bool_t xdr_DESTROY_SESSION4args(XDR * xdrs, DESTROY_SESSION4args * objp) 03124 { 03125 if(!xdr_sessionid4(xdrs, objp->dsa_sessionid)) 03126 return FALSE; 03127 return TRUE; 03128 } 03129 03130 bool_t xdr_DESTROY_SESSION4res(XDR * xdrs, DESTROY_SESSION4res * objp) 03131 { 03132 if(!xdr_nfsstat4(xdrs, &objp->dsr_status)) 03133 return FALSE; 03134 return TRUE; 03135 } 03136 03137 bool_t xdr_FREE_STATEID4args(XDR * xdrs, FREE_STATEID4args * objp) 03138 { 03139 if(!xdr_stateid4(xdrs, &objp->fsa_stateid)) 03140 return FALSE; 03141 return TRUE; 03142 } 03143 03144 bool_t xdr_FREE_STATEID4res(XDR * xdrs, FREE_STATEID4res * objp) 03145 { 03146 if(!xdr_nfsstat4(xdrs, &objp->fsr_status)) 03147 return FALSE; 03148 return TRUE; 03149 } 03150 03151 bool_t xdr_attr_notice4(XDR * xdrs, attr_notice4 * objp) 03152 { 03153 if(!xdr_nfstime4(xdrs, objp)) 03154 return FALSE; 03155 return TRUE; 03156 } 03157 03158 bool_t xdr_GET_DIR_DELEGATION4args(XDR * xdrs, GET_DIR_DELEGATION4args * objp) 03159 { 03160 if(!xdr_bool(xdrs, &objp->gdda_signal_deleg_avail)) 03161 return FALSE; 03162 if(!xdr_bitmap4(xdrs, &objp->gdda_notification_types)) 03163 return FALSE; 03164 if(!xdr_attr_notice4(xdrs, &objp->gdda_child_attr_delay)) 03165 return FALSE; 03166 if(!xdr_attr_notice4(xdrs, &objp->gdda_dir_attr_delay)) 03167 return FALSE; 03168 if(!xdr_bitmap4(xdrs, &objp->gdda_child_attributes)) 03169 return FALSE; 03170 if(!xdr_bitmap4(xdrs, &objp->gdda_dir_attributes)) 03171 return FALSE; 03172 return TRUE; 03173 } 03174 03175 bool_t xdr_GET_DIR_DELEGATION4resok(XDR * xdrs, GET_DIR_DELEGATION4resok * objp) 03176 { 03177 if(!xdr_verifier4(xdrs, objp->gddr_cookieverf)) 03178 return FALSE; 03179 if(!xdr_stateid4(xdrs, &objp->gddr_stateid)) 03180 return FALSE; 03181 if(!xdr_bitmap4(xdrs, &objp->gddr_notification)) 03182 return FALSE; 03183 if(!xdr_bitmap4(xdrs, &objp->gddr_child_attributes)) 03184 return FALSE; 03185 if(!xdr_bitmap4(xdrs, &objp->gddr_dir_attributes)) 03186 return FALSE; 03187 return TRUE; 03188 } 03189 03190 bool_t xdr_gddrnf4_status(XDR * xdrs, gddrnf4_status * objp) 03191 { 03192 if(!xdr_enum(xdrs, (enum_t *) objp)) 03193 return FALSE; 03194 return TRUE; 03195 } 03196 03197 bool_t 03198 xdr_GET_DIR_DELEGATION4res_non_fatal(XDR * xdrs, GET_DIR_DELEGATION4res_non_fatal * objp) 03199 { 03200 if(!xdr_gddrnf4_status(xdrs, &objp->gddrnf_status)) 03201 return FALSE; 03202 switch (objp->gddrnf_status) 03203 { 03204 case GDD4_OK: 03205 if(!xdr_GET_DIR_DELEGATION4resok 03206 (xdrs, &objp->GET_DIR_DELEGATION4res_non_fatal_u.gddrnf_resok4)) 03207 return FALSE; 03208 break; 03209 case GDD4_UNAVAIL: 03210 if(!xdr_bool 03211 (xdrs, &objp->GET_DIR_DELEGATION4res_non_fatal_u.gddrnf_will_signal_deleg_avail)) 03212 return FALSE; 03213 break; 03214 default: 03215 return FALSE; 03216 } 03217 return TRUE; 03218 } 03219 03220 bool_t xdr_GET_DIR_DELEGATION4res(XDR * xdrs, GET_DIR_DELEGATION4res * objp) 03221 { 03222 if(!xdr_nfsstat4(xdrs, &objp->gddr_status)) 03223 return FALSE; 03224 switch (objp->gddr_status) 03225 { 03226 case NFS4_OK: 03227 if(!xdr_GET_DIR_DELEGATION4res_non_fatal 03228 (xdrs, &objp->GET_DIR_DELEGATION4res_u.gddr_res_non_fatal4)) 03229 return FALSE; 03230 break; 03231 default: 03232 break; 03233 } 03234 return TRUE; 03235 } 03236 03237 bool_t xdr_GETDEVICEINFO4args(XDR * xdrs, GETDEVICEINFO4args * objp) 03238 { 03239 if(!xdr_deviceid4(xdrs, objp->gdia_device_id)) 03240 return FALSE; 03241 if(!xdr_layouttype4(xdrs, &objp->gdia_layout_type)) 03242 return FALSE; 03243 if(!xdr_count4(xdrs, &objp->gdia_maxcount)) 03244 return FALSE; 03245 if(!xdr_bitmap4(xdrs, &objp->gdia_notify_types)) 03246 return FALSE; 03247 return TRUE; 03248 } 03249 03250 bool_t xdr_GETDEVICEINFO4resok(XDR * xdrs, GETDEVICEINFO4resok * objp) 03251 { 03252 if(!xdr_device_addr4(xdrs, &objp->gdir_device_addr)) 03253 return FALSE; 03254 if(!xdr_bitmap4(xdrs, &objp->gdir_notification)) 03255 return FALSE; 03256 return TRUE; 03257 } 03258 03259 bool_t xdr_GETDEVICEINFO4res(XDR * xdrs, GETDEVICEINFO4res * objp) 03260 { 03261 if(!xdr_nfsstat4(xdrs, &objp->gdir_status)) 03262 return FALSE; 03263 switch (objp->gdir_status) 03264 { 03265 case NFS4_OK: 03266 if(!xdr_GETDEVICEINFO4resok(xdrs, &objp->GETDEVICEINFO4res_u.gdir_resok4)) 03267 return FALSE; 03268 break; 03269 case NFS4ERR_TOOSMALL: 03270 if(!xdr_count4(xdrs, &objp->GETDEVICEINFO4res_u.gdir_mincount)) 03271 return FALSE; 03272 break; 03273 default: 03274 break; 03275 } 03276 return TRUE; 03277 } 03278 03279 bool_t xdr_GETDEVICELIST4args(XDR * xdrs, GETDEVICELIST4args * objp) 03280 { 03281 if(!xdr_layouttype4(xdrs, &objp->gdla_layout_type)) 03282 return FALSE; 03283 if(!xdr_count4(xdrs, &objp->gdla_maxdevices)) 03284 return FALSE; 03285 if(!xdr_nfs_cookie4(xdrs, &objp->gdla_cookie)) 03286 return FALSE; 03287 if(!xdr_verifier4(xdrs, objp->gdla_cookieverf)) 03288 return FALSE; 03289 return TRUE; 03290 } 03291 03292 bool_t xdr_GETDEVICELIST4resok(XDR * xdrs, GETDEVICELIST4resok * objp) 03293 { 03294 if(!xdr_nfs_cookie4(xdrs, &objp->gdlr_cookie)) 03295 return FALSE; 03296 if(!xdr_verifier4(xdrs, objp->gdlr_cookieverf)) 03297 return FALSE; 03298 if(!xdr_array 03299 (xdrs, (char **)&objp->gdlr_deviceid_list.gdlr_deviceid_list_val, 03300 (u_int *) & objp->gdlr_deviceid_list.gdlr_deviceid_list_len, ~0, sizeof(deviceid4), 03301 (xdrproc_t) xdr_deviceid4)) 03302 return FALSE; 03303 if(!xdr_bool(xdrs, &objp->gdlr_eof)) 03304 return FALSE; 03305 return TRUE; 03306 } 03307 03308 bool_t xdr_GETDEVICELIST4res(XDR * xdrs, GETDEVICELIST4res * objp) 03309 { 03310 if(!xdr_nfsstat4(xdrs, &objp->gdlr_status)) 03311 return FALSE; 03312 switch (objp->gdlr_status) 03313 { 03314 case NFS4_OK: 03315 if(!xdr_GETDEVICELIST4resok(xdrs, &objp->GETDEVICELIST4res_u.gdlr_resok4)) 03316 return FALSE; 03317 break; 03318 default: 03319 break; 03320 } 03321 return TRUE; 03322 } 03323 03324 bool_t xdr_newtime4(XDR * xdrs, newtime4 * objp) 03325 { 03326 if(!xdr_bool(xdrs, &objp->nt_timechanged)) 03327 return FALSE; 03328 switch (objp->nt_timechanged) 03329 { 03330 case TRUE: 03331 if(!xdr_nfstime4(xdrs, &objp->newtime4_u.nt_time)) 03332 return FALSE; 03333 break; 03334 case FALSE: 03335 break; 03336 default: 03337 return FALSE; 03338 } 03339 return TRUE; 03340 } 03341 03342 bool_t xdr_newoffset4(XDR * xdrs, newoffset4 * objp) 03343 { 03344 if(!xdr_bool(xdrs, &objp->no_newoffset)) 03345 return FALSE; 03346 switch (objp->no_newoffset) 03347 { 03348 case TRUE: 03349 if(!xdr_offset4(xdrs, &objp->newoffset4_u.no_offset)) 03350 return FALSE; 03351 break; 03352 case FALSE: 03353 break; 03354 default: 03355 return FALSE; 03356 } 03357 return TRUE; 03358 } 03359 03360 bool_t xdr_LAYOUTCOMMIT4args(XDR * xdrs, LAYOUTCOMMIT4args * objp) 03361 { 03362 if(!xdr_offset4(xdrs, &objp->loca_offset)) 03363 return FALSE; 03364 if(!xdr_length4(xdrs, &objp->loca_length)) 03365 return FALSE; 03366 if(!xdr_bool(xdrs, &objp->loca_reclaim)) 03367 return FALSE; 03368 if(!xdr_stateid4(xdrs, &objp->loca_stateid)) 03369 return FALSE; 03370 if(!xdr_newoffset4(xdrs, &objp->loca_last_write_offset)) 03371 return FALSE; 03372 if(!xdr_newtime4(xdrs, &objp->loca_time_modify)) 03373 return FALSE; 03374 if(!xdr_layoutupdate4(xdrs, &objp->loca_layoutupdate)) 03375 return FALSE; 03376 return TRUE; 03377 } 03378 03379 bool_t xdr_newsize4(XDR * xdrs, newsize4 * objp) 03380 { 03381 if(!xdr_bool(xdrs, &objp->ns_sizechanged)) 03382 return FALSE; 03383 switch (objp->ns_sizechanged) 03384 { 03385 case TRUE: 03386 if(!xdr_length4(xdrs, &objp->newsize4_u.ns_size)) 03387 return FALSE; 03388 break; 03389 case FALSE: 03390 break; 03391 default: 03392 return FALSE; 03393 } 03394 return TRUE; 03395 } 03396 03397 bool_t xdr_LAYOUTCOMMIT4resok(XDR * xdrs, LAYOUTCOMMIT4resok * objp) 03398 { 03399 if(!xdr_newsize4(xdrs, &objp->locr_newsize)) 03400 return FALSE; 03401 return TRUE; 03402 } 03403 03404 bool_t xdr_LAYOUTCOMMIT4res(XDR * xdrs, LAYOUTCOMMIT4res * objp) 03405 { 03406 if(!xdr_nfsstat4(xdrs, &objp->locr_status)) 03407 return FALSE; 03408 switch (objp->locr_status) 03409 { 03410 case NFS4_OK: 03411 if(!xdr_LAYOUTCOMMIT4resok(xdrs, &objp->LAYOUTCOMMIT4res_u.locr_resok4)) 03412 return FALSE; 03413 break; 03414 default: 03415 break; 03416 } 03417 return TRUE; 03418 } 03419 03420 bool_t xdr_LAYOUTGET4args(XDR * xdrs, LAYOUTGET4args * objp) 03421 { 03422 if(!xdr_bool(xdrs, &objp->loga_signal_layout_avail)) 03423 return FALSE; 03424 if(!xdr_layouttype4(xdrs, &objp->loga_layout_type)) 03425 return FALSE; 03426 if(!xdr_layoutiomode4(xdrs, &objp->loga_iomode)) 03427 return FALSE; 03428 if(!xdr_offset4(xdrs, &objp->loga_offset)) 03429 return FALSE; 03430 if(!xdr_length4(xdrs, &objp->loga_length)) 03431 return FALSE; 03432 if(!xdr_length4(xdrs, &objp->loga_minlength)) 03433 return FALSE; 03434 if(!xdr_stateid4(xdrs, &objp->loga_stateid)) 03435 return FALSE; 03436 if(!xdr_count4(xdrs, &objp->loga_maxcount)) 03437 return FALSE; 03438 return TRUE; 03439 } 03440 03441 bool_t xdr_LAYOUTGET4resok(XDR * xdrs, LAYOUTGET4resok * objp) 03442 { 03443 if(!xdr_bool(xdrs, &objp->logr_return_on_close)) 03444 return FALSE; 03445 if(!xdr_stateid4(xdrs, &objp->logr_stateid)) 03446 return FALSE; 03447 if(!xdr_array 03448 (xdrs, (char **)&objp->logr_layout.logr_layout_val, 03449 (u_int *) & objp->logr_layout.logr_layout_len, ~0, sizeof(layout4), 03450 (xdrproc_t) xdr_layout4)) 03451 return FALSE; 03452 return TRUE; 03453 } 03454 03455 bool_t xdr_LAYOUTGET4res(XDR * xdrs, LAYOUTGET4res * objp) 03456 { 03457 if(!xdr_nfsstat4(xdrs, &objp->logr_status)) 03458 return FALSE; 03459 switch (objp->logr_status) 03460 { 03461 case NFS4_OK: 03462 if(!xdr_LAYOUTGET4resok(xdrs, &objp->LAYOUTGET4res_u.logr_resok4)) 03463 return FALSE; 03464 break; 03465 case NFS4ERR_LAYOUTTRYLATER: 03466 if(!xdr_bool(xdrs, &objp->LAYOUTGET4res_u.logr_will_signal_layout_avail)) 03467 return FALSE; 03468 break; 03469 default: 03470 break; 03471 } 03472 return TRUE; 03473 } 03474 03475 bool_t xdr_LAYOUTRETURN4args(XDR * xdrs, LAYOUTRETURN4args * objp) 03476 { 03477 if(!xdr_bool(xdrs, &objp->lora_reclaim)) 03478 return FALSE; 03479 if(!xdr_layouttype4(xdrs, &objp->lora_layout_type)) 03480 return FALSE; 03481 if(!xdr_layoutiomode4(xdrs, &objp->lora_iomode)) 03482 return FALSE; 03483 if(!xdr_layoutreturn4(xdrs, &objp->lora_layoutreturn)) 03484 return FALSE; 03485 return TRUE; 03486 } 03487 03488 bool_t xdr_layoutreturn_stateid(XDR * xdrs, layoutreturn_stateid * objp) 03489 { 03490 if(!xdr_bool(xdrs, &objp->lrs_present)) 03491 return FALSE; 03492 switch (objp->lrs_present) 03493 { 03494 case TRUE: 03495 if(!xdr_stateid4(xdrs, &objp->layoutreturn_stateid_u.lrs_stateid)) 03496 return FALSE; 03497 break; 03498 case FALSE: 03499 break; 03500 default: 03501 return FALSE; 03502 } 03503 return TRUE; 03504 } 03505 03506 bool_t xdr_LAYOUTRETURN4res(XDR * xdrs, LAYOUTRETURN4res * objp) 03507 { 03508 if(!xdr_nfsstat4(xdrs, &objp->lorr_status)) 03509 return FALSE; 03510 switch (objp->lorr_status) 03511 { 03512 case NFS4_OK: 03513 if(!xdr_layoutreturn_stateid(xdrs, &objp->LAYOUTRETURN4res_u.lorr_stateid)) 03514 return FALSE; 03515 break; 03516 default: 03517 break; 03518 } 03519 return TRUE; 03520 } 03521 03522 bool_t xdr_secinfo_style4(XDR * xdrs, secinfo_style4 * objp) 03523 { 03524 if(!xdr_enum(xdrs, (enum_t *) objp)) 03525 return FALSE; 03526 return TRUE; 03527 } 03528 03529 bool_t xdr_SECINFO_NO_NAME4args(XDR * xdrs, SECINFO_NO_NAME4args * objp) 03530 { 03531 if(!xdr_secinfo_style4(xdrs, objp)) 03532 return FALSE; 03533 return TRUE; 03534 } 03535 03536 bool_t xdr_SECINFO_NO_NAME4res(XDR * xdrs, SECINFO_NO_NAME4res * objp) 03537 { 03538 if(!xdr_SECINFO4res(xdrs, objp)) 03539 return FALSE; 03540 return TRUE; 03541 } 03542 03543 bool_t xdr_SEQUENCE4args(XDR * xdrs, SEQUENCE4args * objp) 03544 { 03545 if(!xdr_sessionid4(xdrs, objp->sa_sessionid)) 03546 return FALSE; 03547 if(!xdr_sequenceid4(xdrs, &objp->sa_sequenceid)) 03548 return FALSE; 03549 if(!xdr_slotid4(xdrs, &objp->sa_slotid)) 03550 return FALSE; 03551 if(!xdr_slotid4(xdrs, &objp->sa_highest_slotid)) 03552 return FALSE; 03553 if(!xdr_bool(xdrs, &objp->sa_cachethis)) 03554 return FALSE; 03555 return TRUE; 03556 } 03557 03558 bool_t xdr_SEQUENCE4resok(XDR * xdrs, SEQUENCE4resok * objp) 03559 { 03560 if(!xdr_sessionid4(xdrs, objp->sr_sessionid)) 03561 return FALSE; 03562 if(!xdr_sequenceid4(xdrs, &objp->sr_sequenceid)) 03563 return FALSE; 03564 if(!xdr_slotid4(xdrs, &objp->sr_slotid)) 03565 return FALSE; 03566 if(!xdr_slotid4(xdrs, &objp->sr_highest_slotid)) 03567 return FALSE; 03568 if(!xdr_slotid4(xdrs, &objp->sr_target_highest_slotid)) 03569 return FALSE; 03570 if(!xdr_uint32_t(xdrs, &objp->sr_status_flags)) 03571 return FALSE; 03572 return TRUE; 03573 } 03574 03575 bool_t xdr_SEQUENCE4res(XDR * xdrs, SEQUENCE4res * objp) 03576 { 03577 if(!xdr_nfsstat4(xdrs, &objp->sr_status)) 03578 return FALSE; 03579 switch (objp->sr_status) 03580 { 03581 case NFS4_OK: 03582 if(!xdr_SEQUENCE4resok(xdrs, &objp->SEQUENCE4res_u.sr_resok4)) 03583 return FALSE; 03584 break; 03585 default: 03586 break; 03587 } 03588 return TRUE; 03589 } 03590 03591 bool_t xdr_ssa_digest_input4(XDR * xdrs, ssa_digest_input4 * objp) 03592 { 03593 if(!xdr_SEQUENCE4args(xdrs, &objp->sdi_seqargs)) 03594 return FALSE; 03595 return TRUE; 03596 } 03597 03598 bool_t xdr_SET_SSV4args(XDR * xdrs, SET_SSV4args * objp) 03599 { 03600 if(!xdr_bytes 03601 (xdrs, (char **)&objp->ssa_ssv.ssa_ssv_val, (u_int *) & objp->ssa_ssv.ssa_ssv_len, 03602 ~0)) 03603 return FALSE; 03604 if(!xdr_bytes 03605 (xdrs, (char **)&objp->ssa_digest.ssa_digest_val, 03606 (u_int *) & objp->ssa_digest.ssa_digest_len, ~0)) 03607 return FALSE; 03608 return TRUE; 03609 } 03610 03611 bool_t xdr_ssr_digest_input4(XDR * xdrs, ssr_digest_input4 * objp) 03612 { 03613 if(!xdr_SEQUENCE4res(xdrs, &objp->sdi_seqres)) 03614 return FALSE; 03615 return TRUE; 03616 } 03617 03618 bool_t xdr_SET_SSV4resok(XDR * xdrs, SET_SSV4resok * objp) 03619 { 03620 if(!xdr_bytes 03621 (xdrs, (char **)&objp->ssr_digest.ssr_digest_val, 03622 (u_int *) & objp->ssr_digest.ssr_digest_len, ~0)) 03623 return FALSE; 03624 return TRUE; 03625 } 03626 03627 bool_t xdr_SET_SSV4res(XDR * xdrs, SET_SSV4res * objp) 03628 { 03629 if(!xdr_nfsstat4(xdrs, &objp->ssr_status)) 03630 return FALSE; 03631 switch (objp->ssr_status) 03632 { 03633 case NFS4_OK: 03634 if(!xdr_SET_SSV4resok(xdrs, &objp->SET_SSV4res_u.ssr_resok4)) 03635 return FALSE; 03636 break; 03637 default: 03638 break; 03639 } 03640 return TRUE; 03641 } 03642 03643 bool_t xdr_TEST_STATEID4args(XDR * xdrs, TEST_STATEID4args * objp) 03644 { 03645 if(!xdr_array 03646 (xdrs, (char **)&objp->ts_stateids.ts_stateids_val, 03647 (u_int *) & objp->ts_stateids.ts_stateids_len, ~0, sizeof(stateid4), 03648 (xdrproc_t) xdr_stateid4)) 03649 return FALSE; 03650 return TRUE; 03651 } 03652 03653 bool_t xdr_TEST_STATEID4resok(XDR * xdrs, TEST_STATEID4resok * objp) 03654 { 03655 if(!xdr_array 03656 (xdrs, (char **)&objp->tsr_status_codes.tsr_status_codes_val, 03657 (u_int *) & objp->tsr_status_codes.tsr_status_codes_len, ~0, sizeof(nfsstat4), 03658 (xdrproc_t) xdr_nfsstat4)) 03659 return FALSE; 03660 return TRUE; 03661 } 03662 03663 bool_t xdr_TEST_STATEID4res(XDR * xdrs, TEST_STATEID4res * objp) 03664 { 03665 if(!xdr_nfsstat4(xdrs, &objp->tsr_status)) 03666 return FALSE; 03667 switch (objp->tsr_status) 03668 { 03669 case NFS4_OK: 03670 if(!xdr_TEST_STATEID4resok(xdrs, &objp->TEST_STATEID4res_u.tsr_resok4)) 03671 return FALSE; 03672 break; 03673 default: 03674 break; 03675 } 03676 return TRUE; 03677 } 03678 03679 bool_t xdr_deleg_claim4(XDR * xdrs, deleg_claim4 * objp) 03680 { 03681 if(!xdr_open_claim_type4(xdrs, &objp->dc_claim)) 03682 return FALSE; 03683 switch (objp->dc_claim) 03684 { 03685 case CLAIM_FH: 03686 break; 03687 case CLAIM_DELEG_PREV_FH: 03688 break; 03689 case CLAIM_PREVIOUS: 03690 if(!xdr_open_delegation_type4(xdrs, &objp->deleg_claim4_u.dc_delegate_type)) 03691 return FALSE; 03692 break; 03693 default: 03694 return FALSE; 03695 } 03696 return TRUE; 03697 } 03698 03699 bool_t xdr_WANT_DELEGATION4args(XDR * xdrs, WANT_DELEGATION4args * objp) 03700 { 03701 if(!xdr_uint32_t(xdrs, &objp->wda_want)) 03702 return FALSE; 03703 if(!xdr_deleg_claim4(xdrs, &objp->wda_claim)) 03704 return FALSE; 03705 return TRUE; 03706 } 03707 03708 bool_t xdr_WANT_DELEGATION4res(XDR * xdrs, WANT_DELEGATION4res * objp) 03709 { 03710 if(!xdr_nfsstat4(xdrs, &objp->wdr_status)) 03711 return FALSE; 03712 switch (objp->wdr_status) 03713 { 03714 case NFS4_OK: 03715 if(!xdr_open_delegation4(xdrs, &objp->WANT_DELEGATION4res_u.wdr_resok4)) 03716 return FALSE; 03717 break; 03718 default: 03719 break; 03720 } 03721 return TRUE; 03722 } 03723 03724 bool_t xdr_DESTROY_CLIENTID4args(XDR * xdrs, DESTROY_CLIENTID4args * objp) 03725 { 03726 if(!xdr_clientid4(xdrs, &objp->dca_clientid)) 03727 return FALSE; 03728 return TRUE; 03729 } 03730 03731 bool_t xdr_DESTROY_CLIENTID4res(XDR * xdrs, DESTROY_CLIENTID4res * objp) 03732 { 03733 if(!xdr_nfsstat4(xdrs, &objp->dcr_status)) 03734 return FALSE; 03735 return TRUE; 03736 } 03737 03738 bool_t xdr_RECLAIM_COMPLETE4args(XDR * xdrs, RECLAIM_COMPLETE4args * objp) 03739 { 03740 if(!xdr_bool(xdrs, &objp->rca_one_fs)) 03741 return FALSE; 03742 return TRUE; 03743 } 03744 03745 bool_t xdr_RECLAIM_COMPLETE4res(XDR * xdrs, RECLAIM_COMPLETE4res * objp) 03746 { 03747 if(!xdr_nfsstat4(xdrs, &objp->rcr_status)) 03748 return FALSE; 03749 return TRUE; 03750 } 03751 03752 /* new operations for NFSv4.1 */ 03753 03754 bool_t xdr_nfs_opnum4(XDR * xdrs, nfs_opnum4 * objp) 03755 { 03756 if(!xdr_enum(xdrs, (enum_t *) objp)) 03757 return FALSE; 03758 return TRUE; 03759 } 03760 03761 bool_t xdr_nfs_argop4(XDR * xdrs, nfs_argop4 * objp) 03762 { 03763 if(!xdr_nfs_opnum4(xdrs, &objp->argop)) 03764 return FALSE; 03765 switch (objp->argop) 03766 { 03767 case NFS4_OP_ACCESS: 03768 if(!xdr_ACCESS4args(xdrs, &objp->nfs_argop4_u.opaccess)) 03769 return FALSE; 03770 break; 03771 case NFS4_OP_CLOSE: 03772 if(!xdr_CLOSE4args(xdrs, &objp->nfs_argop4_u.opclose)) 03773 return FALSE; 03774 break; 03775 case NFS4_OP_COMMIT: 03776 if(!xdr_COMMIT4args(xdrs, &objp->nfs_argop4_u.opcommit)) 03777 return FALSE; 03778 break; 03779 case NFS4_OP_CREATE: 03780 if(!xdr_CREATE4args(xdrs, &objp->nfs_argop4_u.opcreate)) 03781 return FALSE; 03782 break; 03783 case NFS4_OP_DELEGPURGE: 03784 if(!xdr_DELEGPURGE4args(xdrs, &objp->nfs_argop4_u.opdelegpurge)) 03785 return FALSE; 03786 break; 03787 case NFS4_OP_DELEGRETURN: 03788 if(!xdr_DELEGRETURN4args(xdrs, &objp->nfs_argop4_u.opdelegreturn)) 03789 return FALSE; 03790 break; 03791 case NFS4_OP_GETATTR: 03792 if(!xdr_GETATTR4args(xdrs, &objp->nfs_argop4_u.opgetattr)) 03793 return FALSE; 03794 break; 03795 case NFS4_OP_GETFH: 03796 break; 03797 case NFS4_OP_LINK: 03798 if(!xdr_LINK4args(xdrs, &objp->nfs_argop4_u.oplink)) 03799 return FALSE; 03800 break; 03801 case NFS4_OP_LOCK: 03802 if(!xdr_LOCK4args(xdrs, &objp->nfs_argop4_u.oplock)) 03803 return FALSE; 03804 break; 03805 case NFS4_OP_LOCKT: 03806 if(!xdr_LOCKT4args(xdrs, &objp->nfs_argop4_u.oplockt)) 03807 return FALSE; 03808 break; 03809 case NFS4_OP_LOCKU: 03810 if(!xdr_LOCKU4args(xdrs, &objp->nfs_argop4_u.oplocku)) 03811 return FALSE; 03812 break; 03813 case NFS4_OP_LOOKUP: 03814 if(!xdr_LOOKUP4args(xdrs, &objp->nfs_argop4_u.oplookup)) 03815 return FALSE; 03816 break; 03817 case NFS4_OP_LOOKUPP: 03818 break; 03819 case NFS4_OP_NVERIFY: 03820 if(!xdr_NVERIFY4args(xdrs, &objp->nfs_argop4_u.opnverify)) 03821 return FALSE; 03822 break; 03823 case NFS4_OP_OPEN: 03824 if(!xdr_OPEN4args(xdrs, &objp->nfs_argop4_u.opopen)) 03825 return FALSE; 03826 break; 03827 case NFS4_OP_OPENATTR: 03828 if(!xdr_OPENATTR4args(xdrs, &objp->nfs_argop4_u.opopenattr)) 03829 return FALSE; 03830 break; 03831 case NFS4_OP_OPEN_CONFIRM: 03832 if(!xdr_OPEN_CONFIRM4args(xdrs, &objp->nfs_argop4_u.opopen_confirm)) 03833 return FALSE; 03834 break; 03835 case NFS4_OP_OPEN_DOWNGRADE: 03836 if(!xdr_OPEN_DOWNGRADE4args(xdrs, &objp->nfs_argop4_u.opopen_downgrade)) 03837 return FALSE; 03838 break; 03839 case NFS4_OP_PUTFH: 03840 if(!xdr_PUTFH4args(xdrs, &objp->nfs_argop4_u.opputfh)) 03841 return FALSE; 03842 break; 03843 case NFS4_OP_PUTPUBFH: 03844 break; 03845 case NFS4_OP_PUTROOTFH: 03846 break; 03847 case NFS4_OP_READ: 03848 if(!xdr_READ4args(xdrs, &objp->nfs_argop4_u.opread)) 03849 return FALSE; 03850 break; 03851 case NFS4_OP_READDIR: 03852 if(!xdr_READDIR4args(xdrs, &objp->nfs_argop4_u.opreaddir)) 03853 return FALSE; 03854 break; 03855 case NFS4_OP_READLINK: 03856 break; 03857 case NFS4_OP_REMOVE: 03858 if(!xdr_REMOVE4args(xdrs, &objp->nfs_argop4_u.opremove)) 03859 return FALSE; 03860 break; 03861 case NFS4_OP_RENAME: 03862 if(!xdr_RENAME4args(xdrs, &objp->nfs_argop4_u.oprename)) 03863 return FALSE; 03864 break; 03865 case NFS4_OP_RENEW: 03866 if(!xdr_RENEW4args(xdrs, &objp->nfs_argop4_u.oprenew)) 03867 return FALSE; 03868 break; 03869 case NFS4_OP_RESTOREFH: 03870 break; 03871 case NFS4_OP_SAVEFH: 03872 break; 03873 case NFS4_OP_SECINFO: 03874 if(!xdr_SECINFO4args(xdrs, &objp->nfs_argop4_u.opsecinfo)) 03875 return FALSE; 03876 break; 03877 case NFS4_OP_SETATTR: 03878 if(!xdr_SETATTR4args(xdrs, &objp->nfs_argop4_u.opsetattr)) 03879 return FALSE; 03880 break; 03881 case NFS4_OP_SETCLIENTID: 03882 if(!xdr_SETCLIENTID4args(xdrs, &objp->nfs_argop4_u.opsetclientid)) 03883 return FALSE; 03884 break; 03885 case NFS4_OP_SETCLIENTID_CONFIRM: 03886 if(!xdr_SETCLIENTID_CONFIRM4args(xdrs, &objp->nfs_argop4_u.opsetclientid_confirm)) 03887 return FALSE; 03888 break; 03889 case NFS4_OP_VERIFY: 03890 if(!xdr_VERIFY4args(xdrs, &objp->nfs_argop4_u.opverify)) 03891 return FALSE; 03892 break; 03893 case NFS4_OP_WRITE: 03894 if(!xdr_WRITE4args(xdrs, &objp->nfs_argop4_u.opwrite)) 03895 return FALSE; 03896 break; 03897 case NFS4_OP_RELEASE_LOCKOWNER: 03898 if(!xdr_RELEASE_LOCKOWNER4args(xdrs, &objp->nfs_argop4_u.oprelease_lockowner)) 03899 return FALSE; 03900 break; 03901 case NFS4_OP_BACKCHANNEL_CTL: 03902 if(!xdr_BACKCHANNEL_CTL4args(xdrs, &objp->nfs_argop4_u.opbackchannel_ctl)) 03903 return FALSE; 03904 break; 03905 case NFS4_OP_BIND_CONN_TO_SESSION: 03906 if(!xdr_BIND_CONN_TO_SESSION4args(xdrs, &objp->nfs_argop4_u.opbind_conn_to_session)) 03907 return FALSE; 03908 break; 03909 case NFS4_OP_EXCHANGE_ID: 03910 if(!xdr_EXCHANGE_ID4args(xdrs, &objp->nfs_argop4_u.opexchange_id)) 03911 return FALSE; 03912 break; 03913 case NFS4_OP_CREATE_SESSION: 03914 if(!xdr_CREATE_SESSION4args(xdrs, &objp->nfs_argop4_u.opcreate_session)) 03915 return FALSE; 03916 break; 03917 case NFS4_OP_DESTROY_SESSION: 03918 if(!xdr_DESTROY_SESSION4args(xdrs, &objp->nfs_argop4_u.opdestroy_session)) 03919 return FALSE; 03920 break; 03921 case NFS4_OP_FREE_STATEID: 03922 if(!xdr_FREE_STATEID4args(xdrs, &objp->nfs_argop4_u.opfree_stateid)) 03923 return FALSE; 03924 break; 03925 case NFS4_OP_GET_DIR_DELEGATION: 03926 if(!xdr_GET_DIR_DELEGATION4args(xdrs, &objp->nfs_argop4_u.opget_dir_delegation)) 03927 return FALSE; 03928 break; 03929 case NFS4_OP_GETDEVICEINFO: 03930 if(!xdr_GETDEVICEINFO4args(xdrs, &objp->nfs_argop4_u.opgetdeviceinfo)) 03931 return FALSE; 03932 break; 03933 case NFS4_OP_GETDEVICELIST: 03934 if(!xdr_GETDEVICELIST4args(xdrs, &objp->nfs_argop4_u.opgetdevicelist)) 03935 return FALSE; 03936 break; 03937 case NFS4_OP_LAYOUTCOMMIT: 03938 if(!xdr_LAYOUTCOMMIT4args(xdrs, &objp->nfs_argop4_u.oplayoutcommit)) 03939 return FALSE; 03940 break; 03941 case NFS4_OP_LAYOUTGET: 03942 if(!xdr_LAYOUTGET4args(xdrs, &objp->nfs_argop4_u.oplayoutget)) 03943 return FALSE; 03944 break; 03945 case NFS4_OP_LAYOUTRETURN: 03946 if(!xdr_LAYOUTRETURN4args(xdrs, &objp->nfs_argop4_u.oplayoutreturn)) 03947 return FALSE; 03948 break; 03949 case NFS4_OP_SECINFO_NO_NAME: 03950 if(!xdr_SECINFO_NO_NAME4args(xdrs, &objp->nfs_argop4_u.opsecinfo_no_name)) 03951 return FALSE; 03952 break; 03953 case NFS4_OP_SEQUENCE: 03954 if(!xdr_SEQUENCE4args(xdrs, &objp->nfs_argop4_u.opsequence)) 03955 return FALSE; 03956 break; 03957 case NFS4_OP_SET_SSV: 03958 if(!xdr_SET_SSV4args(xdrs, &objp->nfs_argop4_u.opset_ssv)) 03959 return FALSE; 03960 break; 03961 case NFS4_OP_TEST_STATEID: 03962 if(!xdr_TEST_STATEID4args(xdrs, &objp->nfs_argop4_u.optest_stateid)) 03963 return FALSE; 03964 break; 03965 case NFS4_OP_WANT_DELEGATION: 03966 if(!xdr_WANT_DELEGATION4args(xdrs, &objp->nfs_argop4_u.opwant_delegation)) 03967 return FALSE; 03968 break; 03969 case NFS4_OP_DESTROY_CLIENTID: 03970 if(!xdr_DESTROY_CLIENTID4args(xdrs, &objp->nfs_argop4_u.opdestroy_clientid)) 03971 return FALSE; 03972 break; 03973 case NFS4_OP_RECLAIM_COMPLETE: 03974 if(!xdr_RECLAIM_COMPLETE4args(xdrs, &objp->nfs_argop4_u.opreclaim_complete)) 03975 return FALSE; 03976 break; 03977 case NFS4_OP_ILLEGAL: 03978 break; 03979 default: 03980 return FALSE; 03981 } 03982 return TRUE; 03983 } 03984 03985 bool_t xdr_nfs_resop4(XDR * xdrs, nfs_resop4 * objp) 03986 { 03987 if(!xdr_nfs_opnum4(xdrs, &objp->resop)) 03988 return FALSE; 03989 switch (objp->resop) 03990 { 03991 case NFS4_OP_ACCESS: 03992 if(!xdr_ACCESS4res(xdrs, &objp->nfs_resop4_u.opaccess)) 03993 return FALSE; 03994 break; 03995 case NFS4_OP_CLOSE: 03996 if(!xdr_CLOSE4res(xdrs, &objp->nfs_resop4_u.opclose)) 03997 return FALSE; 03998 break; 03999 case NFS4_OP_COMMIT: 04000 if(!xdr_COMMIT4res(xdrs, &objp->nfs_resop4_u.opcommit)) 04001 return FALSE; 04002 break; 04003 case NFS4_OP_CREATE: 04004 if(!xdr_CREATE4res(xdrs, &objp->nfs_resop4_u.opcreate)) 04005 return FALSE; 04006 break; 04007 case NFS4_OP_DELEGPURGE: 04008 if(!xdr_DELEGPURGE4res(xdrs, &objp->nfs_resop4_u.opdelegpurge)) 04009 return FALSE; 04010 break; 04011 case NFS4_OP_DELEGRETURN: 04012 if(!xdr_DELEGRETURN4res(xdrs, &objp->nfs_resop4_u.opdelegreturn)) 04013 return FALSE; 04014 break; 04015 case NFS4_OP_GETATTR: 04016 if(!xdr_GETATTR4res(xdrs, &objp->nfs_resop4_u.opgetattr)) 04017 return FALSE; 04018 break; 04019 case NFS4_OP_GETFH: 04020 if(!xdr_GETFH4res(xdrs, &objp->nfs_resop4_u.opgetfh)) 04021 return FALSE; 04022 break; 04023 case NFS4_OP_LINK: 04024 if(!xdr_LINK4res(xdrs, &objp->nfs_resop4_u.oplink)) 04025 return FALSE; 04026 break; 04027 case NFS4_OP_LOCK: 04028 if(!xdr_LOCK4res(xdrs, &objp->nfs_resop4_u.oplock)) 04029 return FALSE; 04030 break; 04031 case NFS4_OP_LOCKT: 04032 if(!xdr_LOCKT4res(xdrs, &objp->nfs_resop4_u.oplockt)) 04033 return FALSE; 04034 break; 04035 case NFS4_OP_LOCKU: 04036 if(!xdr_LOCKU4res(xdrs, &objp->nfs_resop4_u.oplocku)) 04037 return FALSE; 04038 break; 04039 case NFS4_OP_LOOKUP: 04040 if(!xdr_LOOKUP4res(xdrs, &objp->nfs_resop4_u.oplookup)) 04041 return FALSE; 04042 break; 04043 case NFS4_OP_LOOKUPP: 04044 if(!xdr_LOOKUPP4res(xdrs, &objp->nfs_resop4_u.oplookupp)) 04045 return FALSE; 04046 break; 04047 case NFS4_OP_NVERIFY: 04048 if(!xdr_NVERIFY4res(xdrs, &objp->nfs_resop4_u.opnverify)) 04049 return FALSE; 04050 break; 04051 case NFS4_OP_OPEN: 04052 if(!xdr_OPEN4res(xdrs, &objp->nfs_resop4_u.opopen)) 04053 return FALSE; 04054 break; 04055 case NFS4_OP_OPENATTR: 04056 if(!xdr_OPENATTR4res(xdrs, &objp->nfs_resop4_u.opopenattr)) 04057 return FALSE; 04058 break; 04059 case NFS4_OP_OPEN_CONFIRM: 04060 if(!xdr_OPEN_CONFIRM4res(xdrs, &objp->nfs_resop4_u.opopen_confirm)) 04061 return FALSE; 04062 break; 04063 case NFS4_OP_OPEN_DOWNGRADE: 04064 if(!xdr_OPEN_DOWNGRADE4res(xdrs, &objp->nfs_resop4_u.opopen_downgrade)) 04065 return FALSE; 04066 break; 04067 case NFS4_OP_PUTFH: 04068 if(!xdr_PUTFH4res(xdrs, &objp->nfs_resop4_u.opputfh)) 04069 return FALSE; 04070 break; 04071 case NFS4_OP_PUTPUBFH: 04072 if(!xdr_PUTPUBFH4res(xdrs, &objp->nfs_resop4_u.opputpubfh)) 04073 return FALSE; 04074 break; 04075 case NFS4_OP_PUTROOTFH: 04076 if(!xdr_PUTROOTFH4res(xdrs, &objp->nfs_resop4_u.opputrootfh)) 04077 return FALSE; 04078 break; 04079 case NFS4_OP_READ: 04080 if(!xdr_READ4res(xdrs, &objp->nfs_resop4_u.opread)) 04081 return FALSE; 04082 break; 04083 case NFS4_OP_READDIR: 04084 if(!xdr_READDIR4res(xdrs, &objp->nfs_resop4_u.opreaddir)) 04085 return FALSE; 04086 break; 04087 case NFS4_OP_READLINK: 04088 if(!xdr_READLINK4res(xdrs, &objp->nfs_resop4_u.opreadlink)) 04089 return FALSE; 04090 break; 04091 case NFS4_OP_REMOVE: 04092 if(!xdr_REMOVE4res(xdrs, &objp->nfs_resop4_u.opremove)) 04093 return FALSE; 04094 break; 04095 case NFS4_OP_RENAME: 04096 if(!xdr_RENAME4res(xdrs, &objp->nfs_resop4_u.oprename)) 04097 return FALSE; 04098 break; 04099 case NFS4_OP_RENEW: 04100 if(!xdr_RENEW4res(xdrs, &objp->nfs_resop4_u.oprenew)) 04101 return FALSE; 04102 break; 04103 case NFS4_OP_RESTOREFH: 04104 if(!xdr_RESTOREFH4res(xdrs, &objp->nfs_resop4_u.oprestorefh)) 04105 return FALSE; 04106 break; 04107 case NFS4_OP_SAVEFH: 04108 if(!xdr_SAVEFH4res(xdrs, &objp->nfs_resop4_u.opsavefh)) 04109 return FALSE; 04110 break; 04111 case NFS4_OP_SECINFO: 04112 if(!xdr_SECINFO4res(xdrs, &objp->nfs_resop4_u.opsecinfo)) 04113 return FALSE; 04114 break; 04115 case NFS4_OP_SETATTR: 04116 if(!xdr_SETATTR4res(xdrs, &objp->nfs_resop4_u.opsetattr)) 04117 return FALSE; 04118 break; 04119 case NFS4_OP_SETCLIENTID: 04120 if(!xdr_SETCLIENTID4res(xdrs, &objp->nfs_resop4_u.opsetclientid)) 04121 return FALSE; 04122 break; 04123 case NFS4_OP_SETCLIENTID_CONFIRM: 04124 if(!xdr_SETCLIENTID_CONFIRM4res(xdrs, &objp->nfs_resop4_u.opsetclientid_confirm)) 04125 return FALSE; 04126 break; 04127 case NFS4_OP_VERIFY: 04128 if(!xdr_VERIFY4res(xdrs, &objp->nfs_resop4_u.opverify)) 04129 return FALSE; 04130 break; 04131 case NFS4_OP_WRITE: 04132 if(!xdr_WRITE4res(xdrs, &objp->nfs_resop4_u.opwrite)) 04133 return FALSE; 04134 break; 04135 case NFS4_OP_RELEASE_LOCKOWNER: 04136 if(!xdr_RELEASE_LOCKOWNER4res(xdrs, &objp->nfs_resop4_u.oprelease_lockowner)) 04137 return FALSE; 04138 break; 04139 case NFS4_OP_BACKCHANNEL_CTL: 04140 if(!xdr_BACKCHANNEL_CTL4res(xdrs, &objp->nfs_resop4_u.opbackchannel_ctl)) 04141 return FALSE; 04142 break; 04143 case NFS4_OP_BIND_CONN_TO_SESSION: 04144 if(!xdr_BIND_CONN_TO_SESSION4res(xdrs, &objp->nfs_resop4_u.opbind_conn_to_session)) 04145 return FALSE; 04146 break; 04147 case NFS4_OP_EXCHANGE_ID: 04148 if(!xdr_EXCHANGE_ID4res(xdrs, &objp->nfs_resop4_u.opexchange_id)) 04149 return FALSE; 04150 break; 04151 case NFS4_OP_CREATE_SESSION: 04152 if(!xdr_CREATE_SESSION4res(xdrs, &objp->nfs_resop4_u.opcreate_session)) 04153 return FALSE; 04154 break; 04155 case NFS4_OP_DESTROY_SESSION: 04156 if(!xdr_DESTROY_SESSION4res(xdrs, &objp->nfs_resop4_u.opdestroy_session)) 04157 return FALSE; 04158 break; 04159 case NFS4_OP_FREE_STATEID: 04160 if(!xdr_FREE_STATEID4res(xdrs, &objp->nfs_resop4_u.opfree_stateid)) 04161 return FALSE; 04162 break; 04163 case NFS4_OP_GET_DIR_DELEGATION: 04164 if(!xdr_GET_DIR_DELEGATION4res(xdrs, &objp->nfs_resop4_u.opget_dir_delegation)) 04165 return FALSE; 04166 break; 04167 case NFS4_OP_GETDEVICEINFO: 04168 if(!xdr_GETDEVICEINFO4res(xdrs, &objp->nfs_resop4_u.opgetdeviceinfo)) 04169 return FALSE; 04170 break; 04171 case NFS4_OP_GETDEVICELIST: 04172 if(!xdr_GETDEVICELIST4res(xdrs, &objp->nfs_resop4_u.opgetdevicelist)) 04173 return FALSE; 04174 break; 04175 case NFS4_OP_LAYOUTCOMMIT: 04176 if(!xdr_LAYOUTCOMMIT4res(xdrs, &objp->nfs_resop4_u.oplayoutcommit)) 04177 return FALSE; 04178 break; 04179 case NFS4_OP_LAYOUTGET: 04180 if(!xdr_LAYOUTGET4res(xdrs, &objp->nfs_resop4_u.oplayoutget)) 04181 return FALSE; 04182 break; 04183 case NFS4_OP_LAYOUTRETURN: 04184 if(!xdr_LAYOUTRETURN4res(xdrs, &objp->nfs_resop4_u.oplayoutreturn)) 04185 return FALSE; 04186 break; 04187 case NFS4_OP_SECINFO_NO_NAME: 04188 if(!xdr_SECINFO_NO_NAME4res(xdrs, &objp->nfs_resop4_u.opsecinfo_no_name)) 04189 return FALSE; 04190 break; 04191 case NFS4_OP_SEQUENCE: 04192 if(!xdr_SEQUENCE4res(xdrs, &objp->nfs_resop4_u.opsequence)) 04193 return FALSE; 04194 break; 04195 case NFS4_OP_SET_SSV: 04196 if(!xdr_SET_SSV4res(xdrs, &objp->nfs_resop4_u.opset_ssv)) 04197 return FALSE; 04198 break; 04199 case NFS4_OP_TEST_STATEID: 04200 if(!xdr_TEST_STATEID4res(xdrs, &objp->nfs_resop4_u.optest_stateid)) 04201 return FALSE; 04202 break; 04203 case NFS4_OP_WANT_DELEGATION: 04204 if(!xdr_WANT_DELEGATION4res(xdrs, &objp->nfs_resop4_u.opwant_delegation)) 04205 return FALSE; 04206 break; 04207 case NFS4_OP_DESTROY_CLIENTID: 04208 if(!xdr_DESTROY_CLIENTID4res(xdrs, &objp->nfs_resop4_u.opdestroy_clientid)) 04209 return FALSE; 04210 break; 04211 case NFS4_OP_RECLAIM_COMPLETE: 04212 if(!xdr_RECLAIM_COMPLETE4res(xdrs, &objp->nfs_resop4_u.opreclaim_complete)) 04213 return FALSE; 04214 break; 04215 case NFS4_OP_ILLEGAL: 04216 if(!xdr_ILLEGAL4res(xdrs, &objp->nfs_resop4_u.opillegal)) 04217 return FALSE; 04218 break; 04219 default: 04220 return FALSE; 04221 } 04222 return TRUE; 04223 } 04224 04225 bool_t xdr_COMPOUND4args(XDR * xdrs, COMPOUND4args * objp) 04226 { 04227 if(!xdr_utf8str_cs(xdrs, &objp->tag)) 04228 return FALSE; 04229 if(!xdr_uint32_t(xdrs, &objp->minorversion)) 04230 return FALSE; 04231 if(!xdr_array 04232 (xdrs, (char **)&objp->argarray.argarray_val, 04233 (u_int *) & objp->argarray.argarray_len, ~0, sizeof(nfs_argop4), 04234 (xdrproc_t) xdr_nfs_argop4)) 04235 return FALSE; 04236 return TRUE; 04237 } 04238 04239 bool_t xdr_COMPOUND4res(XDR * xdrs, COMPOUND4res * objp) 04240 { 04241 if(!xdr_nfsstat4(xdrs, &objp->status)) 04242 return FALSE; 04243 if(!xdr_utf8str_cs(xdrs, &objp->tag)) 04244 return FALSE; 04245 if(!xdr_array 04246 (xdrs, (char **)&objp->resarray.resarray_val, 04247 (u_int *) & objp->resarray.resarray_len, ~0, sizeof(nfs_resop4), 04248 (xdrproc_t) xdr_nfs_resop4)) 04249 return FALSE; 04250 return TRUE; 04251 } 04252 04253 bool_t xdr_CB_GETATTR4args(XDR * xdrs, CB_GETATTR4args * objp) 04254 { 04255 if(!xdr_nfs_fh4(xdrs, &objp->fh)) 04256 return FALSE; 04257 if(!xdr_bitmap4(xdrs, &objp->attr_request)) 04258 return FALSE; 04259 return TRUE; 04260 } 04261 04262 bool_t xdr_CB_GETATTR4resok(XDR * xdrs, CB_GETATTR4resok * objp) 04263 { 04264 if(!xdr_fattr4(xdrs, &objp->obj_attributes)) 04265 return FALSE; 04266 return TRUE; 04267 } 04268 04269 bool_t xdr_CB_GETATTR4res(XDR * xdrs, CB_GETATTR4res * objp) 04270 { 04271 if(!xdr_nfsstat4(xdrs, &objp->status)) 04272 return FALSE; 04273 switch (objp->status) 04274 { 04275 case NFS4_OK: 04276 if(!xdr_CB_GETATTR4resok(xdrs, &objp->CB_GETATTR4res_u.resok4)) 04277 return FALSE; 04278 break; 04279 default: 04280 break; 04281 } 04282 return TRUE; 04283 } 04284 04285 bool_t xdr_CB_RECALL4args(XDR * xdrs, CB_RECALL4args * objp) 04286 { 04287 if(!xdr_stateid4(xdrs, &objp->stateid)) 04288 return FALSE; 04289 if(!xdr_bool(xdrs, &objp->truncate)) 04290 return FALSE; 04291 if(!xdr_nfs_fh4(xdrs, &objp->fh)) 04292 return FALSE; 04293 return TRUE; 04294 } 04295 04296 bool_t xdr_CB_RECALL4res(XDR * xdrs, CB_RECALL4res * objp) 04297 { 04298 if(!xdr_nfsstat4(xdrs, &objp->status)) 04299 return FALSE; 04300 return TRUE; 04301 } 04302 04303 bool_t xdr_CB_ILLEGAL4res(XDR * xdrs, CB_ILLEGAL4res * objp) 04304 { 04305 if(!xdr_nfsstat4(xdrs, &objp->status)) 04306 return FALSE; 04307 return TRUE; 04308 } 04309 04310 bool_t xdr_layoutrecall_type4(XDR * xdrs, layoutrecall_type4 * objp) 04311 { 04312 if(!xdr_enum(xdrs, (enum_t *) objp)) 04313 return FALSE; 04314 return TRUE; 04315 } 04316 04317 bool_t xdr_layoutrecall_file4(XDR * xdrs, layoutrecall_file4 * objp) 04318 { 04319 if(!xdr_nfs_fh4(xdrs, &objp->lor_fh)) 04320 return FALSE; 04321 if(!xdr_offset4(xdrs, &objp->lor_offset)) 04322 return FALSE; 04323 if(!xdr_length4(xdrs, &objp->lor_length)) 04324 return FALSE; 04325 if(!xdr_stateid4(xdrs, &objp->lor_stateid)) 04326 return FALSE; 04327 return TRUE; 04328 } 04329 04330 bool_t xdr_layoutrecall4(XDR * xdrs, layoutrecall4 * objp) 04331 { 04332 if(!xdr_layoutrecall_type4(xdrs, &objp->lor_recalltype)) 04333 return FALSE; 04334 switch (objp->lor_recalltype) 04335 { 04336 case LAYOUTRECALL4_FILE: 04337 if(!xdr_layoutrecall_file4(xdrs, &objp->layoutrecall4_u.lor_layout)) 04338 return FALSE; 04339 break; 04340 case LAYOUTRECALL4_FSID: 04341 if(!xdr_fsid4(xdrs, &objp->layoutrecall4_u.lor_fsid)) 04342 return FALSE; 04343 break; 04344 case LAYOUTRECALL4_ALL: 04345 break; 04346 default: 04347 return FALSE; 04348 } 04349 return TRUE; 04350 } 04351 04352 bool_t xdr_CB_LAYOUTRECALL4args(XDR * xdrs, CB_LAYOUTRECALL4args * objp) 04353 { 04354 if(!xdr_layouttype4(xdrs, &objp->clora_type)) 04355 return FALSE; 04356 if(!xdr_layoutiomode4(xdrs, &objp->clora_iomode)) 04357 return FALSE; 04358 if(!xdr_bool(xdrs, &objp->clora_changed)) 04359 return FALSE; 04360 if(!xdr_layoutrecall4(xdrs, &objp->clora_recall)) 04361 return FALSE; 04362 return TRUE; 04363 } 04364 04365 bool_t xdr_CB_LAYOUTRECALL4res(XDR * xdrs, CB_LAYOUTRECALL4res * objp) 04366 { 04367 if(!xdr_nfsstat4(xdrs, &objp->clorr_status)) 04368 return FALSE; 04369 return TRUE; 04370 } 04371 04372 bool_t xdr_notify_type4(XDR * xdrs, notify_type4 * objp) 04373 { 04374 if(!xdr_enum(xdrs, (enum_t *) objp)) 04375 return FALSE; 04376 return TRUE; 04377 } 04378 04379 bool_t xdr_notify_entry4(XDR * xdrs, notify_entry4 * objp) 04380 { 04381 if(!xdr_component4(xdrs, &objp->ne_file)) 04382 return FALSE; 04383 if(!xdr_fattr4(xdrs, &objp->ne_attrs)) 04384 return FALSE; 04385 return TRUE; 04386 } 04387 04388 bool_t xdr_prev_entry4(XDR * xdrs, prev_entry4 * objp) 04389 { 04390 if(!xdr_notify_entry4(xdrs, &objp->pe_prev_entry)) 04391 return FALSE; 04392 if(!xdr_nfs_cookie4(xdrs, &objp->pe_prev_entry_cookie)) 04393 return FALSE; 04394 return TRUE; 04395 } 04396 04397 bool_t xdr_notify_remove4(XDR * xdrs, notify_remove4 * objp) 04398 { 04399 if(!xdr_notify_entry4(xdrs, &objp->nrm_old_entry)) 04400 return FALSE; 04401 if(!xdr_nfs_cookie4(xdrs, &objp->nrm_old_entry_cookie)) 04402 return FALSE; 04403 return TRUE; 04404 } 04405 04406 bool_t xdr_notify_add4(XDR * xdrs, notify_add4 * objp) 04407 { 04408 if(!xdr_array 04409 (xdrs, (char **)&objp->nad_old_entry.nad_old_entry_val, 04410 (u_int *) & objp->nad_old_entry.nad_old_entry_len, 1, sizeof(notify_remove4), 04411 (xdrproc_t) xdr_notify_remove4)) 04412 return FALSE; 04413 if(!xdr_notify_entry4(xdrs, &objp->nad_new_entry)) 04414 return FALSE; 04415 if(!xdr_array 04416 (xdrs, (char **)&objp->nad_new_entry_cookie.nad_new_entry_cookie_val, 04417 (u_int *) & objp->nad_new_entry_cookie.nad_new_entry_cookie_len, 1, 04418 sizeof(nfs_cookie4), (xdrproc_t) xdr_nfs_cookie4)) 04419 return FALSE; 04420 if(!xdr_array 04421 (xdrs, (char **)&objp->nad_prev_entry.nad_prev_entry_val, 04422 (u_int *) & objp->nad_prev_entry.nad_prev_entry_len, 1, sizeof(prev_entry4), 04423 (xdrproc_t) xdr_prev_entry4)) 04424 return FALSE; 04425 if(!xdr_bool(xdrs, &objp->nad_last_entry)) 04426 return FALSE; 04427 return TRUE; 04428 } 04429 04430 bool_t xdr_notify_attr4(XDR * xdrs, notify_attr4 * objp) 04431 { 04432 if(!xdr_notify_entry4(xdrs, &objp->na_changed_entry)) 04433 return FALSE; 04434 return TRUE; 04435 } 04436 04437 bool_t xdr_notify_rename4(XDR * xdrs, notify_rename4 * objp) 04438 { 04439 if(!xdr_notify_remove4(xdrs, &objp->nrn_old_entry)) 04440 return FALSE; 04441 if(!xdr_notify_add4(xdrs, &objp->nrn_new_entry)) 04442 return FALSE; 04443 return TRUE; 04444 } 04445 04446 bool_t xdr_notify_verifier4(XDR * xdrs, notify_verifier4 * objp) 04447 { 04448 if(!xdr_verifier4(xdrs, objp->nv_old_cookieverf)) 04449 return FALSE; 04450 if(!xdr_verifier4(xdrs, objp->nv_new_cookieverf)) 04451 return FALSE; 04452 return TRUE; 04453 } 04454 04455 bool_t xdr_notifylist4(XDR * xdrs, notifylist4 * objp) 04456 { 04457 if(!xdr_bytes 04458 (xdrs, (char **)&objp->notifylist4_val, (u_int *) & objp->notifylist4_len, ~0)) 04459 return FALSE; 04460 return TRUE; 04461 } 04462 04463 bool_t xdr_notify4(XDR * xdrs, notify4 * objp) 04464 { 04465 if(!xdr_bitmap4(xdrs, &objp->notify_mask)) 04466 return FALSE; 04467 if(!xdr_notifylist4(xdrs, &objp->notify_vals)) 04468 return FALSE; 04469 return TRUE; 04470 } 04471 04472 bool_t xdr_CB_NOTIFY4args(XDR * xdrs, CB_NOTIFY4args * objp) 04473 { 04474 if(!xdr_stateid4(xdrs, &objp->cna_stateid)) 04475 return FALSE; 04476 if(!xdr_nfs_fh4(xdrs, &objp->cna_fh)) 04477 return FALSE; 04478 if(!xdr_array 04479 (xdrs, (char **)&objp->cna_changes.cna_changes_val, 04480 (u_int *) & objp->cna_changes.cna_changes_len, ~0, sizeof(notify4), 04481 (xdrproc_t) xdr_notify4)) 04482 return FALSE; 04483 return TRUE; 04484 } 04485 04486 bool_t xdr_CB_NOTIFY4res(XDR * xdrs, CB_NOTIFY4res * objp) 04487 { 04488 if(!xdr_nfsstat4(xdrs, &objp->cnr_status)) 04489 return FALSE; 04490 return TRUE; 04491 } 04492 04493 bool_t xdr_CB_PUSH_DELEG4args(XDR * xdrs, CB_PUSH_DELEG4args * objp) 04494 { 04495 if(!xdr_nfs_fh4(xdrs, &objp->cpda_fh)) 04496 return FALSE; 04497 if(!xdr_open_delegation4(xdrs, &objp->cpda_delegation)) 04498 return FALSE; 04499 return TRUE; 04500 } 04501 04502 bool_t xdr_CB_PUSH_DELEG4res(XDR * xdrs, CB_PUSH_DELEG4res * objp) 04503 { 04504 if(!xdr_nfsstat4(xdrs, &objp->cpdr_status)) 04505 return FALSE; 04506 return TRUE; 04507 } 04508 04509 bool_t xdr_CB_RECALL_ANY4args(XDR * xdrs, CB_RECALL_ANY4args * objp) 04510 { 04511 if(!xdr_uint32_t(xdrs, &objp->craa_objects_to_keep)) 04512 return FALSE; 04513 if(!xdr_bitmap4(xdrs, &objp->craa_type_mask)) 04514 return FALSE; 04515 return TRUE; 04516 } 04517 04518 bool_t xdr_CB_RECALL_ANY4res(XDR * xdrs, CB_RECALL_ANY4res * objp) 04519 { 04520 if(!xdr_nfsstat4(xdrs, &objp->crar_status)) 04521 return FALSE; 04522 return TRUE; 04523 } 04524 04525 bool_t xdr_CB_RECALLABLE_OBJ_AVAIL4args(XDR * xdrs, CB_RECALLABLE_OBJ_AVAIL4args * objp) 04526 { 04527 if(!xdr_CB_RECALL_ANY4args(xdrs, objp)) 04528 return FALSE; 04529 return TRUE; 04530 } 04531 04532 bool_t xdr_CB_RECALLABLE_OBJ_AVAIL4res(XDR * xdrs, CB_RECALLABLE_OBJ_AVAIL4res * objp) 04533 { 04534 if(!xdr_nfsstat4(xdrs, &objp->croa_status)) 04535 return FALSE; 04536 return TRUE; 04537 } 04538 04539 bool_t xdr_CB_RECALL_SLOT4args(XDR * xdrs, CB_RECALL_SLOT4args * objp) 04540 { 04541 if(!xdr_slotid4(xdrs, &objp->rsa_target_highest_slotid)) 04542 return FALSE; 04543 return TRUE; 04544 } 04545 04546 bool_t xdr_CB_RECALL_SLOT4res(XDR * xdrs, CB_RECALL_SLOT4res * objp) 04547 { 04548 if(!xdr_nfsstat4(xdrs, &objp->rsr_status)) 04549 return FALSE; 04550 return TRUE; 04551 } 04552 04553 bool_t xdr_referring_call4(XDR * xdrs, referring_call4 * objp) 04554 { 04555 if(!xdr_sequenceid4(xdrs, &objp->rc_sequenceid)) 04556 return FALSE; 04557 if(!xdr_slotid4(xdrs, &objp->rc_slotid)) 04558 return FALSE; 04559 return TRUE; 04560 } 04561 04562 bool_t xdr_referring_call_list4(XDR * xdrs, referring_call_list4 * objp) 04563 { 04564 if(!xdr_sessionid4(xdrs, objp->rcl_sessionid)) 04565 return FALSE; 04566 if(!xdr_array 04567 (xdrs, (char **)&objp->rcl_referring_calls.rcl_referring_calls_val, 04568 (u_int *) & objp->rcl_referring_calls.rcl_referring_calls_len, ~0, 04569 sizeof(referring_call4), (xdrproc_t) xdr_referring_call4)) 04570 return FALSE; 04571 return TRUE; 04572 } 04573 04574 bool_t xdr_CB_SEQUENCE4args(XDR * xdrs, CB_SEQUENCE4args * objp) 04575 { 04576 if(!xdr_sessionid4(xdrs, objp->csa_sessionid)) 04577 return FALSE; 04578 if(!xdr_sequenceid4(xdrs, &objp->csa_sequenceid)) 04579 return FALSE; 04580 if(!xdr_slotid4(xdrs, &objp->csa_slotid)) 04581 return FALSE; 04582 if(!xdr_slotid4(xdrs, &objp->csa_highest_slotid)) 04583 return FALSE; 04584 if(!xdr_bool(xdrs, &objp->csa_cachethis)) 04585 return FALSE; 04586 if(!xdr_array 04587 (xdrs, (char **)&objp->csa_referring_call_lists.csa_referring_call_lists_val, 04588 (u_int *) & objp->csa_referring_call_lists.csa_referring_call_lists_len, ~0, 04589 sizeof(referring_call_list4), (xdrproc_t) xdr_referring_call_list4)) 04590 return FALSE; 04591 return TRUE; 04592 } 04593 04594 bool_t xdr_CB_SEQUENCE4resok(XDR * xdrs, CB_SEQUENCE4resok * objp) 04595 { 04596 if(!xdr_sessionid4(xdrs, objp->csr_sessionid)) 04597 return FALSE; 04598 if(!xdr_sequenceid4(xdrs, &objp->csr_sequenceid)) 04599 return FALSE; 04600 if(!xdr_slotid4(xdrs, &objp->csr_slotid)) 04601 return FALSE; 04602 if(!xdr_slotid4(xdrs, &objp->csr_highest_slotid)) 04603 return FALSE; 04604 if(!xdr_slotid4(xdrs, &objp->csr_target_highest_slotid)) 04605 return FALSE; 04606 return TRUE; 04607 } 04608 04609 bool_t xdr_CB_SEQUENCE4res(XDR * xdrs, CB_SEQUENCE4res * objp) 04610 { 04611 if(!xdr_nfsstat4(xdrs, &objp->csr_status)) 04612 return FALSE; 04613 switch (objp->csr_status) 04614 { 04615 case NFS4_OK: 04616 if(!xdr_CB_SEQUENCE4resok(xdrs, &objp->CB_SEQUENCE4res_u.csr_resok4)) 04617 return FALSE; 04618 break; 04619 default: 04620 break; 04621 } 04622 return TRUE; 04623 } 04624 04625 bool_t xdr_CB_WANTS_CANCELLED4args(XDR * xdrs, CB_WANTS_CANCELLED4args * objp) 04626 { 04627 if(!xdr_bool(xdrs, &objp->cwca_contended_wants_cancelled)) 04628 return FALSE; 04629 if(!xdr_bool(xdrs, &objp->cwca_resourced_wants_cancelled)) 04630 return FALSE; 04631 return TRUE; 04632 } 04633 04634 bool_t xdr_CB_WANTS_CANCELLED4res(XDR * xdrs, CB_WANTS_CANCELLED4res * objp) 04635 { 04636 if(!xdr_nfsstat4(xdrs, &objp->cwcr_status)) 04637 return FALSE; 04638 return TRUE; 04639 } 04640 04641 bool_t xdr_CB_NOTIFY_LOCK4args(XDR * xdrs, CB_NOTIFY_LOCK4args * objp) 04642 { 04643 if(!xdr_nfs_fh4(xdrs, &objp->cnla_fh)) 04644 return FALSE; 04645 if(!xdr_lock_owner4(xdrs, &objp->cnla_lock_owner)) 04646 return FALSE; 04647 return TRUE; 04648 } 04649 04650 bool_t xdr_CB_NOTIFY_LOCK4res(XDR * xdrs, CB_NOTIFY_LOCK4res * objp) 04651 { 04652 if(!xdr_nfsstat4(xdrs, &objp->cnlr_status)) 04653 return FALSE; 04654 return TRUE; 04655 } 04656 04657 bool_t xdr_notify_deviceid_type4(XDR * xdrs, notify_deviceid_type4 * objp) 04658 { 04659 if(!xdr_enum(xdrs, (enum_t *) objp)) 04660 return FALSE; 04661 return TRUE; 04662 } 04663 04664 bool_t xdr_notify_deviceid_delete4(XDR * xdrs, notify_deviceid_delete4 * objp) 04665 { 04666 if(!xdr_layouttype4(xdrs, &objp->ndd_layouttype)) 04667 return FALSE; 04668 if(!xdr_deviceid4(xdrs, objp->ndd_deviceid)) 04669 return FALSE; 04670 return TRUE; 04671 } 04672 04673 bool_t xdr_notify_deviceid_change4(XDR * xdrs, notify_deviceid_change4 * objp) 04674 { 04675 if(!xdr_layouttype4(xdrs, &objp->ndc_layouttype)) 04676 return FALSE; 04677 if(!xdr_deviceid4(xdrs, objp->ndc_deviceid)) 04678 return FALSE; 04679 if(!xdr_bool(xdrs, &objp->ndc_immediate)) 04680 return FALSE; 04681 return TRUE; 04682 } 04683 04684 bool_t xdr_CB_NOTIFY_DEVICEID4args(XDR * xdrs, CB_NOTIFY_DEVICEID4args * objp) 04685 { 04686 if(!xdr_array 04687 (xdrs, (char **)&objp->cnda_changes.cnda_changes_val, 04688 (u_int *) & objp->cnda_changes.cnda_changes_len, ~0, sizeof(notify4), 04689 (xdrproc_t) xdr_notify4)) 04690 return FALSE; 04691 return TRUE; 04692 } 04693 04694 bool_t xdr_CB_NOTIFY_DEVICEID4res(XDR * xdrs, CB_NOTIFY_DEVICEID4res * objp) 04695 { 04696 if(!xdr_nfsstat4(xdrs, &objp->cndr_status)) 04697 return FALSE; 04698 return TRUE; 04699 } 04700 04701 /* Callback operations new to NFSv4.1 */ 04702 04703 bool_t xdr_nfs_cb_opnum4(XDR * xdrs, nfs_cb_opnum4 * objp) 04704 { 04705 if(!xdr_enum(xdrs, (enum_t *) objp)) 04706 return FALSE; 04707 return TRUE; 04708 } 04709 04710 bool_t xdr_nfs_cb_argop4(XDR * xdrs, nfs_cb_argop4 * objp) 04711 { 04712 if(!xdr_u_int(xdrs, &objp->argop)) 04713 return FALSE; 04714 switch (objp->argop) 04715 { 04716 case NFS4_OP_CB_GETATTR: 04717 if(!xdr_CB_GETATTR4args(xdrs, &objp->nfs_cb_argop4_u.opcbgetattr)) 04718 return FALSE; 04719 break; 04720 case NFS4_OP_CB_RECALL: 04721 if(!xdr_CB_RECALL4args(xdrs, &objp->nfs_cb_argop4_u.opcbrecall)) 04722 return FALSE; 04723 break; 04724 case NFS4_OP_CB_LAYOUTRECALL: 04725 if(!xdr_CB_LAYOUTRECALL4args(xdrs, &objp->nfs_cb_argop4_u.opcblayoutrecall)) 04726 return FALSE; 04727 break; 04728 case NFS4_OP_CB_NOTIFY: 04729 if(!xdr_CB_NOTIFY4args(xdrs, &objp->nfs_cb_argop4_u.opcbnotify)) 04730 return FALSE; 04731 break; 04732 case NFS4_OP_CB_PUSH_DELEG: 04733 if(!xdr_CB_PUSH_DELEG4args(xdrs, &objp->nfs_cb_argop4_u.opcbpush_deleg)) 04734 return FALSE; 04735 break; 04736 case NFS4_OP_CB_RECALL_ANY: 04737 if(!xdr_CB_RECALL_ANY4args(xdrs, &objp->nfs_cb_argop4_u.opcbrecall_any)) 04738 return FALSE; 04739 break; 04740 case NFS4_OP_CB_RECALLABLE_OBJ_AVAIL: 04741 if(!xdr_CB_RECALLABLE_OBJ_AVAIL4args 04742 (xdrs, &objp->nfs_cb_argop4_u.opcbrecallable_obj_avail)) 04743 return FALSE; 04744 break; 04745 case NFS4_OP_CB_RECALL_SLOT: 04746 if(!xdr_CB_RECALL_SLOT4args(xdrs, &objp->nfs_cb_argop4_u.opcbrecall_slot)) 04747 return FALSE; 04748 break; 04749 case NFS4_OP_CB_SEQUENCE: 04750 if(!xdr_CB_SEQUENCE4args(xdrs, &objp->nfs_cb_argop4_u.opcbsequence)) 04751 return FALSE; 04752 break; 04753 case NFS4_OP_CB_WANTS_CANCELLED: 04754 if(!xdr_CB_WANTS_CANCELLED4args(xdrs, &objp->nfs_cb_argop4_u.opcbwants_cancelled)) 04755 return FALSE; 04756 break; 04757 case NFS4_OP_CB_NOTIFY_LOCK: 04758 if(!xdr_CB_NOTIFY_LOCK4args(xdrs, &objp->nfs_cb_argop4_u.opcbnotify_lock)) 04759 return FALSE; 04760 break; 04761 case NFS4_OP_CB_NOTIFY_DEVICEID: 04762 if(!xdr_CB_NOTIFY_DEVICEID4args(xdrs, &objp->nfs_cb_argop4_u.opcbnotify_deviceid)) 04763 return FALSE; 04764 break; 04765 case NFS4_OP_CB_ILLEGAL: 04766 break; 04767 default: 04768 return FALSE; 04769 } 04770 return TRUE; 04771 } 04772 04773 bool_t xdr_nfs_cb_resop4(XDR * xdrs, nfs_cb_resop4 * objp) 04774 { 04775 if(!xdr_u_int(xdrs, &objp->resop)) 04776 return FALSE; 04777 switch (objp->resop) 04778 { 04779 case NFS4_OP_CB_GETATTR: 04780 if(!xdr_CB_GETATTR4res(xdrs, &objp->nfs_cb_resop4_u.opcbgetattr)) 04781 return FALSE; 04782 break; 04783 case NFS4_OP_CB_RECALL: 04784 if(!xdr_CB_RECALL4res(xdrs, &objp->nfs_cb_resop4_u.opcbrecall)) 04785 return FALSE; 04786 break; 04787 case NFS4_OP_CB_LAYOUTRECALL: 04788 if(!xdr_CB_LAYOUTRECALL4res(xdrs, &objp->nfs_cb_resop4_u.opcblayoutrecall)) 04789 return FALSE; 04790 break; 04791 case NFS4_OP_CB_NOTIFY: 04792 if(!xdr_CB_NOTIFY4res(xdrs, &objp->nfs_cb_resop4_u.opcbnotify)) 04793 return FALSE; 04794 break; 04795 case NFS4_OP_CB_PUSH_DELEG: 04796 if(!xdr_CB_PUSH_DELEG4res(xdrs, &objp->nfs_cb_resop4_u.opcbpush_deleg)) 04797 return FALSE; 04798 break; 04799 case NFS4_OP_CB_RECALL_ANY: 04800 if(!xdr_CB_RECALL_ANY4res(xdrs, &objp->nfs_cb_resop4_u.opcbrecall_any)) 04801 return FALSE; 04802 break; 04803 case NFS4_OP_CB_RECALLABLE_OBJ_AVAIL: 04804 if(!xdr_CB_RECALLABLE_OBJ_AVAIL4res 04805 (xdrs, &objp->nfs_cb_resop4_u.opcbrecallable_obj_avail)) 04806 return FALSE; 04807 break; 04808 case NFS4_OP_CB_RECALL_SLOT: 04809 if(!xdr_CB_RECALL_SLOT4res(xdrs, &objp->nfs_cb_resop4_u.opcbrecall_slot)) 04810 return FALSE; 04811 break; 04812 case NFS4_OP_CB_SEQUENCE: 04813 if(!xdr_CB_SEQUENCE4res(xdrs, &objp->nfs_cb_resop4_u.opcbsequence)) 04814 return FALSE; 04815 break; 04816 case NFS4_OP_CB_WANTS_CANCELLED: 04817 if(!xdr_CB_WANTS_CANCELLED4res(xdrs, &objp->nfs_cb_resop4_u.opcbwants_cancelled)) 04818 return FALSE; 04819 break; 04820 case NFS4_OP_CB_NOTIFY_LOCK: 04821 if(!xdr_CB_NOTIFY_LOCK4res(xdrs, &objp->nfs_cb_resop4_u.opcbnotify_lock)) 04822 return FALSE; 04823 break; 04824 case NFS4_OP_CB_NOTIFY_DEVICEID: 04825 if(!xdr_CB_NOTIFY_DEVICEID4res(xdrs, &objp->nfs_cb_resop4_u.opcbnotify_deviceid)) 04826 return FALSE; 04827 break; 04828 case NFS4_OP_CB_ILLEGAL: 04829 if(!xdr_CB_ILLEGAL4res(xdrs, &objp->nfs_cb_resop4_u.opcbillegal)) 04830 return FALSE; 04831 break; 04832 default: 04833 return FALSE; 04834 } 04835 return TRUE; 04836 } 04837 04838 bool_t xdr_CB_COMPOUND4args(XDR * xdrs, CB_COMPOUND4args * objp) 04839 { 04840 if(!xdr_utf8str_cs(xdrs, &objp->tag)) 04841 return FALSE; 04842 if(!xdr_uint32_t(xdrs, &objp->minorversion)) 04843 return FALSE; 04844 if(!xdr_uint32_t(xdrs, &objp->callback_ident)) 04845 return FALSE; 04846 if(!xdr_array 04847 (xdrs, (char **)&objp->argarray.argarray_val, 04848 (u_int *) & objp->argarray.argarray_len, ~0, sizeof(nfs_cb_argop4), 04849 (xdrproc_t) xdr_nfs_cb_argop4)) 04850 return FALSE; 04851 return TRUE; 04852 } 04853 04854 bool_t xdr_CB_COMPOUND4res(XDR * xdrs, CB_COMPOUND4res * objp) 04855 { 04856 if(!xdr_nfsstat4(xdrs, &objp->status)) 04857 return FALSE; 04858 if(!xdr_utf8str_cs(xdrs, &objp->tag)) 04859 return FALSE; 04860 if(!xdr_array 04861 (xdrs, (char **)&objp->resarray.resarray_val, 04862 (u_int *) & objp->resarray.resarray_len, ~0, sizeof(nfs_cb_resop4), 04863 (xdrproc_t) xdr_nfs_cb_resop4)) 04864 return FALSE; 04865 return TRUE; 04866 }