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