xref: /nrf52832-nimble/rt-thread/components/dfs/filesystems/nfs/mount_xdr.c (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero /*
2*10465441SEvalZero  * Copyright (c) 2006-2018, RT-Thread Development Team
3*10465441SEvalZero  *
4*10465441SEvalZero  * SPDX-License-Identifier: Apache-2.0
5*10465441SEvalZero  *
6*10465441SEvalZero  * Change Logs:
7*10465441SEvalZero  * Date           Author       Notes
8*10465441SEvalZero  */
9*10465441SEvalZero /*
10*10465441SEvalZero  * Please do not edit this file.
11*10465441SEvalZero  * It was generated using rpcgen.
12*10465441SEvalZero  */
13*10465441SEvalZero 
14*10465441SEvalZero #include "mount.h"
15*10465441SEvalZero /* This file is copied from RFC1813
16*10465441SEvalZero  * Copyright 1995 Sun Micrososystems (I assume)
17*10465441SEvalZero  */
18*10465441SEvalZero 
19*10465441SEvalZero bool_t
xdr_fhandle3(register XDR * xdrs,fhandle3 * objp)20*10465441SEvalZero xdr_fhandle3(register XDR *xdrs, fhandle3 *objp)
21*10465441SEvalZero {
22*10465441SEvalZero 	if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, (unsigned int *) &objp->fhandle3_len, FHSIZE3))
23*10465441SEvalZero 		return (FALSE);
24*10465441SEvalZero 	return (TRUE);
25*10465441SEvalZero }
26*10465441SEvalZero 
27*10465441SEvalZero bool_t
xdr_dirpath(register XDR * xdrs,dirpath * objp)28*10465441SEvalZero xdr_dirpath(register XDR *xdrs, dirpath *objp)
29*10465441SEvalZero {
30*10465441SEvalZero 	if (!xdr_string(xdrs, objp, MNTPATHLEN))
31*10465441SEvalZero 		return (FALSE);
32*10465441SEvalZero 	return (TRUE);
33*10465441SEvalZero }
34*10465441SEvalZero 
35*10465441SEvalZero bool_t
xdr_name(register XDR * xdrs,name * objp)36*10465441SEvalZero xdr_name(register XDR *xdrs, name *objp)
37*10465441SEvalZero {
38*10465441SEvalZero 	if (!xdr_string(xdrs, objp, MNTNAMLEN))
39*10465441SEvalZero 		return (FALSE);
40*10465441SEvalZero 	return (TRUE);
41*10465441SEvalZero }
42*10465441SEvalZero 
43*10465441SEvalZero bool_t
xdr_exports(register XDR * xdrs,exports * objp)44*10465441SEvalZero xdr_exports(register XDR *xdrs, exports *objp)
45*10465441SEvalZero {
46*10465441SEvalZero 	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct exportnode), (xdrproc_t) xdr_exportnode))
47*10465441SEvalZero 		return (FALSE);
48*10465441SEvalZero 	return (TRUE);
49*10465441SEvalZero }
50*10465441SEvalZero 
51*10465441SEvalZero bool_t
xdr_groups(register XDR * xdrs,groups * objp)52*10465441SEvalZero xdr_groups(register XDR *xdrs, groups *objp)
53*10465441SEvalZero {
54*10465441SEvalZero 	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct groupnode), (xdrproc_t) xdr_groupnode))
55*10465441SEvalZero 		return (FALSE);
56*10465441SEvalZero 	return (TRUE);
57*10465441SEvalZero }
58*10465441SEvalZero 
59*10465441SEvalZero bool_t
xdr_mountlist(register XDR * xdrs,mountlist * objp)60*10465441SEvalZero xdr_mountlist(register XDR *xdrs, mountlist *objp)
61*10465441SEvalZero {
62*10465441SEvalZero 	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct mountbody), (xdrproc_t) xdr_mountbody))
63*10465441SEvalZero 		return (FALSE);
64*10465441SEvalZero 	return (TRUE);
65*10465441SEvalZero }
66*10465441SEvalZero 
67*10465441SEvalZero bool_t
xdr_mountstat3(register XDR * xdrs,mountstat3 * objp)68*10465441SEvalZero xdr_mountstat3(register XDR *xdrs, mountstat3 *objp)
69*10465441SEvalZero {
70*10465441SEvalZero 	int enum_objp;
71*10465441SEvalZero 
72*10465441SEvalZero 	enum_objp = *objp;
73*10465441SEvalZero 
74*10465441SEvalZero 	if (!xdr_enum(xdrs, (enum_t *)&enum_objp))
75*10465441SEvalZero 	{
76*10465441SEvalZero 		*objp = (mountstat3)enum_objp;
77*10465441SEvalZero 		return (FALSE);
78*10465441SEvalZero 	}
79*10465441SEvalZero 
80*10465441SEvalZero 	return (TRUE);
81*10465441SEvalZero }
82*10465441SEvalZero 
83*10465441SEvalZero bool_t
xdr_mountres3_ok(register XDR * xdrs,mountres3_ok * objp)84*10465441SEvalZero xdr_mountres3_ok(register XDR *xdrs, mountres3_ok *objp)
85*10465441SEvalZero {
86*10465441SEvalZero 	if (!xdr_fhandle3(xdrs, &objp->fhandle))
87*10465441SEvalZero 		return (FALSE);
88*10465441SEvalZero 	if (!xdr_array(xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (unsigned int *) &objp->auth_flavors.auth_flavors_len, ~0,
89*10465441SEvalZero 		sizeof (int), (xdrproc_t) xdr_int))
90*10465441SEvalZero 		return (FALSE);
91*10465441SEvalZero 	return (TRUE);
92*10465441SEvalZero }
93*10465441SEvalZero 
94*10465441SEvalZero bool_t
xdr_mountres3(register XDR * xdrs,mountres3 * objp)95*10465441SEvalZero xdr_mountres3(register XDR *xdrs, mountres3 *objp)
96*10465441SEvalZero {
97*10465441SEvalZero 	if (!xdr_mountstat3(xdrs, &objp->fhs_status))
98*10465441SEvalZero 		return (FALSE);
99*10465441SEvalZero 	switch (objp->fhs_status) {
100*10465441SEvalZero 	case MNT3_OK:
101*10465441SEvalZero 		if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
102*10465441SEvalZero 			return (FALSE);
103*10465441SEvalZero 		break;
104*10465441SEvalZero 	}
105*10465441SEvalZero 	return (TRUE);
106*10465441SEvalZero }
107*10465441SEvalZero 
108*10465441SEvalZero bool_t
xdr_mountbody(register XDR * xdrs,mountbody * objp)109*10465441SEvalZero xdr_mountbody(register XDR *xdrs, mountbody *objp)
110*10465441SEvalZero {
111*10465441SEvalZero 	if (!xdr_name(xdrs, &objp->ml_hostname))
112*10465441SEvalZero 		return (FALSE);
113*10465441SEvalZero 	if (!xdr_dirpath(xdrs, &objp->ml_directory))
114*10465441SEvalZero 		return (FALSE);
115*10465441SEvalZero 	if (!xdr_mountlist(xdrs, &objp->ml_next))
116*10465441SEvalZero 		return (FALSE);
117*10465441SEvalZero 	return (TRUE);
118*10465441SEvalZero }
119*10465441SEvalZero 
120*10465441SEvalZero bool_t
xdr_groupnode(register XDR * xdrs,groupnode * objp)121*10465441SEvalZero xdr_groupnode(register XDR *xdrs, groupnode *objp)
122*10465441SEvalZero {
123*10465441SEvalZero 	if (!xdr_name(xdrs, &objp->gr_name))
124*10465441SEvalZero 		return (FALSE);
125*10465441SEvalZero 	if (!xdr_groups(xdrs, &objp->gr_next))
126*10465441SEvalZero 		return (FALSE);
127*10465441SEvalZero 	return (TRUE);
128*10465441SEvalZero }
129*10465441SEvalZero 
130*10465441SEvalZero bool_t
xdr_exportnode(register XDR * xdrs,exportnode * objp)131*10465441SEvalZero xdr_exportnode(register XDR *xdrs, exportnode *objp)
132*10465441SEvalZero {
133*10465441SEvalZero 	if (!xdr_dirpath(xdrs, &objp->ex_dir))
134*10465441SEvalZero 		return (FALSE);
135*10465441SEvalZero 	if (!xdr_groups(xdrs, &objp->ex_groups))
136*10465441SEvalZero 		return (FALSE);
137*10465441SEvalZero 	if (!xdr_exports(xdrs, &objp->ex_next))
138*10465441SEvalZero 		return (FALSE);
139*10465441SEvalZero 	return (TRUE);
140*10465441SEvalZero }
141