4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright (c) 1999 by Sun Microsystems, Inc.
24 * All rights reserved.
27 #pragma ident "%Z%%M% %I% %E% SMI"
30 #include <nfs/nfs_log.h>
32 static bool_t
xdr_timestruc32_t(XDR
*, timestruc32_t
*);
33 static bool_t
xdr_nfs2_timeval(XDR
*, nfs2_timeval
*);
34 static bool_t
xdr_ftype3(XDR
*, ftype3
*);
35 static bool_t
xdr_stable_how(XDR
*, stable_how
*);
36 static bool_t
xdr_createmode3(XDR
*, createmode3
*);
37 static bool_t
xdr_size3(XDR
*, size3
*);
38 static bool_t
xdr_count3(XDR
*, count3
*);
39 static bool_t
xdr_set_size3(XDR
*, set_size3
*);
40 static bool_t
xdr_offset3(XDR
*, offset3
*);
41 static bool_t
xdr_post_op_fh3(XDR
*, post_op_fh3
*);
42 static bool_t
xdr_nfsreadargs(XDR
*, struct nfsreadargs
*);
43 static bool_t
xdr_nfslog_record_header(XDR
*, nfslog_record_header
*);
44 static bool_t
xdr_nfslog_drok(XDR
*, nfslog_drok
*);
45 static bool_t
xdr_nfslog_rrok(XDR
*, nfslog_rrok
*);
46 static bool_t
xdr_nfslog_sattr(XDR
*, nfslog_sattr
*);
47 static bool_t
xdr_nfslog_rdok(XDR
*, nfslog_rdok
*);
48 static bool_t
xdr_nfslog_createhow3(XDR
*, nfslog_createhow3
*);
49 static bool_t
xdr_nfslog_CREATE3resok(XDR
*, nfslog_CREATE3resok
*);
50 static bool_t
xdr_nfslog_READ3resok(XDR
*, nfslog_READ3resok
*);
51 static bool_t
xdr_nfslog_WRITE3resok(XDR
*, nfslog_WRITE3resok
*);
52 static bool_t
xdr_nfslog_entryplus3(XDR
*, nfslog_entryplus3
*);
53 static bool_t
xdr_nfslog_dirlistplus3(XDR
*, nfslog_dirlistplus3
*);
54 static bool_t
xdr_nfslog_READDIRPLUS3resok(XDR
*, nfslog_READDIRPLUS3resok
*);
57 xdr_timestruc32_t(XDR
*xdrs
, timestruc32_t
*objp
)
59 if (!xdr_int(xdrs
, &objp
->tv_sec
))
61 if (!xdr_int(xdrs
, &objp
->tv_nsec
))
67 xdr_nfs2_timeval(XDR
*xdrs
, nfs2_timeval
*objp
)
69 if (!xdr_u_int(xdrs
, &objp
->tv_sec
))
71 if (!xdr_u_int(xdrs
, &objp
->tv_usec
))
77 xdr_nfsstat(XDR
*xdrs
, nfsstat
*objp
)
79 if (!xdr_enum(xdrs
, (enum_t
*)objp
))
85 xdr_uint64(XDR
*xdrs
, uint64
*objp
)
87 return (xdr_u_longlong_t(xdrs
, objp
));
91 xdr_uint32(XDR
*xdrs
, uint32
*objp
)
93 return (xdr_u_int(xdrs
, objp
));
97 xdr_ftype3(XDR
*xdrs
, ftype3
*objp
)
99 return (xdr_enum(xdrs
, (enum_t
*)objp
));
103 xdr_stable_how(XDR
*xdrs
, stable_how
*objp
)
105 return (xdr_enum(xdrs
, (enum_t
*)objp
));
109 xdr_createmode3(XDR
*xdrs
, createmode3
*objp
)
111 return (xdr_enum(xdrs
, (enum_t
*)objp
));
115 xdr_size3(XDR
*xdrs
, size3
*objp
)
117 return (xdr_uint64(xdrs
, objp
));
121 xdr_count3(XDR
*xdrs
, count3
*objp
)
123 return (xdr_uint32(xdrs
, objp
));
127 xdr_set_size3(XDR
*xdrs
, set_size3
*objp
)
129 if (!xdr_bool(xdrs
, &objp
->set_it
))
131 switch (objp
->set_it
) {
133 if (!xdr_size3(xdrs
, &objp
->size
))
141 xdr_offset3(XDR
*xdrs
, offset3
*objp
)
143 return (xdr_uint64(xdrs
, objp
));
147 xdr_fhandle(XDR
*xdrs
, fhandle_t
*fh
)
149 if (xdrs
->x_op
== XDR_FREE
)
152 return (xdr_opaque(xdrs
, (caddr_t
)fh
, NFS_FHSIZE
));
157 xdr_nfs_fh3(XDR
*xdrs
, nfs_fh3
*objp
)
159 if (!xdr_u_int(xdrs
, &objp
->fh3_length
))
162 if (objp
->fh3_length
> NFS3_FHSIZE
)
165 if (xdrs
->x_op
== XDR_DECODE
|| xdrs
->x_op
== XDR_ENCODE
)
166 return (xdr_opaque(xdrs
, objp
->fh3_u
.data
, objp
->fh3_length
));
168 if (xdrs
->x_op
== XDR_FREE
)
175 xdr_post_op_fh3(XDR
*xdrs
, post_op_fh3
*objp
)
177 if (!xdr_bool(xdrs
, &objp
->handle_follows
))
179 switch (objp
->handle_follows
) {
181 if (!xdr_nfs_fh3(xdrs
, &objp
->handle
))
193 xdr_nfsstat3(XDR
*xdrs
, nfsstat3
*objp
)
195 return (xdr_enum(xdrs
, (enum_t
*)objp
));
199 xdr_nfsreadargs(XDR
*xdrs
, struct nfsreadargs
*ra
)
201 if (xdr_fhandle(xdrs
, &ra
->ra_fhandle
) &&
202 xdr_u_int(xdrs
, &ra
->ra_offset
) &&
203 xdr_u_int(xdrs
, &ra
->ra_count
) &&
204 xdr_u_int(xdrs
, &ra
->ra_totcount
)) {
212 xdr_nfslog_buffer_header(XDR
*xdrs
, nfslog_buffer_header
*objp
)
214 if (!xdr_u_int(xdrs
, &objp
->bh_length
))
216 if (!xdr_rpcvers(xdrs
, &objp
->bh_version
))
218 if (objp
->bh_version
> 1) {
219 if (!xdr_u_longlong_t(xdrs
, &objp
->bh_offset
))
221 if (!xdr_u_int(xdrs
, &objp
->bh_flags
))
226 if (!xdr_u_int(xdrs
, &objp
->bh_flags
))
228 if (xdrs
->x_op
== XDR_ENCODE
)
229 bh_offset
= (uint_t
)objp
->bh_offset
;
230 if (!xdr_u_int(xdrs
, &bh_offset
))
232 if (xdrs
->x_op
== XDR_DECODE
)
233 objp
->bh_offset
= (uoff_t
)bh_offset
;
235 if (!xdr_timestruc32_t(xdrs
, &objp
->bh_timestamp
))
241 xdr_nfslog_record_header(XDR
*xdrs
, nfslog_record_header
*objp
)
243 if (!xdr_u_int(xdrs
, &objp
->rh_reclen
))
245 if (!xdr_u_int(xdrs
, &objp
->rh_rec_id
))
247 if (!xdr_rpcprog(xdrs
, &objp
->rh_prognum
))
249 if (!xdr_rpcproc(xdrs
, &objp
->rh_procnum
))
251 if (!xdr_rpcvers(xdrs
, &objp
->rh_version
))
253 if (!xdr_u_int(xdrs
, &objp
->rh_auth_flavor
))
255 if (!xdr_timestruc32_t(xdrs
, &objp
->rh_timestamp
))
257 if (!xdr_uid_t(xdrs
, &objp
->rh_uid
))
259 if (!xdr_gid_t(xdrs
, &objp
->rh_gid
))
265 xdr_nfslog_request_record(XDR
*xdrs
, nfslog_request_record
*objp
)
267 if (!xdr_nfslog_record_header(xdrs
, &objp
->re_header
))
269 if (!xdr_string(xdrs
, &objp
->re_principal_name
, ~0))
271 if (!xdr_string(xdrs
, &objp
->re_netid
, ~0))
273 if (!xdr_string(xdrs
, &objp
->re_tag
, ~0))
275 if (!xdr_netbuf(xdrs
, &objp
->re_ipaddr
))
281 xdr_nfslog_sharefsargs(XDR
*xdrs
, nfslog_sharefsargs
*objp
)
283 if (!xdr_int(xdrs
, &objp
->sh_flags
))
285 if (!xdr_u_int(xdrs
, &objp
->sh_anon
))
287 if (!xdr_string(xdrs
, &objp
->sh_path
, ~0))
289 if (!xdr_fhandle(xdrs
, &objp
->sh_fh_buf
))
295 xdr_nfslog_sharefsres(XDR
*xdrs
, nfslog_sharefsres
*objp
)
297 if (!xdr_nfsstat(xdrs
, objp
))
303 xdr_nfslog_getfhargs(XDR
*xdrs
, nfslog_getfhargs
*objp
)
305 if (!xdr_fhandle(xdrs
, &objp
->gfh_fh_buf
))
307 if (!xdr_string(xdrs
, &objp
->gfh_path
, ~0))
313 xdr_nfslog_diropargs(XDR
*xdrs
, nfslog_diropargs
*objp
)
315 if (!xdr_fhandle(xdrs
, &objp
->da_fhandle
))
317 if (!xdr_string(xdrs
, &objp
->da_name
, ~0))
323 xdr_nfslog_drok(XDR
*xdrs
, nfslog_drok
*objp
)
325 if (!xdr_fhandle(xdrs
, &objp
->drok_fhandle
))
331 xdr_nfslog_diropres(XDR
*xdrs
, nfslog_diropres
*objp
)
333 if (!xdr_nfsstat(xdrs
, &objp
->dr_status
))
335 switch (objp
->dr_status
) {
337 if (!xdr_nfslog_drok(xdrs
, &objp
->nfslog_diropres_u
.dr_ok
))
345 xdr_nfslog_nfsreadargs(XDR
*xdrs
, nfslog_nfsreadargs
*objp
)
347 if (!xdr_nfsreadargs(xdrs
, objp
))
353 xdr_nfslog_rrok(XDR
*xdrs
, nfslog_rrok
*objp
)
355 if (!xdr_u_int(xdrs
, &objp
->filesize
))
357 if (!xdr_u_int(xdrs
, &objp
->rrok_count
))
363 xdr_nfslog_rdresult(XDR
*xdrs
, nfslog_rdresult
*objp
)
365 if (!xdr_nfsstat(xdrs
, &objp
->r_status
))
367 switch (objp
->r_status
) {
369 if (!xdr_nfslog_rrok(xdrs
, &objp
->nfslog_rdresult_u
.r_ok
))
377 xdr_nfslog_writeargs(XDR
*xdrs
, nfslog_writeargs
*objp
)
379 if (!xdr_fhandle(xdrs
, &objp
->waargs_fhandle
))
381 if (!xdr_u_int(xdrs
, &objp
->waargs_begoff
))
383 if (!xdr_u_int(xdrs
, &objp
->waargs_offset
))
385 if (!xdr_u_int(xdrs
, &objp
->waargs_totcount
))
387 if (!xdr_u_int(xdrs
, &objp
->waargs_count
))
393 xdr_nfslog_writeresult(XDR
*xdrs
, nfslog_writeresult
*objp
)
395 if (!xdr_nfsstat(xdrs
, &objp
->wr_status
))
397 switch (objp
->wr_status
) {
399 if (!xdr_u_int(xdrs
, &objp
->nfslog_writeresult_u
.wr_size
))
407 xdr_nfslog_sattr(XDR
*xdrs
, nfslog_sattr
*objp
)
409 if (!xdr_u_int(xdrs
, &objp
->sa_mode
))
411 if (!xdr_u_int(xdrs
, &objp
->sa_uid
))
413 if (!xdr_u_int(xdrs
, &objp
->sa_gid
))
415 if (!xdr_u_int(xdrs
, &objp
->sa_size
))
417 if (!xdr_nfs2_timeval(xdrs
, (nfs2_timeval
*)&objp
->sa_atime
))
419 if (!xdr_nfs2_timeval(xdrs
, (nfs2_timeval
*)&objp
->sa_mtime
))
425 xdr_nfslog_createargs(XDR
*xdrs
, nfslog_createargs
*objp
)
427 if (!xdr_nfslog_sattr(xdrs
, &objp
->ca_sa
))
429 if (!xdr_nfslog_diropargs(xdrs
, &objp
->ca_da
))
435 xdr_nfslog_setattrargs(XDR
*xdrs
, nfslog_setattrargs
*objp
)
437 if (!xdr_fhandle(xdrs
, &objp
->saa_fh
))
439 if (!xdr_nfslog_sattr(xdrs
, &objp
->saa_sa
))
445 xdr_nfslog_rdlnres(XDR
*xdrs
, nfslog_rdlnres
*objp
)
447 if (!xdr_nfsstat(xdrs
, &objp
->rl_status
))
449 switch (objp
->rl_status
) {
451 if (!xdr_string(xdrs
, &objp
->nfslog_rdlnres_u
.rl_ok
, ~0))
459 xdr_nfslog_rnmargs(XDR
*xdrs
, nfslog_rnmargs
*objp
)
461 if (!xdr_nfslog_diropargs(xdrs
, &objp
->rna_from
))
463 if (!xdr_nfslog_diropargs(xdrs
, &objp
->rna_to
))
469 xdr_nfslog_linkargs(XDR
*xdrs
, nfslog_linkargs
*objp
)
471 if (!xdr_fhandle(xdrs
, &objp
->la_from
))
473 if (!xdr_nfslog_diropargs(xdrs
, &objp
->la_to
))
479 xdr_nfslog_symlinkargs(XDR
*xdrs
, nfslog_symlinkargs
*objp
)
481 if (!xdr_nfslog_diropargs(xdrs
, &objp
->sla_from
))
483 if (!xdr_string(xdrs
, &objp
->sla_tnm
, ~0))
485 if (!xdr_nfslog_sattr(xdrs
, &objp
->sla_sa
))
491 xdr_nfslog_rddirargs(XDR
*xdrs
, nfslog_rddirargs
*objp
)
493 if (!xdr_fhandle(xdrs
, &objp
->rda_fh
))
495 if (!xdr_u_int(xdrs
, &objp
->rda_offset
))
497 if (!xdr_u_int(xdrs
, &objp
->rda_count
))
503 xdr_nfslog_rdok(XDR
*xdrs
, nfslog_rdok
*objp
)
505 if (!xdr_u_int(xdrs
, &objp
->rdok_offset
))
507 if (!xdr_u_int(xdrs
, &objp
->rdok_size
))
509 if (!xdr_bool(xdrs
, &objp
->rdok_eof
))
515 xdr_nfslog_rddirres(XDR
*xdrs
, nfslog_rddirres
*objp
)
517 if (!xdr_nfsstat(xdrs
, &objp
->rd_status
))
519 switch (objp
->rd_status
) {
521 if (!xdr_nfslog_rdok(xdrs
, &objp
->nfslog_rddirres_u
.rd_ok
))
529 xdr_nfslog_diropargs3(XDR
*xdrs
, nfslog_diropargs3
*objp
)
531 if (!xdr_nfs_fh3(xdrs
, &objp
->dir
))
533 if (!xdr_string(xdrs
, &objp
->name
, ~0))
539 xdr_nfslog_LOOKUP3res(XDR
*xdrs
, nfslog_LOOKUP3res
*objp
)
541 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
543 switch (objp
->status
) {
545 if (!xdr_nfs_fh3(xdrs
, &objp
->nfslog_LOOKUP3res_u
.object
))
553 xdr_nfslog_createhow3(XDR
*xdrs
, nfslog_createhow3
*objp
)
555 if (!xdr_createmode3(xdrs
, &objp
->mode
))
557 switch (objp
->mode
) {
560 if (!xdr_set_size3(xdrs
, &objp
->nfslog_createhow3_u
.size
))
572 xdr_nfslog_CREATE3args(XDR
*xdrs
, nfslog_CREATE3args
*objp
)
574 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->where
))
576 if (!xdr_nfslog_createhow3(xdrs
, &objp
->how
))
582 xdr_nfslog_CREATE3resok(XDR
*xdrs
, nfslog_CREATE3resok
*objp
)
584 if (!xdr_post_op_fh3(xdrs
, &objp
->obj
))
590 xdr_nfslog_CREATE3res(XDR
*xdrs
, nfslog_CREATE3res
*objp
)
592 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
594 switch (objp
->status
) {
596 if (!xdr_nfslog_CREATE3resok(
597 xdrs
, &objp
->nfslog_CREATE3res_u
.ok
))
605 xdr_nfslog_SETATTR3args(XDR
*xdrs
, nfslog_SETATTR3args
*objp
)
607 if (!xdr_nfs_fh3(xdrs
, &objp
->object
))
609 if (!xdr_set_size3(xdrs
, &objp
->size
))
615 xdr_nfslog_READLINK3res(XDR
*xdrs
, nfslog_READLINK3res
*objp
)
617 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
619 switch (objp
->status
) {
621 if (!xdr_string(xdrs
, &objp
->nfslog_READLINK3res_u
.data
, ~0))
629 xdr_nfslog_READ3args(XDR
*xdrs
, nfslog_READ3args
*objp
)
631 if (!xdr_nfs_fh3(xdrs
, &objp
->file
))
633 if (!xdr_offset3(xdrs
, &objp
->offset
))
635 if (!xdr_count3(xdrs
, &objp
->count
))
641 xdr_nfslog_READ3resok(XDR
*xdrs
, nfslog_READ3resok
*objp
)
643 if (!xdr_size3(xdrs
, &objp
->filesize
))
645 if (!xdr_count3(xdrs
, &objp
->count
))
647 if (!xdr_bool(xdrs
, &objp
->eof
))
649 if (!xdr_u_int(xdrs
, &objp
->size
))
655 xdr_nfslog_READ3res(XDR
*xdrs
, nfslog_READ3res
*objp
)
657 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
659 switch (objp
->status
) {
661 if (!xdr_nfslog_READ3resok(xdrs
, &objp
->nfslog_READ3res_u
.ok
))
669 xdr_nfslog_WRITE3args(XDR
*xdrs
, nfslog_WRITE3args
*objp
)
671 if (!xdr_nfs_fh3(xdrs
, &objp
->file
))
673 if (!xdr_offset3(xdrs
, &objp
->offset
))
675 if (!xdr_count3(xdrs
, &objp
->count
))
677 if (!xdr_stable_how(xdrs
, &objp
->stable
))
683 xdr_nfslog_WRITE3resok(XDR
*xdrs
, nfslog_WRITE3resok
*objp
)
685 if (!xdr_size3(xdrs
, &objp
->filesize
))
687 if (!xdr_count3(xdrs
, &objp
->count
))
689 if (!xdr_stable_how(xdrs
, &objp
->committed
))
695 xdr_nfslog_WRITE3res(XDR
*xdrs
, nfslog_WRITE3res
*objp
)
697 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
699 switch (objp
->status
) {
701 if (!xdr_nfslog_WRITE3resok(xdrs
, &objp
->nfslog_WRITE3res_u
.ok
))
709 xdr_nfslog_MKDIR3args(XDR
*xdrs
, nfslog_MKDIR3args
*objp
)
711 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->where
))
717 xdr_nfslog_MKDIR3res(XDR
*xdrs
, nfslog_MKDIR3res
*objp
)
719 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
721 switch (objp
->status
) {
723 if (!xdr_post_op_fh3(xdrs
, &objp
->nfslog_MKDIR3res_u
.obj
))
731 xdr_nfslog_SYMLINK3args(XDR
*xdrs
, nfslog_SYMLINK3args
*objp
)
733 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->where
))
735 if (!xdr_string(xdrs
, &objp
->symlink_data
, ~0))
741 xdr_nfslog_SYMLINK3res(XDR
*xdrs
, nfslog_SYMLINK3res
*objp
)
743 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
745 switch (objp
->status
) {
747 if (!xdr_post_op_fh3(xdrs
, &objp
->nfslog_SYMLINK3res_u
.obj
))
755 xdr_nfslog_MKNOD3args(XDR
*xdrs
, nfslog_MKNOD3args
*objp
)
757 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->where
))
759 if (!xdr_ftype3(xdrs
, &objp
->type
))
765 xdr_nfslog_MKNOD3res(XDR
*xdrs
, nfslog_MKNOD3res
*objp
)
767 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
769 switch (objp
->status
) {
771 if (!xdr_post_op_fh3(xdrs
, &objp
->nfslog_MKNOD3res_u
.obj
))
779 xdr_nfslog_REMOVE3args(XDR
*xdrs
, nfslog_REMOVE3args
*objp
)
781 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->object
))
787 xdr_nfslog_RMDIR3args(XDR
*xdrs
, nfslog_RMDIR3args
*objp
)
789 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->object
))
795 xdr_nfslog_RENAME3args(XDR
*xdrs
, nfslog_RENAME3args
*objp
)
797 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->from
))
799 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->to
))
805 xdr_nfslog_LINK3args(XDR
*xdrs
, nfslog_LINK3args
*objp
)
807 if (!xdr_nfs_fh3(xdrs
, &objp
->file
))
809 if (!xdr_nfslog_diropargs3(xdrs
, &objp
->link
))
815 xdr_nfslog_READDIRPLUS3args(XDR
*xdrs
, nfslog_READDIRPLUS3args
*objp
)
817 if (!xdr_nfs_fh3(xdrs
, &objp
->dir
))
819 if (!xdr_count3(xdrs
, &objp
->dircount
))
821 if (!xdr_count3(xdrs
, &objp
->maxcount
))
827 xdr_nfslog_entryplus3(XDR
*xdrs
, nfslog_entryplus3
*objp
)
829 if (!xdr_post_op_fh3(xdrs
, &objp
->name_handle
))
831 if (!xdr_string(xdrs
, &objp
->name
, ~0))
833 if (!xdr_pointer(xdrs
, (char **)&objp
->nextentry
,
834 sizeof (nfslog_entryplus3
), (xdrproc_t
)xdr_nfslog_entryplus3
))
840 xdr_nfslog_dirlistplus3(XDR
*xdrs
, nfslog_dirlistplus3
*objp
)
842 if (!xdr_pointer(xdrs
, (char **)&objp
->entries
,
843 sizeof (nfslog_entryplus3
), (xdrproc_t
)xdr_nfslog_entryplus3
))
845 if (!xdr_bool(xdrs
, &objp
->eof
))
851 xdr_nfslog_READDIRPLUS3resok(XDR
*xdrs
, nfslog_READDIRPLUS3resok
*objp
)
853 if (!xdr_nfslog_dirlistplus3(xdrs
, &objp
->reply
))
859 xdr_nfslog_READDIRPLUS3res(XDR
*xdrs
, nfslog_READDIRPLUS3res
*objp
)
861 if (!xdr_nfsstat3(xdrs
, &objp
->status
))
863 switch (objp
->status
) {
865 if (!xdr_nfslog_READDIRPLUS3resok(
866 xdrs
, &objp
->nfslog_READDIRPLUS3res_u
.ok
))
874 xdr_nfslog_COMMIT3args(XDR
*xdrs
, nfslog_COMMIT3args
*objp
)
876 if (!xdr_nfs_fh3(xdrs
, &objp
->file
))
878 if (!xdr_offset3(xdrs
, &objp
->offset
))
880 if (!xdr_count3(xdrs
, &objp
->count
))