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