xref: /csrg-svn/usr.sbin/amd/rpcx/amq_xdr.c (revision 61800)
144928Smckusick /*
244928Smckusick  * Copyright (c) 1990 Jan-Simon Pendry
344928Smckusick  * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
4*61800Sbostic  * Copyright (c) 1990, 1993
5*61800Sbostic  *	The Regents of the University of California.  All rights reserved.
644928Smckusick  *
744928Smckusick  * This code is derived from software contributed to Berkeley by
844928Smckusick  * Jan-Simon Pendry at Imperial College, London.
944928Smckusick  *
1044928Smckusick  * %sccs.include.redist.c%
1144928Smckusick  *
12*61800Sbostic  *	@(#)amq_xdr.c	8.1 (Berkeley) 06/06/93
1349685Spendry  *
1452457Spendry  * $Id: amq_xdr.c,v 5.2.2.1 1992/02/09 15:09:23 jsp beta $
1549685Spendry  *
1644928Smckusick  */
1744928Smckusick 
1844928Smckusick #include "am.h"
1944928Smckusick #include "amq.h"
2044928Smckusick 
2144928Smckusick 
2244928Smckusick bool_t
xdr_amq_string(xdrs,objp)2344928Smckusick xdr_amq_string(xdrs, objp)
2444928Smckusick 	XDR *xdrs;
2544928Smckusick 	amq_string *objp;
2644928Smckusick {
2744928Smckusick 	if (!xdr_string(xdrs, objp, AMQ_STRLEN)) {
2844928Smckusick 		return (FALSE);
2944928Smckusick 	}
3044928Smckusick 	return (TRUE);
3144928Smckusick }
3244928Smckusick 
3344928Smckusick 
3444928Smckusick 
3544928Smckusick 
3644928Smckusick bool_t
xdr_time_type(xdrs,objp)3744928Smckusick xdr_time_type(xdrs, objp)
3844928Smckusick 	XDR *xdrs;
3944928Smckusick 	time_type *objp;
4044928Smckusick {
4144928Smckusick 	if (!xdr_long(xdrs, objp)) {
4244928Smckusick 		return (FALSE);
4344928Smckusick 	}
4444928Smckusick 	return (TRUE);
4544928Smckusick }
4644928Smckusick 
4744928Smckusick 
4844928Smckusick 
4944928Smckusick 
5044928Smckusick bool_t
xdr_amq_mount_tree(xdrs,objp)5144928Smckusick xdr_amq_mount_tree(xdrs, objp)
5244928Smckusick 	XDR *xdrs;
5344928Smckusick 	amq_mount_tree *objp;
5444928Smckusick {
5544928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_mountinfo)) {
5644928Smckusick 		return (FALSE);
5744928Smckusick 	}
5844928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_directory)) {
5944928Smckusick 		return (FALSE);
6044928Smckusick 	}
6144928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_mountpoint)) {
6244928Smckusick 		return (FALSE);
6344928Smckusick 	}
6444928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mt_type)) {
6544928Smckusick 		return (FALSE);
6644928Smckusick 	}
6744928Smckusick 	if (!xdr_time_type(xdrs, &objp->mt_mounttime)) {
6844928Smckusick 		return (FALSE);
6944928Smckusick 	}
7044928Smckusick 	if (!xdr_u_short(xdrs, &objp->mt_mountuid)) {
7144928Smckusick 		return (FALSE);
7244928Smckusick 	}
7344928Smckusick 	if (!xdr_int(xdrs, &objp->mt_getattr)) {
7444928Smckusick 		return (FALSE);
7544928Smckusick 	}
7644928Smckusick 	if (!xdr_int(xdrs, &objp->mt_lookup)) {
7744928Smckusick 		return (FALSE);
7844928Smckusick 	}
7944928Smckusick 	if (!xdr_int(xdrs, &objp->mt_readdir)) {
8044928Smckusick 		return (FALSE);
8144928Smckusick 	}
8244928Smckusick 	if (!xdr_int(xdrs, &objp->mt_readlink)) {
8344928Smckusick 		return (FALSE);
8444928Smckusick 	}
8544928Smckusick 	if (!xdr_int(xdrs, &objp->mt_statfs)) {
8644928Smckusick 		return (FALSE);
8744928Smckusick 	}
8844928Smckusick 	if (!xdr_pointer(xdrs, (char **)&objp->mt_next, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
8944928Smckusick 		return (FALSE);
9044928Smckusick 	}
9144928Smckusick 	if (!xdr_pointer(xdrs, (char **)&objp->mt_child, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
9244928Smckusick 		return (FALSE);
9344928Smckusick 	}
9444928Smckusick 	return (TRUE);
9544928Smckusick }
9644928Smckusick 
9744928Smckusick 
9844928Smckusick 
9944928Smckusick 
10044928Smckusick bool_t
xdr_amq_mount_tree_p(xdrs,objp)10144928Smckusick xdr_amq_mount_tree_p(xdrs, objp)
10244928Smckusick 	XDR *xdrs;
10344928Smckusick 	amq_mount_tree_p *objp;
10444928Smckusick {
10544928Smckusick 	if (!xdr_pointer(xdrs, (char **)objp, sizeof(amq_mount_tree), xdr_amq_mount_tree)) {
10644928Smckusick 		return (FALSE);
10744928Smckusick 	}
10844928Smckusick 	return (TRUE);
10944928Smckusick }
11044928Smckusick 
11144928Smckusick 
11244928Smckusick 
11344928Smckusick bool_t
xdr_amq_mount_info(xdrs,objp)11444928Smckusick xdr_amq_mount_info(xdrs, objp)
11544928Smckusick 	XDR *xdrs;
11644928Smckusick 	amq_mount_info *objp;
11744928Smckusick {
11844928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_type)) {
11944928Smckusick 		return (FALSE);
12044928Smckusick 	}
12144928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_mountpt)) {
12244928Smckusick 		return (FALSE);
12344928Smckusick 	}
12444928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_mountinfo)) {
12544928Smckusick 		return (FALSE);
12644928Smckusick 	}
12744928Smckusick 	if (!xdr_amq_string(xdrs, &objp->mi_fserver)) {
12844928Smckusick 		return (FALSE);
12944928Smckusick 	}
13044928Smckusick 	if (!xdr_int(xdrs, &objp->mi_error)) {
13144928Smckusick 		return (FALSE);
13244928Smckusick 	}
13344928Smckusick 	if (!xdr_int(xdrs, &objp->mi_refc)) {
13444928Smckusick 		return (FALSE);
13544928Smckusick 	}
13644928Smckusick 	if (!xdr_int(xdrs, &objp->mi_up)) {
13744928Smckusick 		return (FALSE);
13844928Smckusick 	}
13944928Smckusick 	return (TRUE);
14044928Smckusick }
14144928Smckusick 
14244928Smckusick 
14344928Smckusick 
14444928Smckusick bool_t
xdr_amq_mount_info_list(xdrs,objp)14544928Smckusick xdr_amq_mount_info_list(xdrs, objp)
14644928Smckusick 	XDR *xdrs;
14744928Smckusick 	amq_mount_info_list *objp;
14844928Smckusick {
14944928Smckusick 	if (!xdr_array(xdrs, (char **)&objp->amq_mount_info_list_val, (u_int *)&objp->amq_mount_info_list_len, ~0, sizeof(amq_mount_info), xdr_amq_mount_info)) {
15044928Smckusick 		return (FALSE);
15144928Smckusick 	}
15244928Smckusick 	return (TRUE);
15344928Smckusick }
15444928Smckusick 
15544928Smckusick 
15644928Smckusick 
15744928Smckusick bool_t
xdr_amq_mount_tree_list(xdrs,objp)15844928Smckusick xdr_amq_mount_tree_list(xdrs, objp)
15944928Smckusick 	XDR *xdrs;
16044928Smckusick 	amq_mount_tree_list *objp;
16144928Smckusick {
16244928Smckusick 	if (!xdr_array(xdrs, (char **)&objp->amq_mount_tree_list_val, (u_int *)&objp->amq_mount_tree_list_len, ~0, sizeof(amq_mount_tree_p), xdr_amq_mount_tree_p)) {
16344928Smckusick 		return (FALSE);
16444928Smckusick 	}
16544928Smckusick 	return (TRUE);
16644928Smckusick }
16744928Smckusick 
16844928Smckusick 
16944928Smckusick 
17044928Smckusick 
17144928Smckusick bool_t
xdr_amq_mount_stats(xdrs,objp)17244928Smckusick xdr_amq_mount_stats(xdrs, objp)
17344928Smckusick 	XDR *xdrs;
17444928Smckusick 	amq_mount_stats *objp;
17544928Smckusick {
17644928Smckusick 	if (!xdr_int(xdrs, &objp->as_drops)) {
17744928Smckusick 		return (FALSE);
17844928Smckusick 	}
17944928Smckusick 	if (!xdr_int(xdrs, &objp->as_stale)) {
18044928Smckusick 		return (FALSE);
18144928Smckusick 	}
18244928Smckusick 	if (!xdr_int(xdrs, &objp->as_mok)) {
18344928Smckusick 		return (FALSE);
18444928Smckusick 	}
18544928Smckusick 	if (!xdr_int(xdrs, &objp->as_merr)) {
18644928Smckusick 		return (FALSE);
18744928Smckusick 	}
18844928Smckusick 	if (!xdr_int(xdrs, &objp->as_uerr)) {
18944928Smckusick 		return (FALSE);
19044928Smckusick 	}
19144928Smckusick 	return (TRUE);
19244928Smckusick }
19344928Smckusick 
19444928Smckusick 
19544928Smckusick 
19644928Smckusick 
19744928Smckusick bool_t
xdr_amq_opt(xdrs,objp)19844928Smckusick xdr_amq_opt(xdrs, objp)
19944928Smckusick 	XDR *xdrs;
20044928Smckusick 	amq_opt *objp;
20144928Smckusick {
20244928Smckusick 	if (!xdr_enum(xdrs, (enum_t *)objp)) {
20344928Smckusick 		return (FALSE);
20444928Smckusick 	}
20544928Smckusick 	return (TRUE);
20644928Smckusick }
20744928Smckusick 
20844928Smckusick 
20944928Smckusick 
21044928Smckusick 
21144928Smckusick bool_t
xdr_amq_setopt(xdrs,objp)21244928Smckusick xdr_amq_setopt(xdrs, objp)
21344928Smckusick 	XDR *xdrs;
21444928Smckusick 	amq_setopt *objp;
21544928Smckusick {
21644928Smckusick 	if (!xdr_amq_opt(xdrs, &objp->as_opt)) {
21744928Smckusick 		return (FALSE);
21844928Smckusick 	}
21944928Smckusick 	if (!xdr_amq_string(xdrs, &objp->as_str)) {
22044928Smckusick 		return (FALSE);
22144928Smckusick 	}
22244928Smckusick 	return (TRUE);
22344928Smckusick }
22444928Smckusick 
22544928Smckusick 
226