1*44928Smckusick /* 2*44928Smckusick * $Id: nfs_prot_xdr.c,v 5.2 90/06/23 22:20:27 jsp Rel $ 3*44928Smckusick * 4*44928Smckusick * Copyright (c) 1989 Jan-Simon Pendry 5*44928Smckusick * Copyright (c) 1989 Imperial College of Science, Technology & Medicine 6*44928Smckusick * Copyright (c) 1989 The Regents of the University of California. 7*44928Smckusick * All rights reserved. 8*44928Smckusick * 9*44928Smckusick * This code is derived from software contributed to Berkeley by 10*44928Smckusick * Jan-Simon Pendry at Imperial College, London. 11*44928Smckusick * 12*44928Smckusick * %sccs.include.redist.c% 13*44928Smckusick * 14*44928Smckusick * @(#)nfs_prot_xdr.c 5.1 (Berkeley) 07/19/90 15*44928Smckusick */ 16*44928Smckusick 17*44928Smckusick #include "am.h" 18*44928Smckusick 19*44928Smckusick 20*44928Smckusick #ifndef xdr_nfsstat 21*44928Smckusick bool_t 22*44928Smckusick xdr_nfsstat(xdrs, objp) 23*44928Smckusick XDR *xdrs; 24*44928Smckusick nfsstat *objp; 25*44928Smckusick { 26*44928Smckusick if (!xdr_enum(xdrs, (enum_t *)objp)) { 27*44928Smckusick return (FALSE); 28*44928Smckusick } 29*44928Smckusick return (TRUE); 30*44928Smckusick } 31*44928Smckusick #endif /* xdr_nfsstat */ 32*44928Smckusick 33*44928Smckusick 34*44928Smckusick 35*44928Smckusick #ifndef xdr_ftype 36*44928Smckusick static bool_t 37*44928Smckusick xdr_ftype(xdrs, objp) 38*44928Smckusick XDR *xdrs; 39*44928Smckusick ftype *objp; 40*44928Smckusick { 41*44928Smckusick if (!xdr_enum(xdrs, (enum_t *)objp)) { 42*44928Smckusick return (FALSE); 43*44928Smckusick } 44*44928Smckusick return (TRUE); 45*44928Smckusick } 46*44928Smckusick #endif /* xdr_ftype */ 47*44928Smckusick 48*44928Smckusick 49*44928Smckusick 50*44928Smckusick bool_t 51*44928Smckusick xdr_nfs_fh(xdrs, objp) 52*44928Smckusick XDR *xdrs; 53*44928Smckusick nfs_fh *objp; 54*44928Smckusick { 55*44928Smckusick if (!xdr_opaque(xdrs, objp->data, NFS_FHSIZE)) { 56*44928Smckusick return (FALSE); 57*44928Smckusick } 58*44928Smckusick return (TRUE); 59*44928Smckusick } 60*44928Smckusick 61*44928Smckusick 62*44928Smckusick 63*44928Smckusick 64*44928Smckusick static bool_t 65*44928Smckusick xdr_nfstime(xdrs, objp) 66*44928Smckusick XDR *xdrs; 67*44928Smckusick nfstime *objp; 68*44928Smckusick { 69*44928Smckusick if (!xdr_u_int(xdrs, &objp->seconds)) { 70*44928Smckusick return (FALSE); 71*44928Smckusick } 72*44928Smckusick if (!xdr_u_int(xdrs, &objp->useconds)) { 73*44928Smckusick return (FALSE); 74*44928Smckusick } 75*44928Smckusick return (TRUE); 76*44928Smckusick } 77*44928Smckusick 78*44928Smckusick 79*44928Smckusick 80*44928Smckusick 81*44928Smckusick static bool_t 82*44928Smckusick xdr_fattr(xdrs, objp) 83*44928Smckusick XDR *xdrs; 84*44928Smckusick fattr *objp; 85*44928Smckusick { 86*44928Smckusick if (!xdr_ftype(xdrs, &objp->type)) { 87*44928Smckusick return (FALSE); 88*44928Smckusick } 89*44928Smckusick if (!xdr_u_int(xdrs, &objp->mode)) { 90*44928Smckusick return (FALSE); 91*44928Smckusick } 92*44928Smckusick if (!xdr_u_int(xdrs, &objp->nlink)) { 93*44928Smckusick return (FALSE); 94*44928Smckusick } 95*44928Smckusick if (!xdr_u_int(xdrs, &objp->uid)) { 96*44928Smckusick return (FALSE); 97*44928Smckusick } 98*44928Smckusick if (!xdr_u_int(xdrs, &objp->gid)) { 99*44928Smckusick return (FALSE); 100*44928Smckusick } 101*44928Smckusick if (!xdr_u_int(xdrs, &objp->size)) { 102*44928Smckusick return (FALSE); 103*44928Smckusick } 104*44928Smckusick if (!xdr_u_int(xdrs, &objp->blocksize)) { 105*44928Smckusick return (FALSE); 106*44928Smckusick } 107*44928Smckusick if (!xdr_u_int(xdrs, &objp->rdev)) { 108*44928Smckusick return (FALSE); 109*44928Smckusick } 110*44928Smckusick if (!xdr_u_int(xdrs, &objp->blocks)) { 111*44928Smckusick return (FALSE); 112*44928Smckusick } 113*44928Smckusick if (!xdr_u_int(xdrs, &objp->fsid)) { 114*44928Smckusick return (FALSE); 115*44928Smckusick } 116*44928Smckusick if (!xdr_u_int(xdrs, &objp->fileid)) { 117*44928Smckusick return (FALSE); 118*44928Smckusick } 119*44928Smckusick if (!xdr_nfstime(xdrs, &objp->atime)) { 120*44928Smckusick return (FALSE); 121*44928Smckusick } 122*44928Smckusick if (!xdr_nfstime(xdrs, &objp->mtime)) { 123*44928Smckusick return (FALSE); 124*44928Smckusick } 125*44928Smckusick if (!xdr_nfstime(xdrs, &objp->ctime)) { 126*44928Smckusick return (FALSE); 127*44928Smckusick } 128*44928Smckusick return (TRUE); 129*44928Smckusick } 130*44928Smckusick 131*44928Smckusick 132*44928Smckusick 133*44928Smckusick 134*44928Smckusick static bool_t 135*44928Smckusick xdr_sattr(xdrs, objp) 136*44928Smckusick XDR *xdrs; 137*44928Smckusick sattr *objp; 138*44928Smckusick { 139*44928Smckusick if (!xdr_u_int(xdrs, &objp->mode)) { 140*44928Smckusick return (FALSE); 141*44928Smckusick } 142*44928Smckusick if (!xdr_u_int(xdrs, &objp->uid)) { 143*44928Smckusick return (FALSE); 144*44928Smckusick } 145*44928Smckusick if (!xdr_u_int(xdrs, &objp->gid)) { 146*44928Smckusick return (FALSE); 147*44928Smckusick } 148*44928Smckusick if (!xdr_u_int(xdrs, &objp->size)) { 149*44928Smckusick return (FALSE); 150*44928Smckusick } 151*44928Smckusick if (!xdr_nfstime(xdrs, &objp->atime)) { 152*44928Smckusick return (FALSE); 153*44928Smckusick } 154*44928Smckusick if (!xdr_nfstime(xdrs, &objp->mtime)) { 155*44928Smckusick return (FALSE); 156*44928Smckusick } 157*44928Smckusick return (TRUE); 158*44928Smckusick } 159*44928Smckusick 160*44928Smckusick 161*44928Smckusick 162*44928Smckusick 163*44928Smckusick static bool_t 164*44928Smckusick xdr_filename(xdrs, objp) 165*44928Smckusick XDR *xdrs; 166*44928Smckusick filename *objp; 167*44928Smckusick { 168*44928Smckusick if (!xdr_string(xdrs, objp, NFS_MAXNAMLEN)) { 169*44928Smckusick return (FALSE); 170*44928Smckusick } 171*44928Smckusick return (TRUE); 172*44928Smckusick } 173*44928Smckusick 174*44928Smckusick 175*44928Smckusick 176*44928Smckusick 177*44928Smckusick bool_t 178*44928Smckusick xdr_nfspath(xdrs, objp) 179*44928Smckusick XDR *xdrs; 180*44928Smckusick nfspath *objp; 181*44928Smckusick { 182*44928Smckusick if (!xdr_string(xdrs, objp, NFS_MAXPATHLEN)) { 183*44928Smckusick return (FALSE); 184*44928Smckusick } 185*44928Smckusick return (TRUE); 186*44928Smckusick } 187*44928Smckusick 188*44928Smckusick 189*44928Smckusick 190*44928Smckusick 191*44928Smckusick bool_t 192*44928Smckusick xdr_attrstat(xdrs, objp) 193*44928Smckusick XDR *xdrs; 194*44928Smckusick attrstat *objp; 195*44928Smckusick { 196*44928Smckusick if (!xdr_nfsstat(xdrs, &objp->status)) { 197*44928Smckusick return (FALSE); 198*44928Smckusick } 199*44928Smckusick switch (objp->status) { 200*44928Smckusick case NFS_OK: 201*44928Smckusick if (!xdr_fattr(xdrs, &objp->attrstat_u.attributes)) { 202*44928Smckusick return (FALSE); 203*44928Smckusick } 204*44928Smckusick break; 205*44928Smckusick } 206*44928Smckusick return (TRUE); 207*44928Smckusick } 208*44928Smckusick 209*44928Smckusick 210*44928Smckusick 211*44928Smckusick 212*44928Smckusick bool_t 213*44928Smckusick xdr_sattrargs(xdrs, objp) 214*44928Smckusick XDR *xdrs; 215*44928Smckusick sattrargs *objp; 216*44928Smckusick { 217*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->file)) { 218*44928Smckusick return (FALSE); 219*44928Smckusick } 220*44928Smckusick if (!xdr_sattr(xdrs, &objp->attributes)) { 221*44928Smckusick return (FALSE); 222*44928Smckusick } 223*44928Smckusick return (TRUE); 224*44928Smckusick } 225*44928Smckusick 226*44928Smckusick 227*44928Smckusick 228*44928Smckusick 229*44928Smckusick bool_t 230*44928Smckusick xdr_diropargs(xdrs, objp) 231*44928Smckusick XDR *xdrs; 232*44928Smckusick diropargs *objp; 233*44928Smckusick { 234*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->dir)) { 235*44928Smckusick return (FALSE); 236*44928Smckusick } 237*44928Smckusick if (!xdr_filename(xdrs, &objp->name)) { 238*44928Smckusick return (FALSE); 239*44928Smckusick } 240*44928Smckusick return (TRUE); 241*44928Smckusick } 242*44928Smckusick 243*44928Smckusick 244*44928Smckusick 245*44928Smckusick 246*44928Smckusick bool_t 247*44928Smckusick xdr_diropokres(xdrs, objp) 248*44928Smckusick XDR *xdrs; 249*44928Smckusick diropokres *objp; 250*44928Smckusick { 251*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->file)) { 252*44928Smckusick return (FALSE); 253*44928Smckusick } 254*44928Smckusick if (!xdr_fattr(xdrs, &objp->attributes)) { 255*44928Smckusick return (FALSE); 256*44928Smckusick } 257*44928Smckusick return (TRUE); 258*44928Smckusick } 259*44928Smckusick 260*44928Smckusick 261*44928Smckusick 262*44928Smckusick 263*44928Smckusick bool_t 264*44928Smckusick xdr_diropres(xdrs, objp) 265*44928Smckusick XDR *xdrs; 266*44928Smckusick diropres *objp; 267*44928Smckusick { 268*44928Smckusick if (!xdr_nfsstat(xdrs, &objp->status)) { 269*44928Smckusick return (FALSE); 270*44928Smckusick } 271*44928Smckusick switch (objp->status) { 272*44928Smckusick case NFS_OK: 273*44928Smckusick if (!xdr_diropokres(xdrs, &objp->diropres_u.diropres)) { 274*44928Smckusick return (FALSE); 275*44928Smckusick } 276*44928Smckusick break; 277*44928Smckusick } 278*44928Smckusick return (TRUE); 279*44928Smckusick } 280*44928Smckusick 281*44928Smckusick 282*44928Smckusick 283*44928Smckusick 284*44928Smckusick bool_t 285*44928Smckusick xdr_readlinkres(xdrs, objp) 286*44928Smckusick XDR *xdrs; 287*44928Smckusick readlinkres *objp; 288*44928Smckusick { 289*44928Smckusick if (!xdr_nfsstat(xdrs, &objp->status)) { 290*44928Smckusick return (FALSE); 291*44928Smckusick } 292*44928Smckusick switch (objp->status) { 293*44928Smckusick case NFS_OK: 294*44928Smckusick if (!xdr_nfspath(xdrs, &objp->readlinkres_u.data)) { 295*44928Smckusick return (FALSE); 296*44928Smckusick } 297*44928Smckusick break; 298*44928Smckusick } 299*44928Smckusick return (TRUE); 300*44928Smckusick } 301*44928Smckusick 302*44928Smckusick 303*44928Smckusick 304*44928Smckusick 305*44928Smckusick bool_t 306*44928Smckusick xdr_readargs(xdrs, objp) 307*44928Smckusick XDR *xdrs; 308*44928Smckusick readargs *objp; 309*44928Smckusick { 310*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->file)) { 311*44928Smckusick return (FALSE); 312*44928Smckusick } 313*44928Smckusick if (!xdr_u_int(xdrs, &objp->offset)) { 314*44928Smckusick return (FALSE); 315*44928Smckusick } 316*44928Smckusick if (!xdr_u_int(xdrs, &objp->count)) { 317*44928Smckusick return (FALSE); 318*44928Smckusick } 319*44928Smckusick if (!xdr_u_int(xdrs, &objp->totalcount)) { 320*44928Smckusick return (FALSE); 321*44928Smckusick } 322*44928Smckusick return (TRUE); 323*44928Smckusick } 324*44928Smckusick 325*44928Smckusick 326*44928Smckusick 327*44928Smckusick 328*44928Smckusick bool_t 329*44928Smckusick xdr_readokres(xdrs, objp) 330*44928Smckusick XDR *xdrs; 331*44928Smckusick readokres *objp; 332*44928Smckusick { 333*44928Smckusick if (!xdr_fattr(xdrs, &objp->attributes)) { 334*44928Smckusick return (FALSE); 335*44928Smckusick } 336*44928Smckusick if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *)&objp->data.data_len, NFS_MAXDATA)) { 337*44928Smckusick return (FALSE); 338*44928Smckusick } 339*44928Smckusick return (TRUE); 340*44928Smckusick } 341*44928Smckusick 342*44928Smckusick 343*44928Smckusick 344*44928Smckusick 345*44928Smckusick bool_t 346*44928Smckusick xdr_readres(xdrs, objp) 347*44928Smckusick XDR *xdrs; 348*44928Smckusick readres *objp; 349*44928Smckusick { 350*44928Smckusick if (!xdr_nfsstat(xdrs, &objp->status)) { 351*44928Smckusick return (FALSE); 352*44928Smckusick } 353*44928Smckusick switch (objp->status) { 354*44928Smckusick case NFS_OK: 355*44928Smckusick if (!xdr_readokres(xdrs, &objp->readres_u.reply)) { 356*44928Smckusick return (FALSE); 357*44928Smckusick } 358*44928Smckusick break; 359*44928Smckusick } 360*44928Smckusick return (TRUE); 361*44928Smckusick } 362*44928Smckusick 363*44928Smckusick 364*44928Smckusick 365*44928Smckusick 366*44928Smckusick bool_t 367*44928Smckusick xdr_writeargs(xdrs, objp) 368*44928Smckusick XDR *xdrs; 369*44928Smckusick writeargs *objp; 370*44928Smckusick { 371*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->file)) { 372*44928Smckusick return (FALSE); 373*44928Smckusick } 374*44928Smckusick if (!xdr_u_int(xdrs, &objp->beginoffset)) { 375*44928Smckusick return (FALSE); 376*44928Smckusick } 377*44928Smckusick if (!xdr_u_int(xdrs, &objp->offset)) { 378*44928Smckusick return (FALSE); 379*44928Smckusick } 380*44928Smckusick if (!xdr_u_int(xdrs, &objp->totalcount)) { 381*44928Smckusick return (FALSE); 382*44928Smckusick } 383*44928Smckusick if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *)&objp->data.data_len, NFS_MAXDATA)) { 384*44928Smckusick return (FALSE); 385*44928Smckusick } 386*44928Smckusick return (TRUE); 387*44928Smckusick } 388*44928Smckusick 389*44928Smckusick 390*44928Smckusick 391*44928Smckusick 392*44928Smckusick bool_t 393*44928Smckusick xdr_createargs(xdrs, objp) 394*44928Smckusick XDR *xdrs; 395*44928Smckusick createargs *objp; 396*44928Smckusick { 397*44928Smckusick if (!xdr_diropargs(xdrs, &objp->where)) { 398*44928Smckusick return (FALSE); 399*44928Smckusick } 400*44928Smckusick if (!xdr_sattr(xdrs, &objp->attributes)) { 401*44928Smckusick return (FALSE); 402*44928Smckusick } 403*44928Smckusick return (TRUE); 404*44928Smckusick } 405*44928Smckusick 406*44928Smckusick 407*44928Smckusick 408*44928Smckusick 409*44928Smckusick bool_t 410*44928Smckusick xdr_renameargs(xdrs, objp) 411*44928Smckusick XDR *xdrs; 412*44928Smckusick renameargs *objp; 413*44928Smckusick { 414*44928Smckusick if (!xdr_diropargs(xdrs, &objp->from)) { 415*44928Smckusick return (FALSE); 416*44928Smckusick } 417*44928Smckusick if (!xdr_diropargs(xdrs, &objp->to)) { 418*44928Smckusick return (FALSE); 419*44928Smckusick } 420*44928Smckusick return (TRUE); 421*44928Smckusick } 422*44928Smckusick 423*44928Smckusick 424*44928Smckusick 425*44928Smckusick 426*44928Smckusick bool_t 427*44928Smckusick xdr_linkargs(xdrs, objp) 428*44928Smckusick XDR *xdrs; 429*44928Smckusick linkargs *objp; 430*44928Smckusick { 431*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->from)) { 432*44928Smckusick return (FALSE); 433*44928Smckusick } 434*44928Smckusick if (!xdr_diropargs(xdrs, &objp->to)) { 435*44928Smckusick return (FALSE); 436*44928Smckusick } 437*44928Smckusick return (TRUE); 438*44928Smckusick } 439*44928Smckusick 440*44928Smckusick 441*44928Smckusick 442*44928Smckusick 443*44928Smckusick bool_t 444*44928Smckusick xdr_symlinkargs(xdrs, objp) 445*44928Smckusick XDR *xdrs; 446*44928Smckusick symlinkargs *objp; 447*44928Smckusick { 448*44928Smckusick if (!xdr_diropargs(xdrs, &objp->from)) { 449*44928Smckusick return (FALSE); 450*44928Smckusick } 451*44928Smckusick if (!xdr_nfspath(xdrs, &objp->to)) { 452*44928Smckusick return (FALSE); 453*44928Smckusick } 454*44928Smckusick if (!xdr_sattr(xdrs, &objp->attributes)) { 455*44928Smckusick return (FALSE); 456*44928Smckusick } 457*44928Smckusick return (TRUE); 458*44928Smckusick } 459*44928Smckusick 460*44928Smckusick 461*44928Smckusick 462*44928Smckusick 463*44928Smckusick static bool_t 464*44928Smckusick xdr_nfscookie(xdrs, objp) 465*44928Smckusick XDR *xdrs; 466*44928Smckusick nfscookie objp; 467*44928Smckusick { 468*44928Smckusick if (!xdr_opaque(xdrs, objp, NFS_COOKIESIZE)) { 469*44928Smckusick return (FALSE); 470*44928Smckusick } 471*44928Smckusick return (TRUE); 472*44928Smckusick } 473*44928Smckusick 474*44928Smckusick 475*44928Smckusick 476*44928Smckusick 477*44928Smckusick bool_t 478*44928Smckusick xdr_readdirargs(xdrs, objp) 479*44928Smckusick XDR *xdrs; 480*44928Smckusick readdirargs *objp; 481*44928Smckusick { 482*44928Smckusick if (!xdr_nfs_fh(xdrs, &objp->dir)) { 483*44928Smckusick return (FALSE); 484*44928Smckusick } 485*44928Smckusick if (!xdr_nfscookie(xdrs, objp->cookie)) { 486*44928Smckusick return (FALSE); 487*44928Smckusick } 488*44928Smckusick if (!xdr_u_int(xdrs, &objp->count)) { 489*44928Smckusick return (FALSE); 490*44928Smckusick } 491*44928Smckusick return (TRUE); 492*44928Smckusick } 493*44928Smckusick 494*44928Smckusick 495*44928Smckusick 496*44928Smckusick 497*44928Smckusick static bool_t 498*44928Smckusick xdr_entry(xdrs, objp) 499*44928Smckusick XDR *xdrs; 500*44928Smckusick entry *objp; 501*44928Smckusick { 502*44928Smckusick if (!xdr_u_int(xdrs, &objp->fileid)) { 503*44928Smckusick return (FALSE); 504*44928Smckusick } 505*44928Smckusick if (!xdr_filename(xdrs, &objp->name)) { 506*44928Smckusick return (FALSE); 507*44928Smckusick } 508*44928Smckusick if (!xdr_nfscookie(xdrs, objp->cookie)) { 509*44928Smckusick return (FALSE); 510*44928Smckusick } 511*44928Smckusick if (!xdr_pointer(xdrs, (char **)&objp->nextentry, sizeof(entry), xdr_entry)) { 512*44928Smckusick return (FALSE); 513*44928Smckusick } 514*44928Smckusick return (TRUE); 515*44928Smckusick } 516*44928Smckusick 517*44928Smckusick 518*44928Smckusick 519*44928Smckusick 520*44928Smckusick static bool_t 521*44928Smckusick xdr_dirlist(xdrs, objp) 522*44928Smckusick XDR *xdrs; 523*44928Smckusick dirlist *objp; 524*44928Smckusick { 525*44928Smckusick if (!xdr_pointer(xdrs, (char **)&objp->entries, sizeof(entry), xdr_entry)) { 526*44928Smckusick return (FALSE); 527*44928Smckusick } 528*44928Smckusick if (!xdr_bool(xdrs, &objp->eof)) { 529*44928Smckusick return (FALSE); 530*44928Smckusick } 531*44928Smckusick return (TRUE); 532*44928Smckusick } 533*44928Smckusick 534*44928Smckusick 535*44928Smckusick 536*44928Smckusick 537*44928Smckusick bool_t 538*44928Smckusick xdr_readdirres(xdrs, objp) 539*44928Smckusick XDR *xdrs; 540*44928Smckusick readdirres *objp; 541*44928Smckusick { 542*44928Smckusick if (!xdr_nfsstat(xdrs, &objp->status)) { 543*44928Smckusick return (FALSE); 544*44928Smckusick } 545*44928Smckusick switch (objp->status) { 546*44928Smckusick case NFS_OK: 547*44928Smckusick if (!xdr_dirlist(xdrs, &objp->readdirres_u.reply)) { 548*44928Smckusick return (FALSE); 549*44928Smckusick } 550*44928Smckusick break; 551*44928Smckusick } 552*44928Smckusick return (TRUE); 553*44928Smckusick } 554*44928Smckusick 555*44928Smckusick 556*44928Smckusick 557*44928Smckusick 558*44928Smckusick bool_t 559*44928Smckusick xdr_statfsokres(xdrs, objp) 560*44928Smckusick XDR *xdrs; 561*44928Smckusick statfsokres *objp; 562*44928Smckusick { 563*44928Smckusick if (!xdr_u_int(xdrs, &objp->tsize)) { 564*44928Smckusick return (FALSE); 565*44928Smckusick } 566*44928Smckusick if (!xdr_u_int(xdrs, &objp->bsize)) { 567*44928Smckusick return (FALSE); 568*44928Smckusick } 569*44928Smckusick if (!xdr_u_int(xdrs, &objp->blocks)) { 570*44928Smckusick return (FALSE); 571*44928Smckusick } 572*44928Smckusick if (!xdr_u_int(xdrs, &objp->bfree)) { 573*44928Smckusick return (FALSE); 574*44928Smckusick } 575*44928Smckusick if (!xdr_u_int(xdrs, &objp->bavail)) { 576*44928Smckusick return (FALSE); 577*44928Smckusick } 578*44928Smckusick return (TRUE); 579*44928Smckusick } 580*44928Smckusick 581*44928Smckusick 582*44928Smckusick 583*44928Smckusick 584*44928Smckusick bool_t 585*44928Smckusick xdr_statfsres(xdrs, objp) 586*44928Smckusick XDR *xdrs; 587*44928Smckusick statfsres *objp; 588*44928Smckusick { 589*44928Smckusick if (!xdr_nfsstat(xdrs, &objp->status)) { 590*44928Smckusick return (FALSE); 591*44928Smckusick } 592*44928Smckusick switch (objp->status) { 593*44928Smckusick case NFS_OK: 594*44928Smckusick if (!xdr_statfsokres(xdrs, &objp->statfsres_u.reply)) { 595*44928Smckusick return (FALSE); 596*44928Smckusick } 597*44928Smckusick break; 598*44928Smckusick } 599*44928Smckusick return (TRUE); 600*44928Smckusick } 601