1 // SPDX-License-Identifier: GPL-2.0
2 // Generated by xdrgen. Manual edits will be lost.
3 // XDR specification file: ../../Documentation/sunrpc/xdr/nfs4_1.x
4 // XDR specification modification time: Mon Oct 14 09:10:13 2024
5 
6 #include <linux/sunrpc/svc.h>
7 
8 #include "nfs4xdr_gen.h"
9 
10 static bool __maybe_unused
xdrgen_decode_int64_t(struct xdr_stream * xdr,int64_t * ptr)11 xdrgen_decode_int64_t(struct xdr_stream *xdr, int64_t *ptr)
12 {
13 	return xdrgen_decode_hyper(xdr, ptr);
14 };
15 
16 static bool __maybe_unused
xdrgen_decode_uint32_t(struct xdr_stream * xdr,uint32_t * ptr)17 xdrgen_decode_uint32_t(struct xdr_stream *xdr, uint32_t *ptr)
18 {
19 	return xdrgen_decode_unsigned_int(xdr, ptr);
20 };
21 
22 static bool __maybe_unused
xdrgen_decode_bitmap4(struct xdr_stream * xdr,bitmap4 * ptr)23 xdrgen_decode_bitmap4(struct xdr_stream *xdr, bitmap4 *ptr)
24 {
25 	if (xdr_stream_decode_u32(xdr, &ptr->count) < 0)
26 		return false;
27 	for (u32 i = 0; i < ptr->count; i++)
28 		if (!xdrgen_decode_uint32_t(xdr, &ptr->element[i]))
29 			return false;
30 	return true;
31 };
32 
33 static bool __maybe_unused
xdrgen_decode_nfstime4(struct xdr_stream * xdr,struct nfstime4 * ptr)34 xdrgen_decode_nfstime4(struct xdr_stream *xdr, struct nfstime4 *ptr)
35 {
36 	if (!xdrgen_decode_int64_t(xdr, &ptr->seconds))
37 		return false;
38 	if (!xdrgen_decode_uint32_t(xdr, &ptr->nseconds))
39 		return false;
40 	return true;
41 };
42 
43 static bool __maybe_unused
xdrgen_decode_fattr4_offline(struct xdr_stream * xdr,fattr4_offline * ptr)44 xdrgen_decode_fattr4_offline(struct xdr_stream *xdr, fattr4_offline *ptr)
45 {
46 	return xdrgen_decode_bool(xdr, ptr);
47 };
48 
49 static bool __maybe_unused
xdrgen_decode_open_arguments4(struct xdr_stream * xdr,struct open_arguments4 * ptr)50 xdrgen_decode_open_arguments4(struct xdr_stream *xdr, struct open_arguments4 *ptr)
51 {
52 	if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_share_access))
53 		return false;
54 	if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_share_deny))
55 		return false;
56 	if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_share_access_want))
57 		return false;
58 	if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_open_claim))
59 		return false;
60 	if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_create_mode))
61 		return false;
62 	return true;
63 };
64 
65 static bool __maybe_unused
xdrgen_decode_open_args_share_access4(struct xdr_stream * xdr,open_args_share_access4 * ptr)66 xdrgen_decode_open_args_share_access4(struct xdr_stream *xdr, open_args_share_access4 *ptr)
67 {
68 	u32 val;
69 
70 	if (xdr_stream_decode_u32(xdr, &val) < 0)
71 		return false;
72 	*ptr = val;
73 	return true;
74 }
75 
76 static bool __maybe_unused
xdrgen_decode_open_args_share_deny4(struct xdr_stream * xdr,open_args_share_deny4 * ptr)77 xdrgen_decode_open_args_share_deny4(struct xdr_stream *xdr, open_args_share_deny4 *ptr)
78 {
79 	u32 val;
80 
81 	if (xdr_stream_decode_u32(xdr, &val) < 0)
82 		return false;
83 	*ptr = val;
84 	return true;
85 }
86 
87 static bool __maybe_unused
xdrgen_decode_open_args_share_access_want4(struct xdr_stream * xdr,open_args_share_access_want4 * ptr)88 xdrgen_decode_open_args_share_access_want4(struct xdr_stream *xdr, open_args_share_access_want4 *ptr)
89 {
90 	u32 val;
91 
92 	if (xdr_stream_decode_u32(xdr, &val) < 0)
93 		return false;
94 	*ptr = val;
95 	return true;
96 }
97 
98 static bool __maybe_unused
xdrgen_decode_open_args_open_claim4(struct xdr_stream * xdr,open_args_open_claim4 * ptr)99 xdrgen_decode_open_args_open_claim4(struct xdr_stream *xdr, open_args_open_claim4 *ptr)
100 {
101 	u32 val;
102 
103 	if (xdr_stream_decode_u32(xdr, &val) < 0)
104 		return false;
105 	*ptr = val;
106 	return true;
107 }
108 
109 static bool __maybe_unused
xdrgen_decode_open_args_createmode4(struct xdr_stream * xdr,open_args_createmode4 * ptr)110 xdrgen_decode_open_args_createmode4(struct xdr_stream *xdr, open_args_createmode4 *ptr)
111 {
112 	u32 val;
113 
114 	if (xdr_stream_decode_u32(xdr, &val) < 0)
115 		return false;
116 	*ptr = val;
117 	return true;
118 }
119 
120 bool
xdrgen_decode_fattr4_open_arguments(struct xdr_stream * xdr,fattr4_open_arguments * ptr)121 xdrgen_decode_fattr4_open_arguments(struct xdr_stream *xdr, fattr4_open_arguments *ptr)
122 {
123 	return xdrgen_decode_open_arguments4(xdr, ptr);
124 };
125 
126 bool
xdrgen_decode_fattr4_time_deleg_access(struct xdr_stream * xdr,fattr4_time_deleg_access * ptr)127 xdrgen_decode_fattr4_time_deleg_access(struct xdr_stream *xdr, fattr4_time_deleg_access *ptr)
128 {
129 	return xdrgen_decode_nfstime4(xdr, ptr);
130 };
131 
132 bool
xdrgen_decode_fattr4_time_deleg_modify(struct xdr_stream * xdr,fattr4_time_deleg_modify * ptr)133 xdrgen_decode_fattr4_time_deleg_modify(struct xdr_stream *xdr, fattr4_time_deleg_modify *ptr)
134 {
135 	return xdrgen_decode_nfstime4(xdr, ptr);
136 };
137 
138 static bool __maybe_unused
xdrgen_decode_open_delegation_type4(struct xdr_stream * xdr,open_delegation_type4 * ptr)139 xdrgen_decode_open_delegation_type4(struct xdr_stream *xdr, open_delegation_type4 *ptr)
140 {
141 	u32 val;
142 
143 	if (xdr_stream_decode_u32(xdr, &val) < 0)
144 		return false;
145 	*ptr = val;
146 	return true;
147 }
148 
149 static bool __maybe_unused
xdrgen_encode_int64_t(struct xdr_stream * xdr,const int64_t value)150 xdrgen_encode_int64_t(struct xdr_stream *xdr, const int64_t value)
151 {
152 	return xdrgen_encode_hyper(xdr, value);
153 };
154 
155 static bool __maybe_unused
xdrgen_encode_uint32_t(struct xdr_stream * xdr,const uint32_t value)156 xdrgen_encode_uint32_t(struct xdr_stream *xdr, const uint32_t value)
157 {
158 	return xdrgen_encode_unsigned_int(xdr, value);
159 };
160 
161 static bool __maybe_unused
xdrgen_encode_bitmap4(struct xdr_stream * xdr,const bitmap4 value)162 xdrgen_encode_bitmap4(struct xdr_stream *xdr, const bitmap4 value)
163 {
164 	if (xdr_stream_encode_u32(xdr, value.count) != XDR_UNIT)
165 		return false;
166 	for (u32 i = 0; i < value.count; i++)
167 		if (!xdrgen_encode_uint32_t(xdr, value.element[i]))
168 			return false;
169 	return true;
170 };
171 
172 static bool __maybe_unused
xdrgen_encode_nfstime4(struct xdr_stream * xdr,const struct nfstime4 * value)173 xdrgen_encode_nfstime4(struct xdr_stream *xdr, const struct nfstime4 *value)
174 {
175 	if (!xdrgen_encode_int64_t(xdr, value->seconds))
176 		return false;
177 	if (!xdrgen_encode_uint32_t(xdr, value->nseconds))
178 		return false;
179 	return true;
180 };
181 
182 static bool __maybe_unused
xdrgen_encode_fattr4_offline(struct xdr_stream * xdr,const fattr4_offline value)183 xdrgen_encode_fattr4_offline(struct xdr_stream *xdr, const fattr4_offline value)
184 {
185 	return xdrgen_encode_bool(xdr, value);
186 };
187 
188 static bool __maybe_unused
xdrgen_encode_open_arguments4(struct xdr_stream * xdr,const struct open_arguments4 * value)189 xdrgen_encode_open_arguments4(struct xdr_stream *xdr, const struct open_arguments4 *value)
190 {
191 	if (!xdrgen_encode_bitmap4(xdr, value->oa_share_access))
192 		return false;
193 	if (!xdrgen_encode_bitmap4(xdr, value->oa_share_deny))
194 		return false;
195 	if (!xdrgen_encode_bitmap4(xdr, value->oa_share_access_want))
196 		return false;
197 	if (!xdrgen_encode_bitmap4(xdr, value->oa_open_claim))
198 		return false;
199 	if (!xdrgen_encode_bitmap4(xdr, value->oa_create_mode))
200 		return false;
201 	return true;
202 };
203 
204 static bool __maybe_unused
xdrgen_encode_open_args_share_access4(struct xdr_stream * xdr,open_args_share_access4 value)205 xdrgen_encode_open_args_share_access4(struct xdr_stream *xdr, open_args_share_access4 value)
206 {
207 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
208 }
209 
210 static bool __maybe_unused
xdrgen_encode_open_args_share_deny4(struct xdr_stream * xdr,open_args_share_deny4 value)211 xdrgen_encode_open_args_share_deny4(struct xdr_stream *xdr, open_args_share_deny4 value)
212 {
213 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
214 }
215 
216 static bool __maybe_unused
xdrgen_encode_open_args_share_access_want4(struct xdr_stream * xdr,open_args_share_access_want4 value)217 xdrgen_encode_open_args_share_access_want4(struct xdr_stream *xdr, open_args_share_access_want4 value)
218 {
219 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
220 }
221 
222 static bool __maybe_unused
xdrgen_encode_open_args_open_claim4(struct xdr_stream * xdr,open_args_open_claim4 value)223 xdrgen_encode_open_args_open_claim4(struct xdr_stream *xdr, open_args_open_claim4 value)
224 {
225 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
226 }
227 
228 static bool __maybe_unused
xdrgen_encode_open_args_createmode4(struct xdr_stream * xdr,open_args_createmode4 value)229 xdrgen_encode_open_args_createmode4(struct xdr_stream *xdr, open_args_createmode4 value)
230 {
231 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
232 }
233 
234 bool
xdrgen_encode_fattr4_open_arguments(struct xdr_stream * xdr,const fattr4_open_arguments * value)235 xdrgen_encode_fattr4_open_arguments(struct xdr_stream *xdr, const fattr4_open_arguments *value)
236 {
237 	return xdrgen_encode_open_arguments4(xdr, value);
238 };
239 
240 bool
xdrgen_encode_fattr4_time_deleg_access(struct xdr_stream * xdr,const fattr4_time_deleg_access * value)241 xdrgen_encode_fattr4_time_deleg_access(struct xdr_stream *xdr, const fattr4_time_deleg_access *value)
242 {
243 	return xdrgen_encode_nfstime4(xdr, value);
244 };
245 
246 bool
xdrgen_encode_fattr4_time_deleg_modify(struct xdr_stream * xdr,const fattr4_time_deleg_modify * value)247 xdrgen_encode_fattr4_time_deleg_modify(struct xdr_stream *xdr, const fattr4_time_deleg_modify *value)
248 {
249 	return xdrgen_encode_nfstime4(xdr, value);
250 };
251 
252 static bool __maybe_unused
xdrgen_encode_open_delegation_type4(struct xdr_stream * xdr,open_delegation_type4 value)253 xdrgen_encode_open_delegation_type4(struct xdr_stream *xdr, open_delegation_type4 value)
254 {
255 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
256 }
257