8 nfs3statusstr(Nfs3Status x)
14 return "Nfs3ErrNotOwner";
16 return "Nfs3ErrNoEnt";
18 return "Nfs3ErrNoMem";
24 return "Nfs3ErrAcces";
26 return "Nfs3ErrExist";
30 return "Nfs3ErrNoDev";
32 return "Nfs3ErrNotDir";
34 return "Nfs3ErrIsDir";
36 return "Nfs3ErrInval";
40 return "Nfs3ErrNoSpc";
44 return "Nfs3ErrMLink";
45 case Nfs3ErrNameTooLong:
46 return "Nfs3ErrNameTooLong";
48 return "Nfs3ErrNotEmpty";
50 return "Nfs3ErrDQuot";
52 return "Nfs3ErrStale";
54 return "Nfs3ErrRemote";
55 case Nfs3ErrBadHandle:
56 return "Nfs3ErrBadHandle";
58 return "Nfs3ErrNotSync";
59 case Nfs3ErrBadCookie:
60 return "Nfs3ErrBadCookie";
62 return "Nfs3ErrNotSupp";
64 return "Nfs3ErrTooSmall";
65 case Nfs3ErrServerFault:
66 return "Nfs3ErrServerFault";
68 return "Nfs3ErrBadType";
70 return "Nfs3ErrJukebox";
71 case Nfs3ErrFprintNotFound:
72 return "Nfs3ErrFprintNotFound";
74 return "Nfs3ErrAborted";
84 Nfs3ErrNotOwner, "not owner",
85 Nfs3ErrNoEnt, "directory entry not found",
86 Nfs3ErrIo, "i/o error",
87 Nfs3ErrNxio, "no such device",
88 Nfs3ErrNoMem, "out of memory",
89 Nfs3ErrAcces, "access denied",
90 Nfs3ErrExist, "file or directory exists",
91 Nfs3ErrXDev, "cross-device operation",
92 Nfs3ErrNoDev, "no such device",
93 Nfs3ErrNotDir, "not a directory",
94 Nfs3ErrIsDir, "is a directory",
95 Nfs3ErrInval, "invalid arguments",
96 Nfs3ErrFbig, "file too big",
97 Nfs3ErrNoSpc, "no space left on device",
98 Nfs3ErrRoFs, "read-only file system",
99 Nfs3ErrMLink, "too many links",
100 Nfs3ErrNameTooLong, "name too long",
101 Nfs3ErrNotEmpty, "directory not empty",
102 Nfs3ErrDQuot, "dquot",
103 Nfs3ErrStale, "stale handle",
104 Nfs3ErrRemote, "remote error",
105 Nfs3ErrBadHandle, "bad handle",
106 Nfs3ErrNotSync, "out of sync with server",
107 Nfs3ErrBadCookie, "bad cookie",
108 Nfs3ErrNotSupp, "not supported",
109 Nfs3ErrTooSmall, "too small",
110 Nfs3ErrServerFault, "server fault",
111 Nfs3ErrBadType, "bad type",
112 Nfs3ErrJukebox, "jukebox -- try again later",
113 Nfs3ErrFprintNotFound, "fprint not found",
114 Nfs3ErrAborted, "aborted",
118 nfs3errstr(Nfs3Status status)
122 for(i=0; i<nelem(etab); i++){
123 if(etab[i].status == status){
124 werrstr(etab[i].msg);
128 werrstr("unknown nfs3 error %d", (int)status);
132 nfs3filetypestr(Nfs3FileType x)
136 return "Nfs3FileReg";
138 return "Nfs3FileDir";
140 return "Nfs3FileBlock";
142 return "Nfs3FileChar";
143 case Nfs3FileSymlink:
144 return "Nfs3FileSymlink";
146 return "Nfs3FileSocket";
148 return "Nfs3FileFifo";
155 nfs3handleprint(Fmt *fmt, Nfs3Handle *x)
157 fmtprint(fmt, "%s\n", "Nfs3Handle");
158 fmtprint(fmt, "\t%s=", "handle");
160 fmtprint(fmt, "%.*H... (%d)", 64, x->h, x->len);
162 fmtprint(fmt, "%.*H", x->len, x->h);
166 nfs3handlesize(Nfs3Handle *x)
170 a = 0 + sunvaropaquesize(x->len);
174 nfs3handlepack(uchar *a, uchar *ea, uchar **pa, Nfs3Handle *x)
176 if(x->len > Nfs3MaxHandleSize || sunuint32pack(a, ea, &a, &x->len) < 0
177 || sunfixedopaquepack(a, ea, &a, x->h, x->len) < 0)
186 nfs3handleunpack(uchar *a, uchar *ea, uchar **pa, Nfs3Handle *x)
191 if(sunuint32unpack(a, ea, &a, &n) < 0 || n > Nfs3MaxHandleSize)
197 memmove(x->h, ha, n);
206 nfs3timeprint(Fmt *fmt, Nfs3Time *x)
208 fmtprint(fmt, "%s\n", "Nfs3Time");
209 fmtprint(fmt, "\t%s=", "sec");
210 fmtprint(fmt, "%ud", x->sec);
212 fmtprint(fmt, "\t%s=", "nsec");
213 fmtprint(fmt, "%ud", x->nsec);
217 nfs3timesize(Nfs3Time *x)
225 nfs3timepack(uchar *a, uchar *ea, uchar **pa, Nfs3Time *x)
227 if(sunuint32pack(a, ea, &a, &x->sec) < 0) goto Err;
228 if(sunuint32pack(a, ea, &a, &x->nsec) < 0) goto Err;
236 nfs3timeunpack(uchar *a, uchar *ea, uchar **pa, Nfs3Time *x)
238 if(sunuint32unpack(a, ea, &a, &x->sec) < 0) goto Err;
239 if(sunuint32unpack(a, ea, &a, &x->nsec) < 0) goto Err;
247 nfs3attrprint(Fmt *fmt, Nfs3Attr *x)
249 fmtprint(fmt, "%s\n", "Nfs3Attr");
250 fmtprint(fmt, "\t%s=", "type");
251 fmtprint(fmt, "%s", nfs3filetypestr(x->type));
253 fmtprint(fmt, "\t%s=", "mode");
254 fmtprint(fmt, "%ud", x->mode);
256 fmtprint(fmt, "\t%s=", "nlink");
257 fmtprint(fmt, "%ud", x->nlink);
259 fmtprint(fmt, "\t%s=", "uid");
260 fmtprint(fmt, "%ud", x->uid);
262 fmtprint(fmt, "\t%s=", "gid");
263 fmtprint(fmt, "%ud", x->gid);
265 fmtprint(fmt, "\t%s=", "size");
266 fmtprint(fmt, "%llud", x->size);
268 fmtprint(fmt, "\t%s=", "used");
269 fmtprint(fmt, "%llud", x->used);
271 fmtprint(fmt, "\t%s=", "major");
272 fmtprint(fmt, "%ud", x->major);
274 fmtprint(fmt, "\t%s=", "minor");
275 fmtprint(fmt, "%ud", x->minor);
277 fmtprint(fmt, "\t%s=", "fsid");
278 fmtprint(fmt, "%llud", x->fsid);
280 fmtprint(fmt, "\t%s=", "fileid");
281 fmtprint(fmt, "%llud", x->fileid);
283 fmtprint(fmt, "\t%s=", "atime");
284 nfs3timeprint(fmt, &x->atime);
286 fmtprint(fmt, "\t%s=", "mtime");
287 nfs3timeprint(fmt, &x->mtime);
289 fmtprint(fmt, "\t%s=", "ctime");
290 nfs3timeprint(fmt, &x->ctime);
294 nfs3attrsize(Nfs3Attr *x)
298 a = 0 + 4 + 4 + 4 + 4 + 4 + 8 + 8 + 4 + 4 + 8 + 8 + nfs3timesize(&x->atime) + nfs3timesize(&x->mtime) + nfs3timesize(&x->ctime);
302 nfs3attrpack(uchar *a, uchar *ea, uchar **pa, Nfs3Attr *x)
306 if(i=x->type, sunenumpack(a, ea, &a, &i) < 0) goto Err;
307 if(sunuint32pack(a, ea, &a, &x->mode) < 0) goto Err;
308 if(sunuint32pack(a, ea, &a, &x->nlink) < 0) goto Err;
309 if(sunuint32pack(a, ea, &a, &x->uid) < 0) goto Err;
310 if(sunuint32pack(a, ea, &a, &x->gid) < 0) goto Err;
311 if(sunuint64pack(a, ea, &a, &x->size) < 0) goto Err;
312 if(sunuint64pack(a, ea, &a, &x->used) < 0) goto Err;
313 if(sunuint32pack(a, ea, &a, &x->major) < 0) goto Err;
314 if(sunuint32pack(a, ea, &a, &x->minor) < 0) goto Err;
315 if(sunuint64pack(a, ea, &a, &x->fsid) < 0) goto Err;
316 if(sunuint64pack(a, ea, &a, &x->fileid) < 0) goto Err;
317 if(nfs3timepack(a, ea, &a, &x->atime) < 0) goto Err;
318 if(nfs3timepack(a, ea, &a, &x->mtime) < 0) goto Err;
319 if(nfs3timepack(a, ea, &a, &x->ctime) < 0) goto Err;
327 nfs3attrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3Attr *x)
330 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->type = i;
331 if(sunuint32unpack(a, ea, &a, &x->mode) < 0) goto Err;
332 if(sunuint32unpack(a, ea, &a, &x->nlink) < 0) goto Err;
333 if(sunuint32unpack(a, ea, &a, &x->uid) < 0) goto Err;
334 if(sunuint32unpack(a, ea, &a, &x->gid) < 0) goto Err;
335 if(sunuint64unpack(a, ea, &a, &x->size) < 0) goto Err;
336 if(sunuint64unpack(a, ea, &a, &x->used) < 0) goto Err;
337 if(sunuint32unpack(a, ea, &a, &x->major) < 0) goto Err;
338 if(sunuint32unpack(a, ea, &a, &x->minor) < 0) goto Err;
339 if(sunuint64unpack(a, ea, &a, &x->fsid) < 0) goto Err;
340 if(sunuint64unpack(a, ea, &a, &x->fileid) < 0) goto Err;
341 if(nfs3timeunpack(a, ea, &a, &x->atime) < 0) goto Err;
342 if(nfs3timeunpack(a, ea, &a, &x->mtime) < 0) goto Err;
343 if(nfs3timeunpack(a, ea, &a, &x->ctime) < 0) goto Err;
351 nfs3wccattrprint(Fmt *fmt, Nfs3WccAttr *x)
353 fmtprint(fmt, "%s\n", "Nfs3WccAttr");
354 fmtprint(fmt, "\t%s=", "size");
355 fmtprint(fmt, "%llud", x->size);
357 fmtprint(fmt, "\t%s=", "mtime");
358 nfs3timeprint(fmt, &x->mtime);
360 fmtprint(fmt, "\t%s=", "ctime");
361 nfs3timeprint(fmt, &x->ctime);
365 nfs3wccattrsize(Nfs3WccAttr *x)
369 a = 0 + 8 + nfs3timesize(&x->mtime) + nfs3timesize(&x->ctime);
373 nfs3wccattrpack(uchar *a, uchar *ea, uchar **pa, Nfs3WccAttr *x)
375 if(sunuint64pack(a, ea, &a, &x->size) < 0) goto Err;
376 if(nfs3timepack(a, ea, &a, &x->mtime) < 0) goto Err;
377 if(nfs3timepack(a, ea, &a, &x->ctime) < 0) goto Err;
385 nfs3wccattrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3WccAttr *x)
387 if(sunuint64unpack(a, ea, &a, &x->size) < 0) goto Err;
388 if(nfs3timeunpack(a, ea, &a, &x->mtime) < 0) goto Err;
389 if(nfs3timeunpack(a, ea, &a, &x->ctime) < 0) goto Err;
397 nfs3wccprint(Fmt *fmt, Nfs3Wcc *x)
399 fmtprint(fmt, "%s\n", "Nfs3Wcc");
400 fmtprint(fmt, "\t%s=", "haveWccAttr");
401 fmtprint(fmt, "%d", x->haveWccAttr);
403 switch(x->haveWccAttr){
405 fmtprint(fmt, "\t%s=", "wccAttr");
406 nfs3wccattrprint(fmt, &x->wccAttr);
410 fmtprint(fmt, "\t%s=", "haveAttr");
411 fmtprint(fmt, "%d", x->haveAttr);
415 fmtprint(fmt, "\t%s=", "attr");
416 nfs3attrprint(fmt, &x->attr);
422 nfs3wccsize(Nfs3Wcc *x)
427 switch(x->haveWccAttr){
429 a = a + nfs3wccattrsize(&x->wccAttr);
435 a = a + nfs3attrsize(&x->attr);
441 nfs3wccpack(uchar *a, uchar *ea, uchar **pa, Nfs3Wcc *x)
443 if(sunuint1pack(a, ea, &a, &x->haveWccAttr) < 0) goto Err;
444 switch(x->haveWccAttr){
446 if(nfs3wccattrpack(a, ea, &a, &x->wccAttr) < 0) goto Err;
449 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
452 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
462 nfs3wccunpack(uchar *a, uchar *ea, uchar **pa, Nfs3Wcc *x)
464 if(sunuint1unpack(a, ea, &a, &x->haveWccAttr) < 0) goto Err;
465 switch(x->haveWccAttr){
467 if(nfs3wccattrunpack(a, ea, &a, &x->wccAttr) < 0) goto Err;
470 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
473 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
483 nfs3settimestr(Nfs3SetTime x)
486 case Nfs3SetTimeDont:
487 return "Nfs3SetTimeDont";
488 case Nfs3SetTimeServer:
489 return "Nfs3SetTimeServer";
490 case Nfs3SetTimeClient:
491 return "Nfs3SetTimeClient";
498 nfs3setattrprint(Fmt *fmt, Nfs3SetAttr *x)
500 fmtprint(fmt, "%s\n", "Nfs3SetAttr");
501 fmtprint(fmt, "\t%s=", "setMode");
502 fmtprint(fmt, "%d", x->setMode);
506 fmtprint(fmt, "\t%s=", "mode");
507 fmtprint(fmt, "%ud", x->mode);
511 fmtprint(fmt, "\t%s=", "setUid");
512 fmtprint(fmt, "%d", x->setUid);
516 fmtprint(fmt, "\t%s=", "uid");
517 fmtprint(fmt, "%ud", x->uid);
521 fmtprint(fmt, "\t%s=", "setGid");
522 fmtprint(fmt, "%d", x->setGid);
526 fmtprint(fmt, "\t%s=", "gid");
527 fmtprint(fmt, "%ud", x->gid);
531 fmtprint(fmt, "\t%s=", "setSize");
532 fmtprint(fmt, "%d", x->setSize);
536 fmtprint(fmt, "\t%s=", "size");
537 fmtprint(fmt, "%llud", x->size);
541 fmtprint(fmt, "\t%s=", "setAtime");
542 fmtprint(fmt, "%s", nfs3settimestr(x->setAtime));
545 case Nfs3SetTimeClient:
546 fmtprint(fmt, "\t%s=", "atime");
547 nfs3timeprint(fmt, &x->atime);
551 fmtprint(fmt, "\t%s=", "setMtime");
552 fmtprint(fmt, "%s", nfs3settimestr(x->setMtime));
555 case Nfs3SetTimeClient:
556 fmtprint(fmt, "\t%s=", "mtime");
557 nfs3timeprint(fmt, &x->mtime);
563 nfs3setattrsize(Nfs3SetAttr *x)
593 case Nfs3SetTimeClient:
594 a = a + nfs3timesize(&x->atime);
599 case Nfs3SetTimeClient:
600 a = a + nfs3timesize(&x->mtime);
606 nfs3setattrpack(uchar *a, uchar *ea, uchar **pa, Nfs3SetAttr *x)
610 if(sunuint1pack(a, ea, &a, &x->setMode) < 0) goto Err;
613 if(sunuint32pack(a, ea, &a, &x->mode) < 0) goto Err;
616 if(sunuint1pack(a, ea, &a, &x->setUid) < 0) goto Err;
619 if(sunuint32pack(a, ea, &a, &x->uid) < 0) goto Err;
622 if(sunuint1pack(a, ea, &a, &x->setGid) < 0) goto Err;
625 if(sunuint32pack(a, ea, &a, &x->gid) < 0) goto Err;
628 if(sunuint1pack(a, ea, &a, &x->setSize) < 0) goto Err;
631 if(sunuint64pack(a, ea, &a, &x->size) < 0) goto Err;
634 if(i=x->setAtime, sunenumpack(a, ea, &a, &i) < 0) goto Err;
636 case Nfs3SetTimeClient:
637 if(nfs3timepack(a, ea, &a, &x->atime) < 0) goto Err;
640 if(i=x->setMtime, sunenumpack(a, ea, &a, &i) < 0) goto Err;
642 case Nfs3SetTimeClient:
643 if(nfs3timepack(a, ea, &a, &x->mtime) < 0) goto Err;
653 nfs3setattrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3SetAttr *x)
657 if(sunuint1unpack(a, ea, &a, &x->setMode) < 0) goto Err;
660 if(sunuint32unpack(a, ea, &a, &x->mode) < 0) goto Err;
663 if(sunuint1unpack(a, ea, &a, &x->setUid) < 0) goto Err;
666 if(sunuint32unpack(a, ea, &a, &x->uid) < 0) goto Err;
669 if(sunuint1unpack(a, ea, &a, &x->setGid) < 0) goto Err;
672 if(sunuint32unpack(a, ea, &a, &x->gid) < 0) goto Err;
675 if(sunuint1unpack(a, ea, &a, &x->setSize) < 0) goto Err;
678 if(sunuint64unpack(a, ea, &a, &x->size) < 0) goto Err;
681 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->setAtime = i;
683 case Nfs3SetTimeClient:
684 if(nfs3timeunpack(a, ea, &a, &x->atime) < 0) goto Err;
687 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->setMtime = i;
689 case Nfs3SetTimeClient:
690 if(nfs3timeunpack(a, ea, &a, &x->mtime) < 0) goto Err;
700 nfs3tnullprint(Fmt *fmt, Nfs3TNull *x)
703 fmtprint(fmt, "%s\n", "Nfs3TNull");
706 nfs3tnullsize(Nfs3TNull *x)
714 nfs3tnullpack(uchar *a, uchar *ea, uchar **pa, Nfs3TNull *x)
722 nfs3tnullunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TNull *x)
730 nfs3rnullprint(Fmt *fmt, Nfs3RNull *x)
733 fmtprint(fmt, "%s\n", "Nfs3RNull");
736 nfs3rnullsize(Nfs3RNull *x)
744 nfs3rnullpack(uchar *a, uchar *ea, uchar **pa, Nfs3RNull *x)
752 nfs3rnullunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RNull *x)
760 nfs3tgetattrprint(Fmt *fmt, Nfs3TGetattr *x)
762 fmtprint(fmt, "%s\n", "Nfs3TGetattr");
763 fmtprint(fmt, "\t%s=", "handle");
764 nfs3handleprint(fmt, &x->handle);
768 nfs3tgetattrsize(Nfs3TGetattr *x)
772 a = 0 + nfs3handlesize(&x->handle);
776 nfs3tgetattrpack(uchar *a, uchar *ea, uchar **pa, Nfs3TGetattr *x)
778 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
786 nfs3tgetattrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TGetattr *x)
788 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
796 nfs3rgetattrprint(Fmt *fmt, Nfs3RGetattr *x)
798 fmtprint(fmt, "%s\n", "Nfs3RGetattr");
799 fmtprint(fmt, "\t%s=", "status");
800 fmtprint(fmt, "%s", nfs3statusstr(x->status));
804 fmtprint(fmt, "\t%s=", "attr");
805 nfs3attrprint(fmt, &x->attr);
811 nfs3rgetattrsize(Nfs3RGetattr *x)
818 a = a + nfs3attrsize(&x->attr);
824 nfs3rgetattrpack(uchar *a, uchar *ea, uchar **pa, Nfs3RGetattr *x)
828 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
831 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
841 nfs3rgetattrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RGetattr *x)
845 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
848 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
858 nfs3tsetattrprint(Fmt *fmt, Nfs3TSetattr *x)
860 fmtprint(fmt, "%s\n", "Nfs3TSetattr");
861 fmtprint(fmt, "\t%s=", "handle");
862 nfs3handleprint(fmt, &x->handle);
864 fmtprint(fmt, "\t%s=", "attr");
865 nfs3setattrprint(fmt, &x->attr);
867 fmtprint(fmt, "\t%s=", "checkCtime");
868 fmtprint(fmt, "%d", x->checkCtime);
870 switch(x->checkCtime){
872 fmtprint(fmt, "\t%s=", "ctime");
873 nfs3timeprint(fmt, &x->ctime);
879 nfs3tsetattrsize(Nfs3TSetattr *x)
883 a = 0 + nfs3handlesize(&x->handle) + nfs3setattrsize(&x->attr) + 4;
884 switch(x->checkCtime){
886 a = a + nfs3timesize(&x->ctime);
892 nfs3tsetattrpack(uchar *a, uchar *ea, uchar **pa, Nfs3TSetattr *x)
894 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
895 if(nfs3setattrpack(a, ea, &a, &x->attr) < 0) goto Err;
896 if(sunuint1pack(a, ea, &a, &x->checkCtime) < 0) goto Err;
897 switch(x->checkCtime){
899 if(nfs3timepack(a, ea, &a, &x->ctime) < 0) goto Err;
909 nfs3tsetattrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TSetattr *x)
911 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
912 if(nfs3setattrunpack(a, ea, &a, &x->attr) < 0) goto Err;
913 if(sunuint1unpack(a, ea, &a, &x->checkCtime) < 0) goto Err;
914 switch(x->checkCtime){
916 if(nfs3timeunpack(a, ea, &a, &x->ctime) < 0) goto Err;
926 nfs3rsetattrprint(Fmt *fmt, Nfs3RSetattr *x)
928 fmtprint(fmt, "%s\n", "Nfs3RSetattr");
929 fmtprint(fmt, "\t%s=", "status");
930 fmtprint(fmt, "%s", nfs3statusstr(x->status));
932 fmtprint(fmt, "\t%s=", "wcc");
933 nfs3wccprint(fmt, &x->wcc);
937 nfs3rsetattrsize(Nfs3RSetattr *x)
941 a = 0 + 4 + nfs3wccsize(&x->wcc);
945 nfs3rsetattrpack(uchar *a, uchar *ea, uchar **pa, Nfs3RSetattr *x)
949 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
950 if(nfs3wccpack(a, ea, &a, &x->wcc) < 0) goto Err;
958 nfs3rsetattrunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RSetattr *x)
962 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
963 if(nfs3wccunpack(a, ea, &a, &x->wcc) < 0) goto Err;
971 nfs3tlookupprint(Fmt *fmt, Nfs3TLookup *x)
973 fmtprint(fmt, "%s\n", "Nfs3TLookup");
974 fmtprint(fmt, "\t%s=", "handle");
975 nfs3handleprint(fmt, &x->handle);
977 fmtprint(fmt, "\t%s=", "name");
978 fmtprint(fmt, "\"%s\"", x->name);
982 nfs3tlookupsize(Nfs3TLookup *x)
986 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name);
990 nfs3tlookuppack(uchar *a, uchar *ea, uchar **pa, Nfs3TLookup *x)
992 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
993 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
1001 nfs3tlookupunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TLookup *x)
1003 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1004 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
1012 nfs3rlookupprint(Fmt *fmt, Nfs3RLookup *x)
1014 fmtprint(fmt, "%s\n", "Nfs3RLookup");
1015 fmtprint(fmt, "\t%s=", "status");
1016 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1017 fmtprint(fmt, "\n");
1020 fmtprint(fmt, "\t%s=", "handle");
1021 nfs3handleprint(fmt, &x->handle);
1022 fmtprint(fmt, "\n");
1023 fmtprint(fmt, "\t%s=", "haveAttr");
1024 fmtprint(fmt, "%d", x->haveAttr);
1025 fmtprint(fmt, "\n");
1026 switch(x->haveAttr){
1028 fmtprint(fmt, "\t%s=", "attr");
1029 nfs3attrprint(fmt, &x->attr);
1030 fmtprint(fmt, "\n");
1035 fmtprint(fmt, "\t%s=", "haveDirAttr");
1036 fmtprint(fmt, "%d", x->haveDirAttr);
1037 fmtprint(fmt, "\n");
1038 switch(x->haveDirAttr){
1040 fmtprint(fmt, "\t%s=", "dirAttr");
1041 nfs3attrprint(fmt, &x->dirAttr);
1042 fmtprint(fmt, "\n");
1047 nfs3rlookupsize(Nfs3RLookup *x)
1054 a = a + nfs3handlesize(&x->handle) + 4;
1055 switch(x->haveAttr){
1057 a = a + nfs3attrsize(&x->attr);
1063 switch(x->haveDirAttr){
1065 a = a + nfs3attrsize(&x->dirAttr);
1071 nfs3rlookuppack(uchar *a, uchar *ea, uchar **pa, Nfs3RLookup *x)
1075 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1078 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1079 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1080 switch(x->haveAttr){
1082 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
1087 if(sunuint1pack(a, ea, &a, &x->haveDirAttr) < 0) goto Err;
1088 switch(x->haveDirAttr){
1090 if(nfs3attrpack(a, ea, &a, &x->dirAttr) < 0) goto Err;
1100 nfs3rlookupunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RLookup *x)
1104 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
1107 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1108 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1109 switch(x->haveAttr){
1111 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1116 if(sunuint1unpack(a, ea, &a, &x->haveDirAttr) < 0) goto Err;
1117 switch(x->haveDirAttr){
1119 if(nfs3attrunpack(a, ea, &a, &x->dirAttr) < 0) goto Err;
1129 nfs3taccessprint(Fmt *fmt, Nfs3TAccess *x)
1131 fmtprint(fmt, "%s\n", "Nfs3TAccess");
1132 fmtprint(fmt, "\t%s=", "handle");
1133 nfs3handleprint(fmt, &x->handle);
1134 fmtprint(fmt, "\n");
1135 fmtprint(fmt, "\t%s=", "access");
1136 fmtprint(fmt, "%ud", x->access);
1137 fmtprint(fmt, "\n");
1140 nfs3taccesssize(Nfs3TAccess *x)
1144 a = 0 + nfs3handlesize(&x->handle) + 4;
1148 nfs3taccesspack(uchar *a, uchar *ea, uchar **pa, Nfs3TAccess *x)
1150 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1151 if(sunuint32pack(a, ea, &a, &x->access) < 0) goto Err;
1159 nfs3taccessunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TAccess *x)
1161 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1162 if(sunuint32unpack(a, ea, &a, &x->access) < 0) goto Err;
1170 nfs3raccessprint(Fmt *fmt, Nfs3RAccess *x)
1172 fmtprint(fmt, "%s\n", "Nfs3RAccess");
1173 fmtprint(fmt, "\t%s=", "status");
1174 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1175 fmtprint(fmt, "\n");
1176 fmtprint(fmt, "\t%s=", "haveAttr");
1177 fmtprint(fmt, "%d", x->haveAttr);
1178 fmtprint(fmt, "\n");
1179 switch(x->haveAttr){
1181 fmtprint(fmt, "\t%s=", "attr");
1182 nfs3attrprint(fmt, &x->attr);
1183 fmtprint(fmt, "\n");
1188 fmtprint(fmt, "\t%s=", "access");
1189 fmtprint(fmt, "%ud", x->access);
1190 fmtprint(fmt, "\n");
1195 nfs3raccesssize(Nfs3RAccess *x)
1200 switch(x->haveAttr){
1202 a = a + nfs3attrsize(&x->attr);
1213 nfs3raccesspack(uchar *a, uchar *ea, uchar **pa, Nfs3RAccess *x)
1217 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1218 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1219 switch(x->haveAttr){
1221 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
1226 if(sunuint32pack(a, ea, &a, &x->access) < 0) goto Err;
1236 nfs3raccessunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RAccess *x)
1240 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
1241 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1242 switch(x->haveAttr){
1244 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1249 if(sunuint32unpack(a, ea, &a, &x->access) < 0) goto Err;
1259 nfs3treadlinkprint(Fmt *fmt, Nfs3TReadlink *x)
1261 fmtprint(fmt, "%s\n", "Nfs3TReadlink");
1262 fmtprint(fmt, "\t%s=", "handle");
1263 nfs3handleprint(fmt, &x->handle);
1264 fmtprint(fmt, "\n");
1267 nfs3treadlinksize(Nfs3TReadlink *x)
1271 a = 0 + nfs3handlesize(&x->handle);
1275 nfs3treadlinkpack(uchar *a, uchar *ea, uchar **pa, Nfs3TReadlink *x)
1277 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1285 nfs3treadlinkunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TReadlink *x)
1287 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1295 nfs3rreadlinkprint(Fmt *fmt, Nfs3RReadlink *x)
1297 fmtprint(fmt, "%s\n", "Nfs3RReadlink");
1298 fmtprint(fmt, "\t%s=", "status");
1299 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1300 fmtprint(fmt, "\n");
1301 fmtprint(fmt, "\t%s=", "haveAttr");
1302 fmtprint(fmt, "%d", x->haveAttr);
1303 fmtprint(fmt, "\n");
1304 switch(x->haveAttr){
1306 fmtprint(fmt, "\t%s=", "attr");
1307 nfs3attrprint(fmt, &x->attr);
1308 fmtprint(fmt, "\n");
1313 fmtprint(fmt, "\t%s=", "data");
1314 fmtprint(fmt, "\"%s\"", x->data);
1315 fmtprint(fmt, "\n");
1320 nfs3rreadlinksize(Nfs3RReadlink *x)
1325 switch(x->haveAttr){
1327 a = a + nfs3attrsize(&x->attr);
1332 a = a + sunstringsize(x->data);
1338 nfs3rreadlinkpack(uchar *a, uchar *ea, uchar **pa, Nfs3RReadlink *x)
1342 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1343 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1344 switch(x->haveAttr){
1346 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
1351 if(sunstringpack(a, ea, &a, &x->data, -1) < 0) goto Err;
1361 nfs3rreadlinkunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RReadlink *x)
1365 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
1366 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1367 switch(x->haveAttr){
1369 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1374 if(sunstringunpack(a, ea, &a, &x->data, -1) < 0) goto Err;
1384 nfs3treadprint(Fmt *fmt, Nfs3TRead *x)
1386 fmtprint(fmt, "%s\n", "Nfs3TRead");
1387 fmtprint(fmt, "\t%s=", "handle");
1388 nfs3handleprint(fmt, &x->handle);
1389 fmtprint(fmt, "\n");
1390 fmtprint(fmt, "\t%s=", "offset");
1391 fmtprint(fmt, "%llud", x->offset);
1392 fmtprint(fmt, "\n");
1393 fmtprint(fmt, "\t%s=", "count");
1394 fmtprint(fmt, "%ud", x->count);
1395 fmtprint(fmt, "\n");
1398 nfs3treadsize(Nfs3TRead *x)
1402 a = 0 + nfs3handlesize(&x->handle) + 8 + 4;
1406 nfs3treadpack(uchar *a, uchar *ea, uchar **pa, Nfs3TRead *x)
1408 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1409 if(sunuint64pack(a, ea, &a, &x->offset) < 0) goto Err;
1410 if(sunuint32pack(a, ea, &a, &x->count) < 0) goto Err;
1418 nfs3treadunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TRead *x)
1420 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1421 if(sunuint64unpack(a, ea, &a, &x->offset) < 0) goto Err;
1422 if(sunuint32unpack(a, ea, &a, &x->count) < 0) goto Err;
1430 nfs3rreadprint(Fmt *fmt, Nfs3RRead *x)
1432 fmtprint(fmt, "%s\n", "Nfs3RRead");
1433 fmtprint(fmt, "\t%s=", "status");
1434 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1435 fmtprint(fmt, "\n");
1436 fmtprint(fmt, "\t%s=", "haveAttr");
1437 fmtprint(fmt, "%d", x->haveAttr);
1438 fmtprint(fmt, "\n");
1439 switch(x->haveAttr){
1441 fmtprint(fmt, "\t%s=", "attr");
1442 nfs3attrprint(fmt, &x->attr);
1443 fmtprint(fmt, "\n");
1448 fmtprint(fmt, "\t%s=", "count");
1449 fmtprint(fmt, "%ud", x->count);
1450 fmtprint(fmt, "\n");
1451 fmtprint(fmt, "\t%s=", "eof");
1452 fmtprint(fmt, "%d", x->eof);
1453 fmtprint(fmt, "\n");
1454 fmtprint(fmt, "\t%s=", "data");
1456 fmtprint(fmt, "%.*H", x->ndata, x->data);
1458 fmtprint(fmt, "%.32H...", x->data);
1459 fmtprint(fmt, "\n");
1464 nfs3rreadsize(Nfs3RRead *x)
1469 switch(x->haveAttr){
1471 a = a + nfs3attrsize(&x->attr);
1476 a = a + 4 + 4 + sunvaropaquesize(x->ndata);
1482 nfs3rreadpack(uchar *a, uchar *ea, uchar **pa, Nfs3RRead *x)
1486 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1487 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1488 switch(x->haveAttr){
1490 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
1495 if(sunuint32pack(a, ea, &a, &x->count) < 0) goto Err;
1496 if(sunuint1pack(a, ea, &a, &x->eof) < 0) goto Err;
1497 if(sunvaropaquepack(a, ea, &a, &x->data, &x->ndata, x->count) < 0) goto Err;
1507 nfs3rreadunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RRead *x)
1511 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
1512 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1513 switch(x->haveAttr){
1515 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1520 if(sunuint32unpack(a, ea, &a, &x->count) < 0) goto Err;
1521 if(sunuint1unpack(a, ea, &a, &x->eof) < 0) goto Err;
1522 if(sunvaropaqueunpack(a, ea, &a, &x->data, &x->ndata, x->count) < 0) goto Err;
1532 nfs3syncstr(Nfs3Sync x)
1536 return "Nfs3SyncNone";
1538 return "Nfs3SyncData";
1540 return "Nfs3SyncFile";
1547 nfs3twriteprint(Fmt *fmt, Nfs3TWrite *x)
1549 fmtprint(fmt, "%s\n", "Nfs3TWrite");
1550 fmtprint(fmt, "\t%s=", "file");
1551 nfs3handleprint(fmt, &x->handle);
1552 fmtprint(fmt, "\n");
1553 fmtprint(fmt, "\t%s=", "offset");
1554 fmtprint(fmt, "%llud", x->offset);
1555 fmtprint(fmt, "\n");
1556 fmtprint(fmt, "\t%s=", "count");
1557 fmtprint(fmt, "%ud", x->count);
1558 fmtprint(fmt, "\n");
1559 fmtprint(fmt, "\t%s=", "stable");
1560 fmtprint(fmt, "%s", nfs3syncstr(x->stable));
1561 fmtprint(fmt, "\n");
1562 fmtprint(fmt, "\t%s=", "data");
1564 fmtprint(fmt, "%.32H... (%d)", x->data, x->ndata);
1566 fmtprint(fmt, "%.*H", x->ndata, x->data);
1567 fmtprint(fmt, "\n");
1570 nfs3twritesize(Nfs3TWrite *x)
1574 a = 0 + nfs3handlesize(&x->handle) + 8 + 4 + 4 + sunvaropaquesize(x->ndata);
1578 nfs3twritepack(uchar *a, uchar *ea, uchar **pa, Nfs3TWrite *x)
1582 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1583 if(sunuint64pack(a, ea, &a, &x->offset) < 0) goto Err;
1584 if(sunuint32pack(a, ea, &a, &x->count) < 0) goto Err;
1585 if(i=x->stable, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1586 if(sunvaropaquepack(a, ea, &a, &x->data, &x->ndata, x->count) < 0) goto Err;
1594 nfs3twriteunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TWrite *x)
1598 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1599 if(sunuint64unpack(a, ea, &a, &x->offset) < 0) goto Err;
1600 if(sunuint32unpack(a, ea, &a, &x->count) < 0) goto Err;
1601 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->stable = i;
1602 if(sunvaropaqueunpack(a, ea, &a, &x->data, &x->ndata, x->count) < 0) goto Err;
1610 nfs3rwriteprint(Fmt *fmt, Nfs3RWrite *x)
1612 fmtprint(fmt, "%s\n", "Nfs3RWrite");
1613 fmtprint(fmt, "\t%s=", "status");
1614 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1615 fmtprint(fmt, "\n");
1616 fmtprint(fmt, "\t%s=", "wcc");
1617 nfs3wccprint(fmt, &x->wcc);
1618 fmtprint(fmt, "\n");
1621 fmtprint(fmt, "\t%s=", "count");
1622 fmtprint(fmt, "%ud", x->count);
1623 fmtprint(fmt, "\n");
1624 fmtprint(fmt, "\t%s=", "committed");
1625 fmtprint(fmt, "%s", nfs3syncstr(x->committed));
1626 fmtprint(fmt, "\n");
1627 fmtprint(fmt, "\t%s=", "verf");
1628 fmtprint(fmt, "%.*H", Nfs3WriteVerfSize, x->verf);
1629 fmtprint(fmt, "\n");
1634 nfs3rwritesize(Nfs3RWrite *x)
1638 a = 0 + 4 + nfs3wccsize(&x->wcc);
1641 a = a + 4 + 4 + Nfs3WriteVerfSize;
1647 nfs3rwritepack(uchar *a, uchar *ea, uchar **pa, Nfs3RWrite *x)
1651 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1652 if(nfs3wccpack(a, ea, &a, &x->wcc) < 0) goto Err;
1655 if(sunuint32pack(a, ea, &a, &x->count) < 0) goto Err;
1656 if(i=x->committed, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1657 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3WriteVerfSize) < 0) goto Err;
1667 nfs3rwriteunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RWrite *x)
1671 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
1672 if(nfs3wccunpack(a, ea, &a, &x->wcc) < 0) goto Err;
1675 if(sunuint32unpack(a, ea, &a, &x->count) < 0) goto Err;
1676 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->committed = i;
1677 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3WriteVerfSize) < 0) goto Err;
1687 nfs3createstr(Nfs3Create x)
1690 case Nfs3CreateUnchecked:
1691 return "Nfs3CreateUnchecked";
1692 case Nfs3CreateGuarded:
1693 return "Nfs3CreateGuarded";
1694 case Nfs3CreateExclusive:
1695 return "Nfs3CreateExclusive";
1702 nfs3tcreateprint(Fmt *fmt, Nfs3TCreate *x)
1704 fmtprint(fmt, "%s\n", "Nfs3TCreate");
1705 fmtprint(fmt, "\t%s=", "handle");
1706 nfs3handleprint(fmt, &x->handle);
1707 fmtprint(fmt, "\n");
1708 fmtprint(fmt, "\t%s=", "name");
1709 fmtprint(fmt, "\"%s\"", x->name);
1710 fmtprint(fmt, "\n");
1711 fmtprint(fmt, "\t%s=", "mode");
1712 fmtprint(fmt, "%s", nfs3createstr(x->mode));
1713 fmtprint(fmt, "\n");
1715 case Nfs3CreateUnchecked:
1716 case Nfs3CreateGuarded:
1717 fmtprint(fmt, "\t%s=", "attr");
1718 nfs3setattrprint(fmt, &x->attr);
1719 fmtprint(fmt, "\n");
1721 case Nfs3CreateExclusive:
1722 fmtprint(fmt, "\t%s=", "verf");
1723 fmtprint(fmt, "%.*H", Nfs3CreateVerfSize, x->verf);
1724 fmtprint(fmt, "\n");
1729 nfs3tcreatesize(Nfs3TCreate *x)
1733 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name) + 4;
1735 case Nfs3CreateUnchecked:
1736 case Nfs3CreateGuarded:
1737 a = a + nfs3setattrsize(&x->attr);
1739 case Nfs3CreateExclusive:
1740 a = a + Nfs3CreateVerfSize;
1746 nfs3tcreatepack(uchar *a, uchar *ea, uchar **pa, Nfs3TCreate *x)
1750 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1751 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
1752 if(i=x->mode, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1754 case Nfs3CreateUnchecked:
1755 case Nfs3CreateGuarded:
1756 if(nfs3setattrpack(a, ea, &a, &x->attr) < 0) goto Err;
1758 case Nfs3CreateExclusive:
1759 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3CreateVerfSize) < 0) goto Err;
1769 nfs3tcreateunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TCreate *x)
1773 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1774 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
1775 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->mode = i;
1777 case Nfs3CreateUnchecked:
1778 case Nfs3CreateGuarded:
1779 if(nfs3setattrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1781 case Nfs3CreateExclusive:
1782 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3CreateVerfSize) < 0) goto Err;
1792 nfs3rcreateprint(Fmt *fmt, Nfs3RCreate *x)
1794 fmtprint(fmt, "%s\n", "Nfs3RCreate");
1795 fmtprint(fmt, "\t%s=", "status");
1796 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1797 fmtprint(fmt, "\n");
1800 fmtprint(fmt, "\t%s=", "haveHandle");
1801 fmtprint(fmt, "%d", x->haveHandle);
1802 fmtprint(fmt, "\n");
1803 switch(x->haveHandle){
1805 fmtprint(fmt, "\t%s=", "handle");
1806 nfs3handleprint(fmt, &x->handle);
1807 fmtprint(fmt, "\n");
1810 fmtprint(fmt, "\t%s=", "haveAttr");
1811 fmtprint(fmt, "%d", x->haveAttr);
1812 fmtprint(fmt, "\n");
1813 switch(x->haveAttr){
1815 fmtprint(fmt, "\t%s=", "attr");
1816 nfs3attrprint(fmt, &x->attr);
1817 fmtprint(fmt, "\n");
1822 fmtprint(fmt, "\t%s=", "dirWcc");
1823 nfs3wccprint(fmt, &x->dirWcc);
1824 fmtprint(fmt, "\n");
1827 nfs3rcreatesize(Nfs3RCreate *x)
1835 switch(x->haveHandle){
1837 a = a + nfs3handlesize(&x->handle);
1841 switch(x->haveAttr){
1843 a = a + nfs3attrsize(&x->attr);
1848 a = a + nfs3wccsize(&x->dirWcc);
1852 nfs3rcreatepack(uchar *a, uchar *ea, uchar **pa, Nfs3RCreate *x)
1856 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
1859 if(sunuint1pack(a, ea, &a, &x->haveHandle) < 0) goto Err;
1860 switch(x->haveHandle){
1862 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1865 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1866 switch(x->haveAttr){
1868 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
1873 if(nfs3wccpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
1881 nfs3rcreateunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RCreate *x)
1885 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
1888 if(sunuint1unpack(a, ea, &a, &x->haveHandle) < 0) goto Err;
1889 switch(x->haveHandle){
1891 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1894 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
1895 switch(x->haveAttr){
1897 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1902 if(nfs3wccunpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
1910 nfs3tmkdirprint(Fmt *fmt, Nfs3TMkdir *x)
1912 fmtprint(fmt, "%s\n", "Nfs3TMkdir");
1913 fmtprint(fmt, "\t%s=", "handle");
1914 nfs3handleprint(fmt, &x->handle);
1915 fmtprint(fmt, "\n");
1916 fmtprint(fmt, "\t%s=", "name");
1917 fmtprint(fmt, "\"%s\"", x->name);
1918 fmtprint(fmt, "\n");
1919 fmtprint(fmt, "\t%s=", "attr");
1920 nfs3setattrprint(fmt, &x->attr);
1921 fmtprint(fmt, "\n");
1924 nfs3tmkdirsize(Nfs3TMkdir *x)
1928 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name) + nfs3setattrsize(&x->attr);
1932 nfs3tmkdirpack(uchar *a, uchar *ea, uchar **pa, Nfs3TMkdir *x)
1934 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
1935 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
1936 if(nfs3setattrpack(a, ea, &a, &x->attr) < 0) goto Err;
1944 nfs3tmkdirunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TMkdir *x)
1946 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
1947 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
1948 if(nfs3setattrunpack(a, ea, &a, &x->attr) < 0) goto Err;
1956 nfs3rmkdirprint(Fmt *fmt, Nfs3RMkdir *x)
1958 fmtprint(fmt, "%s\n", "Nfs3RMkdir");
1959 fmtprint(fmt, "\t%s=", "status");
1960 fmtprint(fmt, "%s", nfs3statusstr(x->status));
1961 fmtprint(fmt, "\n");
1964 fmtprint(fmt, "\t%s=", "haveHandle");
1965 fmtprint(fmt, "%d", x->haveHandle);
1966 fmtprint(fmt, "\n");
1967 switch(x->haveHandle){
1969 fmtprint(fmt, "\t%s=", "handle");
1970 nfs3handleprint(fmt, &x->handle);
1971 fmtprint(fmt, "\n");
1974 fmtprint(fmt, "\t%s=", "haveAttr");
1975 fmtprint(fmt, "%d", x->haveAttr);
1976 fmtprint(fmt, "\n");
1977 switch(x->haveAttr){
1979 fmtprint(fmt, "\t%s=", "attr");
1980 nfs3attrprint(fmt, &x->attr);
1981 fmtprint(fmt, "\n");
1986 fmtprint(fmt, "\t%s=", "dirWcc");
1987 nfs3wccprint(fmt, &x->dirWcc);
1988 fmtprint(fmt, "\n");
1991 nfs3rmkdirsize(Nfs3RMkdir *x)
1999 switch(x->haveHandle){
2001 a = a + nfs3handlesize(&x->handle);
2005 switch(x->haveAttr){
2007 a = a + nfs3attrsize(&x->attr);
2012 a = a + nfs3wccsize(&x->dirWcc);
2016 nfs3rmkdirpack(uchar *a, uchar *ea, uchar **pa, Nfs3RMkdir *x)
2020 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2023 if(sunuint1pack(a, ea, &a, &x->haveHandle) < 0) goto Err;
2024 switch(x->haveHandle){
2026 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2029 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2030 switch(x->haveAttr){
2032 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
2037 if(nfs3wccpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2045 nfs3rmkdirunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RMkdir *x)
2049 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2052 if(sunuint1unpack(a, ea, &a, &x->haveHandle) < 0) goto Err;
2053 switch(x->haveHandle){
2055 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2058 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2059 switch(x->haveAttr){
2061 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2066 if(nfs3wccunpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2074 nfs3tsymlinkprint(Fmt *fmt, Nfs3TSymlink *x)
2076 fmtprint(fmt, "%s\n", "Nfs3TSymlink");
2077 fmtprint(fmt, "\t%s=", "handle");
2078 nfs3handleprint(fmt, &x->handle);
2079 fmtprint(fmt, "\n");
2080 fmtprint(fmt, "\t%s=", "name");
2081 fmtprint(fmt, "\"%s\"", x->name);
2082 fmtprint(fmt, "\n");
2083 fmtprint(fmt, "\t%s=", "attr");
2084 nfs3setattrprint(fmt, &x->attr);
2085 fmtprint(fmt, "\n");
2086 fmtprint(fmt, "\t%s=", "data");
2087 fmtprint(fmt, "\"%s\"", x->data);
2088 fmtprint(fmt, "\n");
2091 nfs3tsymlinksize(Nfs3TSymlink *x)
2095 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name) + nfs3setattrsize(&x->attr) + sunstringsize(x->data);
2099 nfs3tsymlinkpack(uchar *a, uchar *ea, uchar **pa, Nfs3TSymlink *x)
2101 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2102 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2103 if(nfs3setattrpack(a, ea, &a, &x->attr) < 0) goto Err;
2104 if(sunstringpack(a, ea, &a, &x->data, -1) < 0) goto Err;
2112 nfs3tsymlinkunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TSymlink *x)
2114 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2115 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2116 if(nfs3setattrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2117 if(sunstringunpack(a, ea, &a, &x->data, -1) < 0) goto Err;
2125 nfs3rsymlinkprint(Fmt *fmt, Nfs3RSymlink *x)
2127 fmtprint(fmt, "%s\n", "Nfs3RSymlink");
2128 fmtprint(fmt, "\t%s=", "status");
2129 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2130 fmtprint(fmt, "\n");
2133 fmtprint(fmt, "\t%s=", "haveHandle");
2134 fmtprint(fmt, "%d", x->haveHandle);
2135 fmtprint(fmt, "\n");
2136 switch(x->haveHandle){
2138 fmtprint(fmt, "\t%s=", "handle");
2139 nfs3handleprint(fmt, &x->handle);
2140 fmtprint(fmt, "\n");
2143 fmtprint(fmt, "\t%s=", "haveAttr");
2144 fmtprint(fmt, "%d", x->haveAttr);
2145 fmtprint(fmt, "\n");
2146 switch(x->haveAttr){
2148 fmtprint(fmt, "\t%s=", "attr");
2149 nfs3attrprint(fmt, &x->attr);
2150 fmtprint(fmt, "\n");
2155 fmtprint(fmt, "\t%s=", "dirWcc");
2156 nfs3wccprint(fmt, &x->dirWcc);
2157 fmtprint(fmt, "\n");
2160 nfs3rsymlinksize(Nfs3RSymlink *x)
2168 switch(x->haveHandle){
2170 a = a + nfs3handlesize(&x->handle);
2174 switch(x->haveAttr){
2176 a = a + nfs3attrsize(&x->attr);
2181 a = a + nfs3wccsize(&x->dirWcc);
2185 nfs3rsymlinkpack(uchar *a, uchar *ea, uchar **pa, Nfs3RSymlink *x)
2189 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2192 if(sunuint1pack(a, ea, &a, &x->haveHandle) < 0) goto Err;
2193 switch(x->haveHandle){
2195 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2198 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2199 switch(x->haveAttr){
2201 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
2206 if(nfs3wccpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2214 nfs3rsymlinkunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RSymlink *x)
2218 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2221 if(sunuint1unpack(a, ea, &a, &x->haveHandle) < 0) goto Err;
2222 switch(x->haveHandle){
2224 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2227 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2228 switch(x->haveAttr){
2230 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2235 if(nfs3wccunpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2243 nfs3tmknodprint(Fmt *fmt, Nfs3TMknod *x)
2245 fmtprint(fmt, "%s\n", "Nfs3TMknod");
2246 fmtprint(fmt, "\t%s=", "handle");
2247 nfs3handleprint(fmt, &x->handle);
2248 fmtprint(fmt, "\n");
2249 fmtprint(fmt, "\t%s=", "name");
2250 fmtprint(fmt, "\"%s\"", x->name);
2251 fmtprint(fmt, "\n");
2252 fmtprint(fmt, "\t%s=", "type");
2253 fmtprint(fmt, "%s", nfs3filetypestr(x->type));
2254 fmtprint(fmt, "\n");
2258 fmtprint(fmt, "\t%s=", "attr");
2259 nfs3setattrprint(fmt, &x->attr);
2260 fmtprint(fmt, "\n");
2261 fmtprint(fmt, "\t%s=", "major");
2262 fmtprint(fmt, "%ud", x->major);
2263 fmtprint(fmt, "\n");
2264 fmtprint(fmt, "\t%s=", "minor");
2265 fmtprint(fmt, "%ud", x->minor);
2266 fmtprint(fmt, "\n");
2268 case Nfs3FileSocket:
2270 fmtprint(fmt, "\t%s=", "attr");
2271 nfs3setattrprint(fmt, &x->attr);
2272 fmtprint(fmt, "\n");
2277 nfs3tmknodsize(Nfs3TMknod *x)
2281 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name) + 4;
2285 a = a + nfs3setattrsize(&x->attr) + 4 + 4;
2287 case Nfs3FileSocket:
2289 a = a + nfs3setattrsize(&x->attr);
2295 nfs3tmknodpack(uchar *a, uchar *ea, uchar **pa, Nfs3TMknod *x)
2299 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2300 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2301 if(i=x->type, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2305 if(nfs3setattrpack(a, ea, &a, &x->attr) < 0) goto Err;
2306 if(sunuint32pack(a, ea, &a, &x->major) < 0) goto Err;
2307 if(sunuint32pack(a, ea, &a, &x->minor) < 0) goto Err;
2309 case Nfs3FileSocket:
2311 if(nfs3setattrpack(a, ea, &a, &x->attr) < 0) goto Err;
2321 nfs3tmknodunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TMknod *x)
2325 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2326 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2327 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->type = i;
2331 if(nfs3setattrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2332 if(sunuint32unpack(a, ea, &a, &x->major) < 0) goto Err;
2333 if(sunuint32unpack(a, ea, &a, &x->minor) < 0) goto Err;
2335 case Nfs3FileSocket:
2337 if(nfs3setattrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2347 nfs3rmknodprint(Fmt *fmt, Nfs3RMknod *x)
2349 fmtprint(fmt, "%s\n", "Nfs3RMknod");
2350 fmtprint(fmt, "\t%s=", "status");
2351 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2352 fmtprint(fmt, "\n");
2355 fmtprint(fmt, "\t%s=", "haveHandle");
2356 fmtprint(fmt, "%d", x->haveHandle);
2357 fmtprint(fmt, "\n");
2358 switch(x->haveHandle){
2360 fmtprint(fmt, "\t%s=", "handle");
2361 nfs3handleprint(fmt, &x->handle);
2362 fmtprint(fmt, "\n");
2365 fmtprint(fmt, "\t%s=", "haveAttr");
2366 fmtprint(fmt, "%d", x->haveAttr);
2367 fmtprint(fmt, "\n");
2368 switch(x->haveAttr){
2370 fmtprint(fmt, "\t%s=", "attr");
2371 nfs3attrprint(fmt, &x->attr);
2372 fmtprint(fmt, "\n");
2377 fmtprint(fmt, "\t%s=", "dirWcc");
2378 nfs3wccprint(fmt, &x->dirWcc);
2379 fmtprint(fmt, "\n");
2382 nfs3rmknodsize(Nfs3RMknod *x)
2390 switch(x->haveHandle){
2392 a = a + nfs3handlesize(&x->handle);
2396 switch(x->haveAttr){
2398 a = a + nfs3attrsize(&x->attr);
2403 a = a + nfs3wccsize(&x->dirWcc);
2407 nfs3rmknodpack(uchar *a, uchar *ea, uchar **pa, Nfs3RMknod *x)
2411 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2414 if(sunuint1pack(a, ea, &a, &x->haveHandle) < 0) goto Err;
2415 switch(x->haveHandle){
2417 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2420 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2421 switch(x->haveAttr){
2423 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
2428 if(nfs3wccpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2436 nfs3rmknodunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RMknod *x)
2440 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2443 if(sunuint1unpack(a, ea, &a, &x->haveHandle) < 0) goto Err;
2444 switch(x->haveHandle){
2446 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2449 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2450 switch(x->haveAttr){
2452 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2457 if(nfs3wccunpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2465 nfs3tremoveprint(Fmt *fmt, Nfs3TRemove *x)
2467 fmtprint(fmt, "%s\n", "Nfs3TRemove");
2468 fmtprint(fmt, "\t%s=", "handle");
2469 nfs3handleprint(fmt, &x->handle);
2470 fmtprint(fmt, "\n");
2471 fmtprint(fmt, "\t%s=", "name");
2472 fmtprint(fmt, "\"%s\"", x->name);
2473 fmtprint(fmt, "\n");
2476 nfs3tremovesize(Nfs3TRemove *x)
2480 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name);
2484 nfs3tremovepack(uchar *a, uchar *ea, uchar **pa, Nfs3TRemove *x)
2486 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2487 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2495 nfs3tremoveunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TRemove *x)
2497 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2498 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2506 nfs3rremoveprint(Fmt *fmt, Nfs3RRemove *x)
2508 fmtprint(fmt, "%s\n", "Nfs3RRemove");
2509 fmtprint(fmt, "\t%s=", "status");
2510 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2511 fmtprint(fmt, "\n");
2512 fmtprint(fmt, "\t%s=", "wcc");
2513 nfs3wccprint(fmt, &x->wcc);
2514 fmtprint(fmt, "\n");
2517 nfs3rremovesize(Nfs3RRemove *x)
2521 a = 0 + 4 + nfs3wccsize(&x->wcc);
2525 nfs3rremovepack(uchar *a, uchar *ea, uchar **pa, Nfs3RRemove *x)
2529 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2530 if(nfs3wccpack(a, ea, &a, &x->wcc) < 0) goto Err;
2538 nfs3rremoveunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RRemove *x)
2542 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2543 if(nfs3wccunpack(a, ea, &a, &x->wcc) < 0) goto Err;
2551 nfs3trmdirprint(Fmt *fmt, Nfs3TRmdir *x)
2553 fmtprint(fmt, "%s\n", "Nfs3TRmdir");
2554 fmtprint(fmt, "\t%s=", "handle");
2555 nfs3handleprint(fmt, &x->handle);
2556 fmtprint(fmt, "\n");
2557 fmtprint(fmt, "\t%s=", "name");
2558 fmtprint(fmt, "\"%s\"", x->name);
2559 fmtprint(fmt, "\n");
2562 nfs3trmdirsize(Nfs3TRmdir *x)
2566 a = 0 + nfs3handlesize(&x->handle) + sunstringsize(x->name);
2570 nfs3trmdirpack(uchar *a, uchar *ea, uchar **pa, Nfs3TRmdir *x)
2572 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2573 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2581 nfs3trmdirunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TRmdir *x)
2583 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2584 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2592 nfs3rrmdirprint(Fmt *fmt, Nfs3RRmdir *x)
2594 fmtprint(fmt, "%s\n", "Nfs3RRmdir");
2595 fmtprint(fmt, "\t%s=", "status");
2596 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2597 fmtprint(fmt, "\n");
2598 fmtprint(fmt, "\t%s=", "wcc");
2599 nfs3wccprint(fmt, &x->wcc);
2600 fmtprint(fmt, "\n");
2603 nfs3rrmdirsize(Nfs3RRmdir *x)
2607 a = 0 + 4 + nfs3wccsize(&x->wcc);
2611 nfs3rrmdirpack(uchar *a, uchar *ea, uchar **pa, Nfs3RRmdir *x)
2615 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2616 if(nfs3wccpack(a, ea, &a, &x->wcc) < 0) goto Err;
2624 nfs3rrmdirunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RRmdir *x)
2628 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2629 if(nfs3wccunpack(a, ea, &a, &x->wcc) < 0) goto Err;
2637 nfs3trenameprint(Fmt *fmt, Nfs3TRename *x)
2639 fmtprint(fmt, "%s\n", "Nfs3TRename");
2640 fmtprint(fmt, "\t%s=", "from");
2641 fmtprint(fmt, "{\n");
2642 fmtprint(fmt, "\t\t%s=", "handle");
2643 nfs3handleprint(fmt, &x->from.handle);
2644 fmtprint(fmt, "\n");
2645 fmtprint(fmt, "\t\t%s=", "name");
2646 fmtprint(fmt, "\"%s\"", x->from.name);
2647 fmtprint(fmt, "\n");
2648 fmtprint(fmt, "\t}");
2649 fmtprint(fmt, "\n");
2650 fmtprint(fmt, "\t%s=", "to");
2651 fmtprint(fmt, "{\n");
2652 fmtprint(fmt, "\t\t%s=", "handle");
2653 nfs3handleprint(fmt, &x->to.handle);
2654 fmtprint(fmt, "\n");
2655 fmtprint(fmt, "\t\t%s=", "name");
2656 fmtprint(fmt, "\"%s\"", x->to.name);
2657 fmtprint(fmt, "\n");
2658 fmtprint(fmt, "\t}");
2659 fmtprint(fmt, "\n");
2662 nfs3trenamesize(Nfs3TRename *x)
2666 a = 0 + nfs3handlesize(&x->from.handle) + sunstringsize(x->from.name) + nfs3handlesize(&x->to.handle) + sunstringsize(x->to.name);
2670 nfs3trenamepack(uchar *a, uchar *ea, uchar **pa, Nfs3TRename *x)
2672 if(nfs3handlepack(a, ea, &a, &x->from.handle) < 0) goto Err;
2673 if(sunstringpack(a, ea, &a, &x->from.name, -1) < 0) goto Err;
2674 if(nfs3handlepack(a, ea, &a, &x->to.handle) < 0) goto Err;
2675 if(sunstringpack(a, ea, &a, &x->to.name, -1) < 0) goto Err;
2683 nfs3trenameunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TRename *x)
2685 if(nfs3handleunpack(a, ea, &a, &x->from.handle) < 0) goto Err;
2686 if(sunstringunpack(a, ea, &a, &x->from.name, -1) < 0) goto Err;
2687 if(nfs3handleunpack(a, ea, &a, &x->to.handle) < 0) goto Err;
2688 if(sunstringunpack(a, ea, &a, &x->to.name, -1) < 0) goto Err;
2696 nfs3rrenameprint(Fmt *fmt, Nfs3RRename *x)
2698 fmtprint(fmt, "%s\n", "Nfs3RRename");
2699 fmtprint(fmt, "\t%s=", "status");
2700 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2701 fmtprint(fmt, "\n");
2702 fmtprint(fmt, "\t%s=", "fromWcc");
2703 nfs3wccprint(fmt, &x->fromWcc);
2704 fmtprint(fmt, "\n");
2705 fmtprint(fmt, "\t%s=", "toWcc");
2706 nfs3wccprint(fmt, &x->toWcc);
2707 fmtprint(fmt, "\n");
2710 nfs3rrenamesize(Nfs3RRename *x)
2714 a = 0 + 4 + nfs3wccsize(&x->fromWcc) + nfs3wccsize(&x->toWcc);
2718 nfs3rrenamepack(uchar *a, uchar *ea, uchar **pa, Nfs3RRename *x)
2722 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2723 if(nfs3wccpack(a, ea, &a, &x->fromWcc) < 0) goto Err;
2724 if(nfs3wccpack(a, ea, &a, &x->toWcc) < 0) goto Err;
2732 nfs3rrenameunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RRename *x)
2736 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2737 if(nfs3wccunpack(a, ea, &a, &x->fromWcc) < 0) goto Err;
2738 if(nfs3wccunpack(a, ea, &a, &x->toWcc) < 0) goto Err;
2746 nfs3tlinkprint(Fmt *fmt, Nfs3TLink *x)
2748 fmtprint(fmt, "%s\n", "Nfs3TLink");
2749 fmtprint(fmt, "\t%s=", "handle");
2750 nfs3handleprint(fmt, &x->handle);
2751 fmtprint(fmt, "\n");
2752 fmtprint(fmt, "\t%s=", "link");
2753 fmtprint(fmt, "{\n");
2754 fmtprint(fmt, "\t\t%s=", "handle");
2755 nfs3handleprint(fmt, &x->link.handle);
2756 fmtprint(fmt, "\n");
2757 fmtprint(fmt, "\t\t%s=", "name");
2758 fmtprint(fmt, "\"%s\"", x->link.name);
2759 fmtprint(fmt, "\n");
2760 fmtprint(fmt, "\t}");
2761 fmtprint(fmt, "\n");
2764 nfs3tlinksize(Nfs3TLink *x)
2768 a = 0 + nfs3handlesize(&x->handle) + nfs3handlesize(&x->link.handle) + sunstringsize(x->link.name);
2772 nfs3tlinkpack(uchar *a, uchar *ea, uchar **pa, Nfs3TLink *x)
2774 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2775 if(nfs3handlepack(a, ea, &a, &x->link.handle) < 0) goto Err;
2776 if(sunstringpack(a, ea, &a, &x->link.name, -1) < 0) goto Err;
2784 nfs3tlinkunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TLink *x)
2786 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2787 if(nfs3handleunpack(a, ea, &a, &x->link.handle) < 0) goto Err;
2788 if(sunstringunpack(a, ea, &a, &x->link.name, -1) < 0) goto Err;
2796 nfs3rlinkprint(Fmt *fmt, Nfs3RLink *x)
2798 fmtprint(fmt, "%s\n", "Nfs3RLink");
2799 fmtprint(fmt, "\t%s=", "status");
2800 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2801 fmtprint(fmt, "\n");
2802 fmtprint(fmt, "\t%s=", "haveAttr");
2803 fmtprint(fmt, "%d", x->haveAttr);
2804 fmtprint(fmt, "\n");
2805 switch(x->haveAttr){
2807 fmtprint(fmt, "\t%s=", "attr");
2808 nfs3attrprint(fmt, &x->attr);
2809 fmtprint(fmt, "\n");
2812 fmtprint(fmt, "\t%s=", "dirWcc");
2813 nfs3wccprint(fmt, &x->dirWcc);
2814 fmtprint(fmt, "\n");
2817 nfs3rlinksize(Nfs3RLink *x)
2822 switch(x->haveAttr){
2824 a = a + nfs3attrsize(&x->attr);
2827 a = a + nfs3wccsize(&x->dirWcc);
2831 nfs3rlinkpack(uchar *a, uchar *ea, uchar **pa, Nfs3RLink *x)
2835 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
2836 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2837 switch(x->haveAttr){
2839 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
2842 if(nfs3wccpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2850 nfs3rlinkunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RLink *x)
2854 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
2855 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
2856 switch(x->haveAttr){
2858 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
2861 if(nfs3wccunpack(a, ea, &a, &x->dirWcc) < 0) goto Err;
2869 nfs3treaddirprint(Fmt *fmt, Nfs3TReadDir *x)
2871 fmtprint(fmt, "%s\n", "Nfs3TReadDir");
2872 fmtprint(fmt, "\t%s=", "handle");
2873 nfs3handleprint(fmt, &x->handle);
2874 fmtprint(fmt, "\n");
2875 fmtprint(fmt, "\t%s=", "cookie");
2876 fmtprint(fmt, "%llud", x->cookie);
2877 fmtprint(fmt, "\n");
2878 fmtprint(fmt, "\t%s=", "verf");
2879 fmtprint(fmt, "%.*H", Nfs3CookieVerfSize, x->verf);
2880 fmtprint(fmt, "\n");
2881 fmtprint(fmt, "\t%s=", "count");
2882 fmtprint(fmt, "%ud", x->count);
2883 fmtprint(fmt, "\n");
2886 nfs3treaddirsize(Nfs3TReadDir *x)
2890 a = 0 + nfs3handlesize(&x->handle) + 8 + Nfs3CookieVerfSize + 4;
2894 nfs3treaddirpack(uchar *a, uchar *ea, uchar **pa, Nfs3TReadDir *x)
2896 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
2897 if(sunuint64pack(a, ea, &a, &x->cookie) < 0) goto Err;
2898 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
2899 if(sunuint32pack(a, ea, &a, &x->count) < 0) goto Err;
2907 nfs3treaddirunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TReadDir *x)
2909 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
2910 if(sunuint64unpack(a, ea, &a, &x->cookie) < 0) goto Err;
2911 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
2912 if(sunuint32unpack(a, ea, &a, &x->count) < 0) goto Err;
2920 nfs3entryprint(Fmt *fmt, Nfs3Entry *x)
2922 fmtprint(fmt, "%s\n", "Nfs3Entry");
2923 fmtprint(fmt, "\t%s=", "fileid");
2924 fmtprint(fmt, "%llud", x->fileid);
2925 fmtprint(fmt, "\n");
2926 fmtprint(fmt, "\t%s=", "name");
2927 fmtprint(fmt, "\"%s\"", x->name);
2928 fmtprint(fmt, "\n");
2929 fmtprint(fmt, "\t%s=", "cookie");
2930 fmtprint(fmt, "%llud", x->cookie);
2931 fmtprint(fmt, "\n");
2934 nfs3entrysize(Nfs3Entry *x)
2938 a = 0 + 4 + 8 + sunstringsize(x->name) + 8;
2942 sunstringvpack(uchar *a, uchar *ea, uchar **pa, char **s, u32int n)
2944 return sunvaropaquepack(a, ea, pa, (uchar**)(void*)s, &n, -1);
2947 nfs3entrypack(uchar *a, uchar *ea, uchar **pa, Nfs3Entry *x)
2952 if(sunuint1pack(a, ea, &a, &one) < 0) goto Err;
2953 if(sunuint64pack(a, ea, &a, &x->fileid) < 0) goto Err;
2954 if(sunstringvpack(a, ea, &a, &x->name, x->namelen) < 0) goto Err;
2955 if(sunuint64pack(a, ea, &a, &x->cookie) < 0) goto Err;
2963 nfs3entryunpack(uchar *a, uchar *ea, uchar **pa, Nfs3Entry *x)
2967 memset(x, 0, sizeof *x);
2968 if(sunuint1unpack(a, ea, &a, &one) < 0 || one != 1) goto Err;
2969 if(sunuint64unpack(a, ea, &a, &x->fileid) < 0) goto Err;
2970 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
2971 x->namelen = strlen(x->name);
2972 if(sunuint64unpack(a, ea, &a, &x->cookie) < 0) goto Err;
2980 nfs3rreaddirprint(Fmt *fmt, Nfs3RReadDir *x)
2982 fmtprint(fmt, "%s\n", "Nfs3RReadDir");
2983 fmtprint(fmt, "\t%s=", "status");
2984 fmtprint(fmt, "%s", nfs3statusstr(x->status));
2985 fmtprint(fmt, "\n");
2986 fmtprint(fmt, "\t%s=", "haveAttr");
2987 fmtprint(fmt, "%d", x->haveAttr);
2988 fmtprint(fmt, "\n");
2989 switch(x->haveAttr){
2991 fmtprint(fmt, "\t%s=", "attr");
2992 nfs3attrprint(fmt, &x->attr);
2993 fmtprint(fmt, "\n");
2998 fmtprint(fmt, "\t%s=", "verf");
2999 fmtprint(fmt, "%.*H", Nfs3CookieVerfSize, x->verf);
3000 fmtprint(fmt, "\n");
3001 fmtprint(fmt, "\t%s=%ud\n", "count", x->count);
3002 fmtprint(fmt, "\t%s=", "eof");
3003 fmtprint(fmt, "%d", x->eof);
3004 fmtprint(fmt, "\n");
3009 nfs3rreaddirsize(Nfs3RReadDir *x)
3014 switch(x->haveAttr){
3016 a = a + nfs3attrsize(&x->attr);
3021 a = a + Nfs3CookieVerfSize;
3029 nfs3rreaddirpack(uchar *a, uchar *ea, uchar **pa, Nfs3RReadDir *x)
3034 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
3035 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3036 switch(x->haveAttr){
3038 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
3043 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
3044 if(sunfixedopaquepack(a, ea, &a, x->data, x->count) < 0) goto Err;
3046 if(sunuint1pack(a, ea, &a, &zero) < 0) goto Err;
3047 if(sunuint1pack(a, ea, &a, &x->eof) < 0) goto Err;
3057 countEntry(uchar *a, uchar *ea, uchar **pa, u32int *n)
3066 if(sunuint1unpack(a, ea, &a, &u1) < 0)
3070 if(sunuint64unpack(a, ea, &a, &u64) < 0
3071 || sunuint32unpack(a, ea, &a, &u32) < 0)
3076 if(sunuint64unpack(a, ea, &a, &u64) < 0)
3084 nfs3rreaddirunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RReadDir *x)
3088 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
3089 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3090 switch(x->haveAttr){
3092 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
3095 if(x->status == Nfs3Ok){
3096 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
3098 if(countEntry(a, ea, &a, &x->count) < 0) goto Err;
3099 if(sunuint1unpack(a, ea, &a, &x->eof) < 0) goto Err;
3108 nfs3treaddirplusprint(Fmt *fmt, Nfs3TReadDirPlus *x)
3110 fmtprint(fmt, "%s\n", "Nfs3TReadDirPlus");
3111 fmtprint(fmt, "\t%s=", "handle");
3112 nfs3handleprint(fmt, &x->handle);
3113 fmtprint(fmt, "\n");
3114 fmtprint(fmt, "\t%s=", "cookie");
3115 fmtprint(fmt, "%llud", x->cookie);
3116 fmtprint(fmt, "\n");
3117 fmtprint(fmt, "\t%s=", "verf");
3118 fmtprint(fmt, "%.*H", Nfs3CookieVerfSize, x->verf);
3119 fmtprint(fmt, "\n");
3120 fmtprint(fmt, "\t%s=", "dirCount");
3121 fmtprint(fmt, "%ud", x->dirCount);
3122 fmtprint(fmt, "\n");
3123 fmtprint(fmt, "\t%s=", "maxCount");
3124 fmtprint(fmt, "%ud", x->maxCount);
3125 fmtprint(fmt, "\n");
3128 nfs3treaddirplussize(Nfs3TReadDirPlus *x)
3132 a = 0 + nfs3handlesize(&x->handle) + 8 + Nfs3CookieVerfSize + 4 + 4;
3136 nfs3treaddirpluspack(uchar *a, uchar *ea, uchar **pa, Nfs3TReadDirPlus *x)
3138 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
3139 if(sunuint64pack(a, ea, &a, &x->cookie) < 0) goto Err;
3140 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
3141 if(sunuint32pack(a, ea, &a, &x->dirCount) < 0) goto Err;
3142 if(sunuint32pack(a, ea, &a, &x->maxCount) < 0) goto Err;
3150 nfs3treaddirplusunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TReadDirPlus *x)
3152 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
3153 if(sunuint64unpack(a, ea, &a, &x->cookie) < 0) goto Err;
3154 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
3155 if(sunuint32unpack(a, ea, &a, &x->dirCount) < 0) goto Err;
3156 if(sunuint32unpack(a, ea, &a, &x->maxCount) < 0) goto Err;
3164 nfs3entryplusprint(Fmt *fmt, Nfs3Entry *x)
3166 fmtprint(fmt, "%s\n", "Nfs3EntryPlus");
3167 fmtprint(fmt, "\t%s=", "fileid");
3168 fmtprint(fmt, "%llud", x->fileid);
3169 fmtprint(fmt, "\n");
3170 fmtprint(fmt, "\t%s=", "name");
3171 fmtprint(fmt, "\"%s\"", x->name);
3172 fmtprint(fmt, "\n");
3173 fmtprint(fmt, "\t%s=", "cookie");
3174 fmtprint(fmt, "%llud", x->cookie);
3175 fmtprint(fmt, "\n");
3176 fmtprint(fmt, "\t%s=", "haveAttr");
3177 fmtprint(fmt, "%d", x->haveAttr);
3178 fmtprint(fmt, "\n");
3179 switch(x->haveAttr){
3181 fmtprint(fmt, "\t%s=", "attr");
3182 nfs3attrprint(fmt, &x->attr);
3183 fmtprint(fmt, "\n");
3186 fmtprint(fmt, "\t%s=", "haveHandle");
3187 fmtprint(fmt, "%d", x->haveHandle);
3188 fmtprint(fmt, "\n");
3189 switch(x->haveHandle){
3191 fmtprint(fmt, "\t%s=", "handle");
3192 nfs3handleprint(fmt, &x->handle);
3193 fmtprint(fmt, "\n");
3198 nfs3entryplussize(Nfs3Entry *x)
3202 a = 0 + 8 + sunstringsize(x->name) + 8 + 4;
3203 switch(x->haveAttr){
3205 a = a + nfs3attrsize(&x->attr);
3209 switch(x->haveHandle){
3211 a = a + nfs3handlesize(&x->handle);
3217 nfs3entrypluspack(uchar *a, uchar *ea, uchar **pa, Nfs3Entry *x)
3221 if(sunuint1pack(a, ea, &a, &u1) < 0) goto Err;
3222 if(sunuint64pack(a, ea, &a, &x->fileid) < 0) goto Err;
3223 if(sunstringpack(a, ea, &a, &x->name, -1) < 0) goto Err;
3224 if(sunuint64pack(a, ea, &a, &x->cookie) < 0) goto Err;
3225 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3226 switch(x->haveAttr){
3228 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
3231 if(sunuint1pack(a, ea, &a, &x->haveHandle) < 0) goto Err;
3232 switch(x->haveHandle){
3234 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
3244 nfs3entryplusunpack(uchar *a, uchar *ea, uchar **pa, Nfs3Entry *x)
3248 if(sunuint1unpack(a, ea, &a, &u1) < 0 || u1 != 1) goto Err;
3249 if(sunuint64unpack(a, ea, &a, &x->fileid) < 0) goto Err;
3250 if(sunstringunpack(a, ea, &a, &x->name, -1) < 0) goto Err;
3251 if(sunuint64unpack(a, ea, &a, &x->cookie) < 0) goto Err;
3252 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3253 switch(x->haveAttr){
3255 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
3258 if(sunuint1unpack(a, ea, &a, &x->haveHandle) < 0) goto Err;
3259 switch(x->haveHandle){
3261 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
3271 nfs3rreaddirplusprint(Fmt *fmt, Nfs3RReadDirPlus *x)
3273 fmtprint(fmt, "%s\n", "Nfs3RReadDirPlus");
3274 fmtprint(fmt, "\t%s=", "status");
3275 fmtprint(fmt, "%s", nfs3statusstr(x->status));
3276 fmtprint(fmt, "\n");
3277 fmtprint(fmt, "\t%s=", "haveAttr");
3278 fmtprint(fmt, "%d", x->haveAttr);
3279 fmtprint(fmt, "\n");
3280 switch(x->haveAttr){
3282 fmtprint(fmt, "\t%s=", "attr");
3283 nfs3attrprint(fmt, &x->attr);
3284 fmtprint(fmt, "\n");
3289 fmtprint(fmt, "\t%s=", "verf");
3290 fmtprint(fmt, "%.*H", Nfs3CookieVerfSize, x->verf);
3291 fmtprint(fmt, "\n");
3292 fmtprint(fmt, "\tcount=%ud\n", x->count);
3293 fmtprint(fmt, "\t%s=", "eof");
3294 fmtprint(fmt, "%d", x->eof);
3295 fmtprint(fmt, "\n");
3300 nfs3rreaddirplussize(Nfs3RReadDirPlus *x)
3305 switch(x->haveAttr){
3307 a = a + nfs3attrsize(&x->attr);
3312 a = a + Nfs3CookieVerfSize;
3320 nfs3rreaddirpluspack(uchar *a, uchar *ea, uchar **pa, Nfs3RReadDirPlus *x)
3325 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
3326 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3327 switch(x->haveAttr){
3329 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
3334 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
3335 if(sunfixedopaquepack(a, ea, &a, x->data, x->count) < 0) goto Err;
3337 if(sunuint1pack(a, ea, &a, &zero) < 0) goto Err;
3338 if(sunuint1pack(a, ea, &a, &x->eof) < 0) goto Err;
3348 countEntryPlus(uchar *a, uchar *ea, uchar **pa, u32int *n)
3359 if(sunuint1unpack(a, ea, &a, &u1) < 0)
3363 if(sunuint64unpack(a, ea, &a, &u64) < 0
3364 || sunuint32unpack(a, ea, &a, &u32) < 0)
3369 if(sunuint64unpack(a, ea, &a, &u64) < 0
3370 || sunuint1unpack(a, ea, &a, &u1) < 0
3371 || (u1 && nfs3attrunpack(a, ea, &a, &attr) < 0)
3372 || sunuint1unpack(a, ea, &a, &u1) < 0
3373 || (u1 && nfs3handleunpack(a, ea, &a, &h) < 0))
3382 nfs3rreaddirplusunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RReadDirPlus *x)
3386 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
3387 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3388 switch(x->haveAttr){
3390 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
3393 if(x->status == Nfs3Ok){
3394 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3CookieVerfSize) < 0) goto Err;
3396 if(countEntryPlus(a, ea, &a, &x->count) < 0) goto Err;
3397 if(sunuint1unpack(a, ea, &a, &x->eof) < 0) goto Err;
3406 nfs3tfsstatprint(Fmt *fmt, Nfs3TFsStat *x)
3408 fmtprint(fmt, "%s\n", "Nfs3TFsStat");
3409 fmtprint(fmt, "\t%s=", "handle");
3410 nfs3handleprint(fmt, &x->handle);
3411 fmtprint(fmt, "\n");
3414 nfs3tfsstatsize(Nfs3TFsStat *x)
3418 a = 0 + nfs3handlesize(&x->handle);
3422 nfs3tfsstatpack(uchar *a, uchar *ea, uchar **pa, Nfs3TFsStat *x)
3424 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
3432 nfs3tfsstatunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TFsStat *x)
3434 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
3442 nfs3rfsstatprint(Fmt *fmt, Nfs3RFsStat *x)
3444 fmtprint(fmt, "%s\n", "Nfs3RFsStat");
3445 fmtprint(fmt, "\t%s=", "status");
3446 fmtprint(fmt, "%s", nfs3statusstr(x->status));
3447 fmtprint(fmt, "\n");
3448 fmtprint(fmt, "\t%s=", "haveAttr");
3449 fmtprint(fmt, "%d", x->haveAttr);
3450 fmtprint(fmt, "\n");
3451 switch(x->haveAttr){
3453 fmtprint(fmt, "\t%s=", "attr");
3454 nfs3attrprint(fmt, &x->attr);
3455 fmtprint(fmt, "\n");
3460 fmtprint(fmt, "\t%s=", "totalBytes");
3461 fmtprint(fmt, "%llud", x->totalBytes);
3462 fmtprint(fmt, "\n");
3463 fmtprint(fmt, "\t%s=", "freeBytes");
3464 fmtprint(fmt, "%llud", x->freeBytes);
3465 fmtprint(fmt, "\n");
3466 fmtprint(fmt, "\t%s=", "availBytes");
3467 fmtprint(fmt, "%llud", x->availBytes);
3468 fmtprint(fmt, "\n");
3469 fmtprint(fmt, "\t%s=", "totalFiles");
3470 fmtprint(fmt, "%llud", x->totalFiles);
3471 fmtprint(fmt, "\n");
3472 fmtprint(fmt, "\t%s=", "freeFiles");
3473 fmtprint(fmt, "%llud", x->freeFiles);
3474 fmtprint(fmt, "\n");
3475 fmtprint(fmt, "\t%s=", "availFiles");
3476 fmtprint(fmt, "%llud", x->availFiles);
3477 fmtprint(fmt, "\n");
3478 fmtprint(fmt, "\t%s=", "invarSec");
3479 fmtprint(fmt, "%ud", x->invarSec);
3480 fmtprint(fmt, "\n");
3485 nfs3rfsstatsize(Nfs3RFsStat *x)
3490 switch(x->haveAttr){
3492 a = a + nfs3attrsize(&x->attr);
3497 a = a + 8 + 8 + 8 + 8 + 8 + 8 + 4;
3503 nfs3rfsstatpack(uchar *a, uchar *ea, uchar **pa, Nfs3RFsStat *x)
3507 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
3508 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3509 switch(x->haveAttr){
3511 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
3516 if(sunuint64pack(a, ea, &a, &x->totalBytes) < 0) goto Err;
3517 if(sunuint64pack(a, ea, &a, &x->freeBytes) < 0) goto Err;
3518 if(sunuint64pack(a, ea, &a, &x->availBytes) < 0) goto Err;
3519 if(sunuint64pack(a, ea, &a, &x->totalFiles) < 0) goto Err;
3520 if(sunuint64pack(a, ea, &a, &x->freeFiles) < 0) goto Err;
3521 if(sunuint64pack(a, ea, &a, &x->availFiles) < 0) goto Err;
3522 if(sunuint32pack(a, ea, &a, &x->invarSec) < 0) goto Err;
3532 nfs3rfsstatunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RFsStat *x)
3536 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
3537 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3538 switch(x->haveAttr){
3540 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
3545 if(sunuint64unpack(a, ea, &a, &x->totalBytes) < 0) goto Err;
3546 if(sunuint64unpack(a, ea, &a, &x->freeBytes) < 0) goto Err;
3547 if(sunuint64unpack(a, ea, &a, &x->availBytes) < 0) goto Err;
3548 if(sunuint64unpack(a, ea, &a, &x->totalFiles) < 0) goto Err;
3549 if(sunuint64unpack(a, ea, &a, &x->freeFiles) < 0) goto Err;
3550 if(sunuint64unpack(a, ea, &a, &x->availFiles) < 0) goto Err;
3551 if(sunuint32unpack(a, ea, &a, &x->invarSec) < 0) goto Err;
3561 nfs3tfsinfoprint(Fmt *fmt, Nfs3TFsInfo *x)
3563 fmtprint(fmt, "%s\n", "Nfs3TFsInfo");
3564 fmtprint(fmt, "\t%s=", "handle");
3565 nfs3handleprint(fmt, &x->handle);
3566 fmtprint(fmt, "\n");
3569 nfs3tfsinfosize(Nfs3TFsInfo *x)
3573 a = 0 + nfs3handlesize(&x->handle);
3577 nfs3tfsinfopack(uchar *a, uchar *ea, uchar **pa, Nfs3TFsInfo *x)
3579 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
3587 nfs3tfsinfounpack(uchar *a, uchar *ea, uchar **pa, Nfs3TFsInfo *x)
3589 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
3597 nfs3rfsinfoprint(Fmt *fmt, Nfs3RFsInfo *x)
3599 fmtprint(fmt, "%s\n", "Nfs3RFsInfo");
3600 fmtprint(fmt, "\t%s=", "status");
3601 fmtprint(fmt, "%s", nfs3statusstr(x->status));
3602 fmtprint(fmt, "\n");
3603 fmtprint(fmt, "\t%s=", "haveAttr");
3604 fmtprint(fmt, "%d", x->haveAttr);
3605 fmtprint(fmt, "\n");
3606 switch(x->haveAttr){
3608 fmtprint(fmt, "\t%s=", "attr");
3609 nfs3attrprint(fmt, &x->attr);
3610 fmtprint(fmt, "\n");
3615 fmtprint(fmt, "\t%s=", "readMax");
3616 fmtprint(fmt, "%ud", x->readMax);
3617 fmtprint(fmt, "\n");
3618 fmtprint(fmt, "\t%s=", "readPref");
3619 fmtprint(fmt, "%ud", x->readPref);
3620 fmtprint(fmt, "\n");
3621 fmtprint(fmt, "\t%s=", "readMult");
3622 fmtprint(fmt, "%ud", x->readMult);
3623 fmtprint(fmt, "\n");
3624 fmtprint(fmt, "\t%s=", "writeMax");
3625 fmtprint(fmt, "%ud", x->writeMax);
3626 fmtprint(fmt, "\n");
3627 fmtprint(fmt, "\t%s=", "writePref");
3628 fmtprint(fmt, "%ud", x->writePref);
3629 fmtprint(fmt, "\n");
3630 fmtprint(fmt, "\t%s=", "writeMult");
3631 fmtprint(fmt, "%ud", x->writeMult);
3632 fmtprint(fmt, "\n");
3633 fmtprint(fmt, "\t%s=", "readDirPref");
3634 fmtprint(fmt, "%ud", x->readDirPref);
3635 fmtprint(fmt, "\n");
3636 fmtprint(fmt, "\t%s=", "maxFileSize");
3637 fmtprint(fmt, "%llud", x->maxFileSize);
3638 fmtprint(fmt, "\n");
3639 fmtprint(fmt, "\t%s=", "timePrec");
3640 nfs3timeprint(fmt, &x->timePrec);
3641 fmtprint(fmt, "\n");
3642 fmtprint(fmt, "\t%s=", "flags");
3643 fmtprint(fmt, "%ud", x->flags);
3644 fmtprint(fmt, "\n");
3649 nfs3rfsinfosize(Nfs3RFsInfo *x)
3654 switch(x->haveAttr){
3656 a = a + nfs3attrsize(&x->attr);
3661 a = a + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 8 + nfs3timesize(&x->timePrec) + 4;
3667 nfs3rfsinfopack(uchar *a, uchar *ea, uchar **pa, Nfs3RFsInfo *x)
3671 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
3672 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3673 switch(x->haveAttr){
3675 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
3680 if(sunuint32pack(a, ea, &a, &x->readMax) < 0) goto Err;
3681 if(sunuint32pack(a, ea, &a, &x->readPref) < 0) goto Err;
3682 if(sunuint32pack(a, ea, &a, &x->readMult) < 0) goto Err;
3683 if(sunuint32pack(a, ea, &a, &x->writeMax) < 0) goto Err;
3684 if(sunuint32pack(a, ea, &a, &x->writePref) < 0) goto Err;
3685 if(sunuint32pack(a, ea, &a, &x->writeMult) < 0) goto Err;
3686 if(sunuint32pack(a, ea, &a, &x->readDirPref) < 0) goto Err;
3687 if(sunuint64pack(a, ea, &a, &x->maxFileSize) < 0) goto Err;
3688 if(nfs3timepack(a, ea, &a, &x->timePrec) < 0) goto Err;
3689 if(sunuint32pack(a, ea, &a, &x->flags) < 0) goto Err;
3699 nfs3rfsinfounpack(uchar *a, uchar *ea, uchar **pa, Nfs3RFsInfo *x)
3703 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
3704 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3705 switch(x->haveAttr){
3707 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
3712 if(sunuint32unpack(a, ea, &a, &x->readMax) < 0) goto Err;
3713 if(sunuint32unpack(a, ea, &a, &x->readPref) < 0) goto Err;
3714 if(sunuint32unpack(a, ea, &a, &x->readMult) < 0) goto Err;
3715 if(sunuint32unpack(a, ea, &a, &x->writeMax) < 0) goto Err;
3716 if(sunuint32unpack(a, ea, &a, &x->writePref) < 0) goto Err;
3717 if(sunuint32unpack(a, ea, &a, &x->writeMult) < 0) goto Err;
3718 if(sunuint32unpack(a, ea, &a, &x->readDirPref) < 0) goto Err;
3719 if(sunuint64unpack(a, ea, &a, &x->maxFileSize) < 0) goto Err;
3720 if(nfs3timeunpack(a, ea, &a, &x->timePrec) < 0) goto Err;
3721 if(sunuint32unpack(a, ea, &a, &x->flags) < 0) goto Err;
3731 nfs3tpathconfprint(Fmt *fmt, Nfs3TPathconf *x)
3733 fmtprint(fmt, "%s\n", "Nfs3TPathconf");
3734 fmtprint(fmt, "\t%s=", "handle");
3735 nfs3handleprint(fmt, &x->handle);
3736 fmtprint(fmt, "\n");
3739 nfs3tpathconfsize(Nfs3TPathconf *x)
3743 a = 0 + nfs3handlesize(&x->handle);
3747 nfs3tpathconfpack(uchar *a, uchar *ea, uchar **pa, Nfs3TPathconf *x)
3749 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
3757 nfs3tpathconfunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TPathconf *x)
3759 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
3767 nfs3rpathconfprint(Fmt *fmt, Nfs3RPathconf *x)
3769 fmtprint(fmt, "%s\n", "Nfs3RPathconf");
3770 fmtprint(fmt, "\t%s=", "status");
3771 fmtprint(fmt, "%s", nfs3statusstr(x->status));
3772 fmtprint(fmt, "\n");
3773 fmtprint(fmt, "\t%s=", "haveAttr");
3774 fmtprint(fmt, "%d", x->haveAttr);
3775 fmtprint(fmt, "\n");
3776 switch(x->haveAttr){
3778 fmtprint(fmt, "\t%s=", "attr");
3779 nfs3attrprint(fmt, &x->attr);
3780 fmtprint(fmt, "\n");
3785 fmtprint(fmt, "\t%s=", "maxLink");
3786 fmtprint(fmt, "%ud", x->maxLink);
3787 fmtprint(fmt, "\n");
3788 fmtprint(fmt, "\t%s=", "maxName");
3789 fmtprint(fmt, "%ud", x->maxName);
3790 fmtprint(fmt, "\n");
3791 fmtprint(fmt, "\t%s=", "noTrunc");
3792 fmtprint(fmt, "%d", x->noTrunc);
3793 fmtprint(fmt, "\n");
3794 fmtprint(fmt, "\t%s=", "chownRestricted");
3795 fmtprint(fmt, "%d", x->chownRestricted);
3796 fmtprint(fmt, "\n");
3797 fmtprint(fmt, "\t%s=", "caseInsensitive");
3798 fmtprint(fmt, "%d", x->caseInsensitive);
3799 fmtprint(fmt, "\n");
3800 fmtprint(fmt, "\t%s=", "casePreserving");
3801 fmtprint(fmt, "%d", x->casePreserving);
3802 fmtprint(fmt, "\n");
3807 nfs3rpathconfsize(Nfs3RPathconf *x)
3812 switch(x->haveAttr){
3814 a = a + nfs3attrsize(&x->attr);
3819 a = a + 4 + 4 + 4 + 4 + 4 + 4;
3825 nfs3rpathconfpack(uchar *a, uchar *ea, uchar **pa, Nfs3RPathconf *x)
3829 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
3830 if(sunuint1pack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3831 switch(x->haveAttr){
3833 if(nfs3attrpack(a, ea, &a, &x->attr) < 0) goto Err;
3838 if(sunuint32pack(a, ea, &a, &x->maxLink) < 0) goto Err;
3839 if(sunuint32pack(a, ea, &a, &x->maxName) < 0) goto Err;
3840 if(sunuint1pack(a, ea, &a, &x->noTrunc) < 0) goto Err;
3841 if(sunuint1pack(a, ea, &a, &x->chownRestricted) < 0) goto Err;
3842 if(sunuint1pack(a, ea, &a, &x->caseInsensitive) < 0) goto Err;
3843 if(sunuint1pack(a, ea, &a, &x->casePreserving) < 0) goto Err;
3853 nfs3rpathconfunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RPathconf *x)
3857 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
3858 if(sunuint1unpack(a, ea, &a, &x->haveAttr) < 0) goto Err;
3859 switch(x->haveAttr){
3861 if(nfs3attrunpack(a, ea, &a, &x->attr) < 0) goto Err;
3866 if(sunuint32unpack(a, ea, &a, &x->maxLink) < 0) goto Err;
3867 if(sunuint32unpack(a, ea, &a, &x->maxName) < 0) goto Err;
3868 if(sunuint1unpack(a, ea, &a, &x->noTrunc) < 0) goto Err;
3869 if(sunuint1unpack(a, ea, &a, &x->chownRestricted) < 0) goto Err;
3870 if(sunuint1unpack(a, ea, &a, &x->caseInsensitive) < 0) goto Err;
3871 if(sunuint1unpack(a, ea, &a, &x->casePreserving) < 0) goto Err;
3881 nfs3tcommitprint(Fmt *fmt, Nfs3TCommit *x)
3883 fmtprint(fmt, "%s\n", "Nfs3TCommit");
3884 fmtprint(fmt, "\t%s=", "handle");
3885 nfs3handleprint(fmt, &x->handle);
3886 fmtprint(fmt, "\n");
3887 fmtprint(fmt, "\t%s=", "offset");
3888 fmtprint(fmt, "%llud", x->offset);
3889 fmtprint(fmt, "\n");
3890 fmtprint(fmt, "\t%s=", "count");
3891 fmtprint(fmt, "%ud", x->count);
3892 fmtprint(fmt, "\n");
3895 nfs3tcommitsize(Nfs3TCommit *x)
3899 a = 0 + nfs3handlesize(&x->handle) + 8 + 4;
3903 nfs3tcommitpack(uchar *a, uchar *ea, uchar **pa, Nfs3TCommit *x)
3905 if(nfs3handlepack(a, ea, &a, &x->handle) < 0) goto Err;
3906 if(sunuint64pack(a, ea, &a, &x->offset) < 0) goto Err;
3907 if(sunuint32pack(a, ea, &a, &x->count) < 0) goto Err;
3915 nfs3tcommitunpack(uchar *a, uchar *ea, uchar **pa, Nfs3TCommit *x)
3917 if(nfs3handleunpack(a, ea, &a, &x->handle) < 0) goto Err;
3918 if(sunuint64unpack(a, ea, &a, &x->offset) < 0) goto Err;
3919 if(sunuint32unpack(a, ea, &a, &x->count) < 0) goto Err;
3927 nfs3rcommitprint(Fmt *fmt, Nfs3RCommit *x)
3929 fmtprint(fmt, "%s\n", "Nfs3RCommit");
3930 fmtprint(fmt, "\t%s=", "status");
3931 fmtprint(fmt, "%s", nfs3statusstr(x->status));
3932 fmtprint(fmt, "\n");
3933 fmtprint(fmt, "\t%s=", "wcc");
3934 nfs3wccprint(fmt, &x->wcc);
3935 fmtprint(fmt, "\n");
3938 fmtprint(fmt, "\t%s=", "verf");
3939 fmtprint(fmt, "%.*H", Nfs3WriteVerfSize, x->verf);
3940 fmtprint(fmt, "\n");
3945 nfs3rcommitsize(Nfs3RCommit *x)
3949 a = 0 + 4 + nfs3wccsize(&x->wcc);
3952 a = a + Nfs3WriteVerfSize;
3958 nfs3rcommitpack(uchar *a, uchar *ea, uchar **pa, Nfs3RCommit *x)
3962 if(i=x->status, sunenumpack(a, ea, &a, &i) < 0) goto Err;
3963 if(nfs3wccpack(a, ea, &a, &x->wcc) < 0) goto Err;
3966 if(sunfixedopaquepack(a, ea, &a, x->verf, Nfs3WriteVerfSize) < 0) goto Err;
3976 nfs3rcommitunpack(uchar *a, uchar *ea, uchar **pa, Nfs3RCommit *x)
3980 if(sunenumunpack(a, ea, &a, &i) < 0) goto Err; x->status = i;
3981 if(nfs3wccunpack(a, ea, &a, &x->wcc) < 0) goto Err;
3984 if(sunfixedopaqueunpack(a, ea, &a, x->verf, Nfs3WriteVerfSize) < 0) goto Err;
3994 typedef int (*P)(uchar*, uchar*, uchar**, SunCall*);
3995 typedef void (*F)(Fmt*, SunCall*);
3996 typedef uint (*S)(SunCall*);
3998 static SunProc proc[] = {
3999 (P)nfs3tnullpack, (P)nfs3tnullunpack, (S)nfs3tnullsize, (F)nfs3tnullprint, sizeof(Nfs3TNull),
4000 (P)nfs3rnullpack, (P)nfs3rnullunpack, (S)nfs3rnullsize, (F)nfs3rnullprint, sizeof(Nfs3RNull),
4001 (P)nfs3tgetattrpack, (P)nfs3tgetattrunpack, (S)nfs3tgetattrsize, (F)nfs3tgetattrprint, sizeof(Nfs3TGetattr),
4002 (P)nfs3rgetattrpack, (P)nfs3rgetattrunpack, (S)nfs3rgetattrsize, (F)nfs3rgetattrprint, sizeof(Nfs3RGetattr),
4003 (P)nfs3tsetattrpack, (P)nfs3tsetattrunpack, (S)nfs3tsetattrsize, (F)nfs3tsetattrprint, sizeof(Nfs3TSetattr),
4004 (P)nfs3rsetattrpack, (P)nfs3rsetattrunpack, (S)nfs3rsetattrsize, (F)nfs3rsetattrprint, sizeof(Nfs3RSetattr),
4005 (P)nfs3tlookuppack, (P)nfs3tlookupunpack, (S)nfs3tlookupsize, (F)nfs3tlookupprint, sizeof(Nfs3TLookup),
4006 (P)nfs3rlookuppack, (P)nfs3rlookupunpack, (S)nfs3rlookupsize, (F)nfs3rlookupprint, sizeof(Nfs3RLookup),
4007 (P)nfs3taccesspack, (P)nfs3taccessunpack, (S)nfs3taccesssize, (F)nfs3taccessprint, sizeof(Nfs3TAccess),
4008 (P)nfs3raccesspack, (P)nfs3raccessunpack, (S)nfs3raccesssize, (F)nfs3raccessprint, sizeof(Nfs3RAccess),
4009 (P)nfs3treadlinkpack, (P)nfs3treadlinkunpack, (S)nfs3treadlinksize, (F)nfs3treadlinkprint, sizeof(Nfs3TReadlink),
4010 (P)nfs3rreadlinkpack, (P)nfs3rreadlinkunpack, (S)nfs3rreadlinksize, (F)nfs3rreadlinkprint, sizeof(Nfs3RReadlink),
4011 (P)nfs3treadpack, (P)nfs3treadunpack, (S)nfs3treadsize, (F)nfs3treadprint, sizeof(Nfs3TRead),
4012 (P)nfs3rreadpack, (P)nfs3rreadunpack, (S)nfs3rreadsize, (F)nfs3rreadprint, sizeof(Nfs3RRead),
4013 (P)nfs3twritepack, (P)nfs3twriteunpack, (S)nfs3twritesize, (F)nfs3twriteprint, sizeof(Nfs3TWrite),
4014 (P)nfs3rwritepack, (P)nfs3rwriteunpack, (S)nfs3rwritesize, (F)nfs3rwriteprint, sizeof(Nfs3RWrite),
4015 (P)nfs3tcreatepack, (P)nfs3tcreateunpack, (S)nfs3tcreatesize, (F)nfs3tcreateprint, sizeof(Nfs3TCreate),
4016 (P)nfs3rcreatepack, (P)nfs3rcreateunpack, (S)nfs3rcreatesize, (F)nfs3rcreateprint, sizeof(Nfs3RCreate),
4017 (P)nfs3tmkdirpack, (P)nfs3tmkdirunpack, (S)nfs3tmkdirsize, (F)nfs3tmkdirprint, sizeof(Nfs3TMkdir),
4018 (P)nfs3rmkdirpack, (P)nfs3rmkdirunpack, (S)nfs3rmkdirsize, (F)nfs3rmkdirprint, sizeof(Nfs3RMkdir),
4019 (P)nfs3tsymlinkpack, (P)nfs3tsymlinkunpack, (S)nfs3tsymlinksize, (F)nfs3tsymlinkprint, sizeof(Nfs3TSymlink),
4020 (P)nfs3rsymlinkpack, (P)nfs3rsymlinkunpack, (S)nfs3rsymlinksize, (F)nfs3rsymlinkprint, sizeof(Nfs3RSymlink),
4021 (P)nfs3tmknodpack, (P)nfs3tmknodunpack, (S)nfs3tmknodsize, (F)nfs3tmknodprint, sizeof(Nfs3TMknod),
4022 (P)nfs3rmknodpack, (P)nfs3rmknodunpack, (S)nfs3rmknodsize, (F)nfs3rmknodprint, sizeof(Nfs3RMknod),
4023 (P)nfs3tremovepack, (P)nfs3tremoveunpack, (S)nfs3tremovesize, (F)nfs3tremoveprint, sizeof(Nfs3TRemove),
4024 (P)nfs3rremovepack, (P)nfs3rremoveunpack, (S)nfs3rremovesize, (F)nfs3rremoveprint, sizeof(Nfs3RRemove),
4025 (P)nfs3trmdirpack, (P)nfs3trmdirunpack, (S)nfs3trmdirsize, (F)nfs3trmdirprint, sizeof(Nfs3TRmdir),
4026 (P)nfs3rrmdirpack, (P)nfs3rrmdirunpack, (S)nfs3rrmdirsize, (F)nfs3rrmdirprint, sizeof(Nfs3RRmdir),
4027 (P)nfs3trenamepack, (P)nfs3trenameunpack, (S)nfs3trenamesize, (F)nfs3trenameprint, sizeof(Nfs3TRename),
4028 (P)nfs3rrenamepack, (P)nfs3rrenameunpack, (S)nfs3rrenamesize, (F)nfs3rrenameprint, sizeof(Nfs3RRename),
4029 (P)nfs3tlinkpack, (P)nfs3tlinkunpack, (S)nfs3tlinksize, (F)nfs3tlinkprint, sizeof(Nfs3TLink),
4030 (P)nfs3rlinkpack, (P)nfs3rlinkunpack, (S)nfs3rlinksize, (F)nfs3rlinkprint, sizeof(Nfs3RLink),
4031 (P)nfs3treaddirpack, (P)nfs3treaddirunpack, (S)nfs3treaddirsize, (F)nfs3treaddirprint, sizeof(Nfs3TReadDir),
4032 (P)nfs3rreaddirpack, (P)nfs3rreaddirunpack, (S)nfs3rreaddirsize, (F)nfs3rreaddirprint, sizeof(Nfs3RReadDir),
4033 (P)nfs3treaddirpluspack, (P)nfs3treaddirplusunpack, (S)nfs3treaddirplussize, (F)nfs3treaddirplusprint, sizeof(Nfs3TReadDirPlus),
4034 (P)nfs3rreaddirpluspack, (P)nfs3rreaddirplusunpack, (S)nfs3rreaddirplussize, (F)nfs3rreaddirplusprint, sizeof(Nfs3RReadDirPlus),
4035 (P)nfs3tfsstatpack, (P)nfs3tfsstatunpack, (S)nfs3tfsstatsize, (F)nfs3tfsstatprint, sizeof(Nfs3TFsStat),
4036 (P)nfs3rfsstatpack, (P)nfs3rfsstatunpack, (S)nfs3rfsstatsize, (F)nfs3rfsstatprint, sizeof(Nfs3RFsStat),
4037 (P)nfs3tfsinfopack, (P)nfs3tfsinfounpack, (S)nfs3tfsinfosize, (F)nfs3tfsinfoprint, sizeof(Nfs3TFsInfo),
4038 (P)nfs3rfsinfopack, (P)nfs3rfsinfounpack, (S)nfs3rfsinfosize, (F)nfs3rfsinfoprint, sizeof(Nfs3RFsInfo),
4039 (P)nfs3tpathconfpack, (P)nfs3tpathconfunpack, (S)nfs3tpathconfsize, (F)nfs3tpathconfprint, sizeof(Nfs3TPathconf),
4040 (P)nfs3rpathconfpack, (P)nfs3rpathconfunpack, (S)nfs3rpathconfsize, (F)nfs3rpathconfprint, sizeof(Nfs3RPathconf),
4041 (P)nfs3tcommitpack, (P)nfs3tcommitunpack, (S)nfs3tcommitsize, (F)nfs3tcommitprint, sizeof(Nfs3TCommit),
4042 (P)nfs3rcommitpack, (P)nfs3rcommitunpack, (S)nfs3rcommitsize, (F)nfs3rcommitprint, sizeof(Nfs3RCommit)