xref: /linux/fs/lockd/nlm4xdr_gen.c (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1*5bc37b75SChuck Lever // SPDX-License-Identifier: GPL-2.0
2*5bc37b75SChuck Lever // Generated by xdrgen. Manual edits will be lost.
3*5bc37b75SChuck Lever // XDR specification file: ../../Documentation/sunrpc/xdr/nlm4.x
4*5bc37b75SChuck Lever // XDR specification modification time: Thu Dec 25 13:10:19 2025
5*5bc37b75SChuck Lever 
6*5bc37b75SChuck Lever #include <linux/sunrpc/svc.h>
7*5bc37b75SChuck Lever 
8*5bc37b75SChuck Lever #include "nlm4xdr_gen.h"
9*5bc37b75SChuck Lever 
10*5bc37b75SChuck Lever static bool __maybe_unused
11*5bc37b75SChuck Lever xdrgen_decode_netobj(struct xdr_stream *xdr, netobj *ptr)
12*5bc37b75SChuck Lever {
13*5bc37b75SChuck Lever 	return xdrgen_decode_opaque(xdr, ptr, MAXNETOBJ_SZ);
14*5bc37b75SChuck Lever }
15*5bc37b75SChuck Lever 
16*5bc37b75SChuck Lever static bool __maybe_unused
17*5bc37b75SChuck Lever xdrgen_decode_fsh4_mode(struct xdr_stream *xdr, fsh4_mode *ptr)
18*5bc37b75SChuck Lever {
19*5bc37b75SChuck Lever 	u32 val;
20*5bc37b75SChuck Lever 
21*5bc37b75SChuck Lever 	if (xdr_stream_decode_u32(xdr, &val) < 0)
22*5bc37b75SChuck Lever 		return false;
23*5bc37b75SChuck Lever 	*ptr = val;
24*5bc37b75SChuck Lever 	return true;
25*5bc37b75SChuck Lever }
26*5bc37b75SChuck Lever 
27*5bc37b75SChuck Lever static bool __maybe_unused
28*5bc37b75SChuck Lever xdrgen_decode_fsh4_access(struct xdr_stream *xdr, fsh4_access *ptr)
29*5bc37b75SChuck Lever {
30*5bc37b75SChuck Lever 	u32 val;
31*5bc37b75SChuck Lever 
32*5bc37b75SChuck Lever 	if (xdr_stream_decode_u32(xdr, &val) < 0)
33*5bc37b75SChuck Lever 		return false;
34*5bc37b75SChuck Lever 	*ptr = val;
35*5bc37b75SChuck Lever 	return true;
36*5bc37b75SChuck Lever }
37*5bc37b75SChuck Lever 
38*5bc37b75SChuck Lever static bool __maybe_unused
39*5bc37b75SChuck Lever xdrgen_decode_uint64(struct xdr_stream *xdr, uint64 *ptr)
40*5bc37b75SChuck Lever {
41*5bc37b75SChuck Lever 	return xdrgen_decode_unsigned_hyper(xdr, ptr);
42*5bc37b75SChuck Lever }
43*5bc37b75SChuck Lever 
44*5bc37b75SChuck Lever static bool __maybe_unused
45*5bc37b75SChuck Lever xdrgen_decode_int64(struct xdr_stream *xdr, int64 *ptr)
46*5bc37b75SChuck Lever {
47*5bc37b75SChuck Lever 	return xdrgen_decode_hyper(xdr, ptr);
48*5bc37b75SChuck Lever }
49*5bc37b75SChuck Lever 
50*5bc37b75SChuck Lever static bool __maybe_unused
51*5bc37b75SChuck Lever xdrgen_decode_uint32(struct xdr_stream *xdr, uint32 *ptr)
52*5bc37b75SChuck Lever {
53*5bc37b75SChuck Lever 	return xdrgen_decode_unsigned_long(xdr, ptr);
54*5bc37b75SChuck Lever }
55*5bc37b75SChuck Lever 
56*5bc37b75SChuck Lever static bool __maybe_unused
57*5bc37b75SChuck Lever xdrgen_decode_int32(struct xdr_stream *xdr, int32 *ptr)
58*5bc37b75SChuck Lever {
59*5bc37b75SChuck Lever 	return xdrgen_decode_long(xdr, ptr);
60*5bc37b75SChuck Lever }
61*5bc37b75SChuck Lever 
62*5bc37b75SChuck Lever static bool __maybe_unused
63*5bc37b75SChuck Lever xdrgen_decode_nlm4_stats(struct xdr_stream *xdr, nlm4_stats *ptr)
64*5bc37b75SChuck Lever {
65*5bc37b75SChuck Lever 	return xdr_stream_decode_be32(xdr, ptr) == 0;
66*5bc37b75SChuck Lever }
67*5bc37b75SChuck Lever 
68*5bc37b75SChuck Lever static bool __maybe_unused
69*5bc37b75SChuck Lever xdrgen_decode_nlm4_holder(struct xdr_stream *xdr, struct nlm4_holder *ptr)
70*5bc37b75SChuck Lever {
71*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->exclusive))
72*5bc37b75SChuck Lever 		return false;
73*5bc37b75SChuck Lever 	if (!xdrgen_decode_int32(xdr, &ptr->svid))
74*5bc37b75SChuck Lever 		return false;
75*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->oh))
76*5bc37b75SChuck Lever 		return false;
77*5bc37b75SChuck Lever 	if (!xdrgen_decode_uint64(xdr, &ptr->l_offset))
78*5bc37b75SChuck Lever 		return false;
79*5bc37b75SChuck Lever 	if (!xdrgen_decode_uint64(xdr, &ptr->l_len))
80*5bc37b75SChuck Lever 		return false;
81*5bc37b75SChuck Lever 	return true;
82*5bc37b75SChuck Lever }
83*5bc37b75SChuck Lever 
84*5bc37b75SChuck Lever static bool __maybe_unused
85*5bc37b75SChuck Lever xdrgen_decode_nlm4_testrply(struct xdr_stream *xdr, struct nlm4_testrply *ptr)
86*5bc37b75SChuck Lever {
87*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_stats(xdr, &ptr->stat))
88*5bc37b75SChuck Lever 		return false;
89*5bc37b75SChuck Lever 	switch (ptr->stat) {
90*5bc37b75SChuck Lever 	case __constant_cpu_to_be32(NLM4_DENIED):
91*5bc37b75SChuck Lever 		if (!xdrgen_decode_nlm4_holder(xdr, &ptr->u.holder))
92*5bc37b75SChuck Lever 			return false;
93*5bc37b75SChuck Lever 		break;
94*5bc37b75SChuck Lever 	default:
95*5bc37b75SChuck Lever 		break;
96*5bc37b75SChuck Lever 	}
97*5bc37b75SChuck Lever 	return true;
98*5bc37b75SChuck Lever }
99*5bc37b75SChuck Lever 
100*5bc37b75SChuck Lever static bool __maybe_unused
101*5bc37b75SChuck Lever xdrgen_decode_nlm4_stat(struct xdr_stream *xdr, struct nlm4_stat *ptr)
102*5bc37b75SChuck Lever {
103*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_stats(xdr, &ptr->stat))
104*5bc37b75SChuck Lever 		return false;
105*5bc37b75SChuck Lever 	return true;
106*5bc37b75SChuck Lever }
107*5bc37b75SChuck Lever 
108*5bc37b75SChuck Lever static bool __maybe_unused
109*5bc37b75SChuck Lever xdrgen_decode_nlm4_res(struct xdr_stream *xdr, struct nlm4_res *ptr)
110*5bc37b75SChuck Lever {
111*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
112*5bc37b75SChuck Lever 		return false;
113*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_stat(xdr, &ptr->stat))
114*5bc37b75SChuck Lever 		return false;
115*5bc37b75SChuck Lever 	return true;
116*5bc37b75SChuck Lever }
117*5bc37b75SChuck Lever 
118*5bc37b75SChuck Lever static bool __maybe_unused
119*5bc37b75SChuck Lever xdrgen_decode_nlm4_testres(struct xdr_stream *xdr, struct nlm4_testres *ptr)
120*5bc37b75SChuck Lever {
121*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
122*5bc37b75SChuck Lever 		return false;
123*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_testrply(xdr, &ptr->stat))
124*5bc37b75SChuck Lever 		return false;
125*5bc37b75SChuck Lever 	return true;
126*5bc37b75SChuck Lever }
127*5bc37b75SChuck Lever 
128*5bc37b75SChuck Lever static bool __maybe_unused
129*5bc37b75SChuck Lever xdrgen_decode_nlm4_lock(struct xdr_stream *xdr, struct nlm4_lock *ptr)
130*5bc37b75SChuck Lever {
131*5bc37b75SChuck Lever 	if (!xdrgen_decode_string(xdr, (string *)ptr, LM_MAXSTRLEN))
132*5bc37b75SChuck Lever 		return false;
133*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->fh))
134*5bc37b75SChuck Lever 		return false;
135*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->oh))
136*5bc37b75SChuck Lever 		return false;
137*5bc37b75SChuck Lever 	if (!xdrgen_decode_int32(xdr, &ptr->svid))
138*5bc37b75SChuck Lever 		return false;
139*5bc37b75SChuck Lever 	if (!xdrgen_decode_uint64(xdr, &ptr->l_offset))
140*5bc37b75SChuck Lever 		return false;
141*5bc37b75SChuck Lever 	if (!xdrgen_decode_uint64(xdr, &ptr->l_len))
142*5bc37b75SChuck Lever 		return false;
143*5bc37b75SChuck Lever 	return true;
144*5bc37b75SChuck Lever }
145*5bc37b75SChuck Lever 
146*5bc37b75SChuck Lever static bool __maybe_unused
147*5bc37b75SChuck Lever xdrgen_decode_nlm4_lockargs(struct xdr_stream *xdr, struct nlm4_lockargs *ptr)
148*5bc37b75SChuck Lever {
149*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
150*5bc37b75SChuck Lever 		return false;
151*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->block))
152*5bc37b75SChuck Lever 		return false;
153*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->exclusive))
154*5bc37b75SChuck Lever 		return false;
155*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_lock(xdr, &ptr->alock))
156*5bc37b75SChuck Lever 		return false;
157*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->reclaim))
158*5bc37b75SChuck Lever 		return false;
159*5bc37b75SChuck Lever 	if (!xdrgen_decode_int32(xdr, &ptr->state))
160*5bc37b75SChuck Lever 		return false;
161*5bc37b75SChuck Lever 	return true;
162*5bc37b75SChuck Lever }
163*5bc37b75SChuck Lever 
164*5bc37b75SChuck Lever static bool __maybe_unused
165*5bc37b75SChuck Lever xdrgen_decode_nlm4_cancargs(struct xdr_stream *xdr, struct nlm4_cancargs *ptr)
166*5bc37b75SChuck Lever {
167*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
168*5bc37b75SChuck Lever 		return false;
169*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->block))
170*5bc37b75SChuck Lever 		return false;
171*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->exclusive))
172*5bc37b75SChuck Lever 		return false;
173*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_lock(xdr, &ptr->alock))
174*5bc37b75SChuck Lever 		return false;
175*5bc37b75SChuck Lever 	return true;
176*5bc37b75SChuck Lever }
177*5bc37b75SChuck Lever 
178*5bc37b75SChuck Lever static bool __maybe_unused
179*5bc37b75SChuck Lever xdrgen_decode_nlm4_testargs(struct xdr_stream *xdr, struct nlm4_testargs *ptr)
180*5bc37b75SChuck Lever {
181*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
182*5bc37b75SChuck Lever 		return false;
183*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->exclusive))
184*5bc37b75SChuck Lever 		return false;
185*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_lock(xdr, &ptr->alock))
186*5bc37b75SChuck Lever 		return false;
187*5bc37b75SChuck Lever 	return true;
188*5bc37b75SChuck Lever }
189*5bc37b75SChuck Lever 
190*5bc37b75SChuck Lever static bool __maybe_unused
191*5bc37b75SChuck Lever xdrgen_decode_nlm4_unlockargs(struct xdr_stream *xdr, struct nlm4_unlockargs *ptr)
192*5bc37b75SChuck Lever {
193*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
194*5bc37b75SChuck Lever 		return false;
195*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_lock(xdr, &ptr->alock))
196*5bc37b75SChuck Lever 		return false;
197*5bc37b75SChuck Lever 	return true;
198*5bc37b75SChuck Lever }
199*5bc37b75SChuck Lever 
200*5bc37b75SChuck Lever static bool __maybe_unused
201*5bc37b75SChuck Lever xdrgen_decode_nlm4_share(struct xdr_stream *xdr, struct nlm4_share *ptr)
202*5bc37b75SChuck Lever {
203*5bc37b75SChuck Lever 	if (!xdrgen_decode_string(xdr, (string *)ptr, LM_MAXSTRLEN))
204*5bc37b75SChuck Lever 		return false;
205*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->fh))
206*5bc37b75SChuck Lever 		return false;
207*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->oh))
208*5bc37b75SChuck Lever 		return false;
209*5bc37b75SChuck Lever 	if (!xdrgen_decode_fsh4_mode(xdr, &ptr->mode))
210*5bc37b75SChuck Lever 		return false;
211*5bc37b75SChuck Lever 	if (!xdrgen_decode_fsh4_access(xdr, &ptr->access))
212*5bc37b75SChuck Lever 		return false;
213*5bc37b75SChuck Lever 	return true;
214*5bc37b75SChuck Lever }
215*5bc37b75SChuck Lever 
216*5bc37b75SChuck Lever static bool __maybe_unused
217*5bc37b75SChuck Lever xdrgen_decode_nlm4_shareargs(struct xdr_stream *xdr, struct nlm4_shareargs *ptr)
218*5bc37b75SChuck Lever {
219*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
220*5bc37b75SChuck Lever 		return false;
221*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_share(xdr, &ptr->share))
222*5bc37b75SChuck Lever 		return false;
223*5bc37b75SChuck Lever 	if (!xdrgen_decode_bool(xdr, &ptr->reclaim))
224*5bc37b75SChuck Lever 		return false;
225*5bc37b75SChuck Lever 	return true;
226*5bc37b75SChuck Lever }
227*5bc37b75SChuck Lever 
228*5bc37b75SChuck Lever static bool __maybe_unused
229*5bc37b75SChuck Lever xdrgen_decode_nlm4_shareres(struct xdr_stream *xdr, struct nlm4_shareres *ptr)
230*5bc37b75SChuck Lever {
231*5bc37b75SChuck Lever 	if (!xdrgen_decode_netobj(xdr, &ptr->cookie))
232*5bc37b75SChuck Lever 		return false;
233*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_stats(xdr, &ptr->stat))
234*5bc37b75SChuck Lever 		return false;
235*5bc37b75SChuck Lever 	if (!xdrgen_decode_int32(xdr, &ptr->sequence))
236*5bc37b75SChuck Lever 		return false;
237*5bc37b75SChuck Lever 	return true;
238*5bc37b75SChuck Lever }
239*5bc37b75SChuck Lever 
240*5bc37b75SChuck Lever static bool __maybe_unused
241*5bc37b75SChuck Lever xdrgen_decode_nlm4_notify(struct xdr_stream *xdr, struct nlm4_notify *ptr)
242*5bc37b75SChuck Lever {
243*5bc37b75SChuck Lever 	if (!xdrgen_decode_string(xdr, (string *)ptr, LM_MAXNAMELEN))
244*5bc37b75SChuck Lever 		return false;
245*5bc37b75SChuck Lever 	if (!xdrgen_decode_int32(xdr, &ptr->state))
246*5bc37b75SChuck Lever 		return false;
247*5bc37b75SChuck Lever 	return true;
248*5bc37b75SChuck Lever }
249*5bc37b75SChuck Lever 
250*5bc37b75SChuck Lever static bool __maybe_unused
251*5bc37b75SChuck Lever xdrgen_decode_nlm4_notifyargs(struct xdr_stream *xdr, struct nlm4_notifyargs *ptr)
252*5bc37b75SChuck Lever {
253*5bc37b75SChuck Lever 	if (!xdrgen_decode_nlm4_notify(xdr, &ptr->notify))
254*5bc37b75SChuck Lever 		return false;
255*5bc37b75SChuck Lever 	if (xdr_stream_decode_opaque_fixed(xdr, ptr->private, SM_PRIV_SIZE) < 0)
256*5bc37b75SChuck Lever 		return false;
257*5bc37b75SChuck Lever 	return true;
258*5bc37b75SChuck Lever }
259*5bc37b75SChuck Lever 
260*5bc37b75SChuck Lever /**
261*5bc37b75SChuck Lever  * nlm4_svc_decode_void - Decode a void argument
262*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
263*5bc37b75SChuck Lever  * @xdr: source XDR data stream
264*5bc37b75SChuck Lever  *
265*5bc37b75SChuck Lever  * Return values:
266*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
267*5bc37b75SChuck Lever  *   %false: decode failed
268*5bc37b75SChuck Lever  */
269*5bc37b75SChuck Lever bool nlm4_svc_decode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr)
270*5bc37b75SChuck Lever {
271*5bc37b75SChuck Lever 	return xdrgen_decode_void(xdr);
272*5bc37b75SChuck Lever }
273*5bc37b75SChuck Lever 
274*5bc37b75SChuck Lever /**
275*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_testargs - Decode a nlm4_testargs argument
276*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
277*5bc37b75SChuck Lever  * @xdr: source XDR data stream
278*5bc37b75SChuck Lever  *
279*5bc37b75SChuck Lever  * Return values:
280*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
281*5bc37b75SChuck Lever  *   %false: decode failed
282*5bc37b75SChuck Lever  */
283*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_testargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
284*5bc37b75SChuck Lever {
285*5bc37b75SChuck Lever 	struct nlm4_testargs *argp = rqstp->rq_argp;
286*5bc37b75SChuck Lever 
287*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_testargs(xdr, argp);
288*5bc37b75SChuck Lever }
289*5bc37b75SChuck Lever 
290*5bc37b75SChuck Lever /**
291*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_lockargs - Decode a nlm4_lockargs argument
292*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
293*5bc37b75SChuck Lever  * @xdr: source XDR data stream
294*5bc37b75SChuck Lever  *
295*5bc37b75SChuck Lever  * Return values:
296*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
297*5bc37b75SChuck Lever  *   %false: decode failed
298*5bc37b75SChuck Lever  */
299*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_lockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
300*5bc37b75SChuck Lever {
301*5bc37b75SChuck Lever 	struct nlm4_lockargs *argp = rqstp->rq_argp;
302*5bc37b75SChuck Lever 
303*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_lockargs(xdr, argp);
304*5bc37b75SChuck Lever }
305*5bc37b75SChuck Lever 
306*5bc37b75SChuck Lever /**
307*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_cancargs - Decode a nlm4_cancargs argument
308*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
309*5bc37b75SChuck Lever  * @xdr: source XDR data stream
310*5bc37b75SChuck Lever  *
311*5bc37b75SChuck Lever  * Return values:
312*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
313*5bc37b75SChuck Lever  *   %false: decode failed
314*5bc37b75SChuck Lever  */
315*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_cancargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
316*5bc37b75SChuck Lever {
317*5bc37b75SChuck Lever 	struct nlm4_cancargs *argp = rqstp->rq_argp;
318*5bc37b75SChuck Lever 
319*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_cancargs(xdr, argp);
320*5bc37b75SChuck Lever }
321*5bc37b75SChuck Lever 
322*5bc37b75SChuck Lever /**
323*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_unlockargs - Decode a nlm4_unlockargs argument
324*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
325*5bc37b75SChuck Lever  * @xdr: source XDR data stream
326*5bc37b75SChuck Lever  *
327*5bc37b75SChuck Lever  * Return values:
328*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
329*5bc37b75SChuck Lever  *   %false: decode failed
330*5bc37b75SChuck Lever  */
331*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_unlockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
332*5bc37b75SChuck Lever {
333*5bc37b75SChuck Lever 	struct nlm4_unlockargs *argp = rqstp->rq_argp;
334*5bc37b75SChuck Lever 
335*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_unlockargs(xdr, argp);
336*5bc37b75SChuck Lever }
337*5bc37b75SChuck Lever 
338*5bc37b75SChuck Lever /**
339*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_testres - Decode a nlm4_testres argument
340*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
341*5bc37b75SChuck Lever  * @xdr: source XDR data stream
342*5bc37b75SChuck Lever  *
343*5bc37b75SChuck Lever  * Return values:
344*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
345*5bc37b75SChuck Lever  *   %false: decode failed
346*5bc37b75SChuck Lever  */
347*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_testres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
348*5bc37b75SChuck Lever {
349*5bc37b75SChuck Lever 	struct nlm4_testres *argp = rqstp->rq_argp;
350*5bc37b75SChuck Lever 
351*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_testres(xdr, argp);
352*5bc37b75SChuck Lever }
353*5bc37b75SChuck Lever 
354*5bc37b75SChuck Lever /**
355*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_res - Decode a nlm4_res argument
356*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
357*5bc37b75SChuck Lever  * @xdr: source XDR data stream
358*5bc37b75SChuck Lever  *
359*5bc37b75SChuck Lever  * Return values:
360*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
361*5bc37b75SChuck Lever  *   %false: decode failed
362*5bc37b75SChuck Lever  */
363*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_res(struct svc_rqst *rqstp, struct xdr_stream *xdr)
364*5bc37b75SChuck Lever {
365*5bc37b75SChuck Lever 	struct nlm4_res *argp = rqstp->rq_argp;
366*5bc37b75SChuck Lever 
367*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_res(xdr, argp);
368*5bc37b75SChuck Lever }
369*5bc37b75SChuck Lever 
370*5bc37b75SChuck Lever /**
371*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_notifyargs - Decode a nlm4_notifyargs argument
372*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
373*5bc37b75SChuck Lever  * @xdr: source XDR data stream
374*5bc37b75SChuck Lever  *
375*5bc37b75SChuck Lever  * Return values:
376*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
377*5bc37b75SChuck Lever  *   %false: decode failed
378*5bc37b75SChuck Lever  */
379*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_notifyargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
380*5bc37b75SChuck Lever {
381*5bc37b75SChuck Lever 	struct nlm4_notifyargs *argp = rqstp->rq_argp;
382*5bc37b75SChuck Lever 
383*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_notifyargs(xdr, argp);
384*5bc37b75SChuck Lever }
385*5bc37b75SChuck Lever 
386*5bc37b75SChuck Lever /**
387*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_shareargs - Decode a nlm4_shareargs argument
388*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
389*5bc37b75SChuck Lever  * @xdr: source XDR data stream
390*5bc37b75SChuck Lever  *
391*5bc37b75SChuck Lever  * Return values:
392*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
393*5bc37b75SChuck Lever  *   %false: decode failed
394*5bc37b75SChuck Lever  */
395*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_shareargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
396*5bc37b75SChuck Lever {
397*5bc37b75SChuck Lever 	struct nlm4_shareargs *argp = rqstp->rq_argp;
398*5bc37b75SChuck Lever 
399*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_shareargs(xdr, argp);
400*5bc37b75SChuck Lever }
401*5bc37b75SChuck Lever 
402*5bc37b75SChuck Lever /**
403*5bc37b75SChuck Lever  * nlm4_svc_decode_nlm4_notify - Decode a nlm4_notify argument
404*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
405*5bc37b75SChuck Lever  * @xdr: source XDR data stream
406*5bc37b75SChuck Lever  *
407*5bc37b75SChuck Lever  * Return values:
408*5bc37b75SChuck Lever  *   %true: procedure arguments decoded successfully
409*5bc37b75SChuck Lever  *   %false: decode failed
410*5bc37b75SChuck Lever  */
411*5bc37b75SChuck Lever bool nlm4_svc_decode_nlm4_notify(struct svc_rqst *rqstp, struct xdr_stream *xdr)
412*5bc37b75SChuck Lever {
413*5bc37b75SChuck Lever 	struct nlm4_notify *argp = rqstp->rq_argp;
414*5bc37b75SChuck Lever 
415*5bc37b75SChuck Lever 	return xdrgen_decode_nlm4_notify(xdr, argp);
416*5bc37b75SChuck Lever }
417*5bc37b75SChuck Lever 
418*5bc37b75SChuck Lever static bool __maybe_unused
419*5bc37b75SChuck Lever xdrgen_encode_netobj(struct xdr_stream *xdr, const netobj value)
420*5bc37b75SChuck Lever {
421*5bc37b75SChuck Lever 	return xdr_stream_encode_opaque(xdr, value.data, value.len) >= 0;
422*5bc37b75SChuck Lever }
423*5bc37b75SChuck Lever 
424*5bc37b75SChuck Lever static bool __maybe_unused
425*5bc37b75SChuck Lever xdrgen_encode_fsh4_mode(struct xdr_stream *xdr, fsh4_mode value)
426*5bc37b75SChuck Lever {
427*5bc37b75SChuck Lever 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
428*5bc37b75SChuck Lever }
429*5bc37b75SChuck Lever 
430*5bc37b75SChuck Lever static bool __maybe_unused
431*5bc37b75SChuck Lever xdrgen_encode_fsh4_access(struct xdr_stream *xdr, fsh4_access value)
432*5bc37b75SChuck Lever {
433*5bc37b75SChuck Lever 	return xdr_stream_encode_u32(xdr, value) == XDR_UNIT;
434*5bc37b75SChuck Lever }
435*5bc37b75SChuck Lever 
436*5bc37b75SChuck Lever static bool __maybe_unused
437*5bc37b75SChuck Lever xdrgen_encode_uint64(struct xdr_stream *xdr, const uint64 value)
438*5bc37b75SChuck Lever {
439*5bc37b75SChuck Lever 	return xdrgen_encode_unsigned_hyper(xdr, value);
440*5bc37b75SChuck Lever }
441*5bc37b75SChuck Lever 
442*5bc37b75SChuck Lever static bool __maybe_unused
443*5bc37b75SChuck Lever xdrgen_encode_int64(struct xdr_stream *xdr, const int64 value)
444*5bc37b75SChuck Lever {
445*5bc37b75SChuck Lever 	return xdrgen_encode_hyper(xdr, value);
446*5bc37b75SChuck Lever }
447*5bc37b75SChuck Lever 
448*5bc37b75SChuck Lever static bool __maybe_unused
449*5bc37b75SChuck Lever xdrgen_encode_uint32(struct xdr_stream *xdr, const uint32 value)
450*5bc37b75SChuck Lever {
451*5bc37b75SChuck Lever 	return xdrgen_encode_unsigned_long(xdr, value);
452*5bc37b75SChuck Lever }
453*5bc37b75SChuck Lever 
454*5bc37b75SChuck Lever static bool __maybe_unused
455*5bc37b75SChuck Lever xdrgen_encode_int32(struct xdr_stream *xdr, const int32 value)
456*5bc37b75SChuck Lever {
457*5bc37b75SChuck Lever 	return xdrgen_encode_long(xdr, value);
458*5bc37b75SChuck Lever }
459*5bc37b75SChuck Lever 
460*5bc37b75SChuck Lever static bool __maybe_unused
461*5bc37b75SChuck Lever xdrgen_encode_nlm4_stats(struct xdr_stream *xdr, nlm4_stats value)
462*5bc37b75SChuck Lever {
463*5bc37b75SChuck Lever 	return xdr_stream_encode_be32(xdr, value) == XDR_UNIT;
464*5bc37b75SChuck Lever }
465*5bc37b75SChuck Lever 
466*5bc37b75SChuck Lever static bool __maybe_unused
467*5bc37b75SChuck Lever xdrgen_encode_nlm4_holder(struct xdr_stream *xdr, const struct nlm4_holder *value)
468*5bc37b75SChuck Lever {
469*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->exclusive))
470*5bc37b75SChuck Lever 		return false;
471*5bc37b75SChuck Lever 	if (!xdrgen_encode_int32(xdr, value->svid))
472*5bc37b75SChuck Lever 		return false;
473*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->oh))
474*5bc37b75SChuck Lever 		return false;
475*5bc37b75SChuck Lever 	if (!xdrgen_encode_uint64(xdr, value->l_offset))
476*5bc37b75SChuck Lever 		return false;
477*5bc37b75SChuck Lever 	if (!xdrgen_encode_uint64(xdr, value->l_len))
478*5bc37b75SChuck Lever 		return false;
479*5bc37b75SChuck Lever 	return true;
480*5bc37b75SChuck Lever }
481*5bc37b75SChuck Lever 
482*5bc37b75SChuck Lever static bool __maybe_unused
483*5bc37b75SChuck Lever xdrgen_encode_nlm4_testrply(struct xdr_stream *xdr, const struct nlm4_testrply *ptr)
484*5bc37b75SChuck Lever {
485*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_stats(xdr, ptr->stat))
486*5bc37b75SChuck Lever 		return false;
487*5bc37b75SChuck Lever 	switch (ptr->stat) {
488*5bc37b75SChuck Lever 	case __constant_cpu_to_be32(NLM4_DENIED):
489*5bc37b75SChuck Lever 		if (!xdrgen_encode_nlm4_holder(xdr, &ptr->u.holder))
490*5bc37b75SChuck Lever 			return false;
491*5bc37b75SChuck Lever 		break;
492*5bc37b75SChuck Lever 	default:
493*5bc37b75SChuck Lever 		break;
494*5bc37b75SChuck Lever 	}
495*5bc37b75SChuck Lever 	return true;
496*5bc37b75SChuck Lever }
497*5bc37b75SChuck Lever 
498*5bc37b75SChuck Lever static bool __maybe_unused
499*5bc37b75SChuck Lever xdrgen_encode_nlm4_stat(struct xdr_stream *xdr, const struct nlm4_stat *value)
500*5bc37b75SChuck Lever {
501*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_stats(xdr, value->stat))
502*5bc37b75SChuck Lever 		return false;
503*5bc37b75SChuck Lever 	return true;
504*5bc37b75SChuck Lever }
505*5bc37b75SChuck Lever 
506*5bc37b75SChuck Lever static bool __maybe_unused
507*5bc37b75SChuck Lever xdrgen_encode_nlm4_res(struct xdr_stream *xdr, const struct nlm4_res *value)
508*5bc37b75SChuck Lever {
509*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
510*5bc37b75SChuck Lever 		return false;
511*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_stat(xdr, &value->stat))
512*5bc37b75SChuck Lever 		return false;
513*5bc37b75SChuck Lever 	return true;
514*5bc37b75SChuck Lever }
515*5bc37b75SChuck Lever 
516*5bc37b75SChuck Lever static bool __maybe_unused
517*5bc37b75SChuck Lever xdrgen_encode_nlm4_testres(struct xdr_stream *xdr, const struct nlm4_testres *value)
518*5bc37b75SChuck Lever {
519*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
520*5bc37b75SChuck Lever 		return false;
521*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_testrply(xdr, &value->stat))
522*5bc37b75SChuck Lever 		return false;
523*5bc37b75SChuck Lever 	return true;
524*5bc37b75SChuck Lever }
525*5bc37b75SChuck Lever 
526*5bc37b75SChuck Lever static bool __maybe_unused
527*5bc37b75SChuck Lever xdrgen_encode_nlm4_lock(struct xdr_stream *xdr, const struct nlm4_lock *value)
528*5bc37b75SChuck Lever {
529*5bc37b75SChuck Lever 	if (value->caller_name.len > LM_MAXSTRLEN)
530*5bc37b75SChuck Lever 		return false;
531*5bc37b75SChuck Lever 	if (xdr_stream_encode_opaque(xdr, value->caller_name.data, value->caller_name.len) < 0)
532*5bc37b75SChuck Lever 		return false;
533*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->fh))
534*5bc37b75SChuck Lever 		return false;
535*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->oh))
536*5bc37b75SChuck Lever 		return false;
537*5bc37b75SChuck Lever 	if (!xdrgen_encode_int32(xdr, value->svid))
538*5bc37b75SChuck Lever 		return false;
539*5bc37b75SChuck Lever 	if (!xdrgen_encode_uint64(xdr, value->l_offset))
540*5bc37b75SChuck Lever 		return false;
541*5bc37b75SChuck Lever 	if (!xdrgen_encode_uint64(xdr, value->l_len))
542*5bc37b75SChuck Lever 		return false;
543*5bc37b75SChuck Lever 	return true;
544*5bc37b75SChuck Lever }
545*5bc37b75SChuck Lever 
546*5bc37b75SChuck Lever static bool __maybe_unused
547*5bc37b75SChuck Lever xdrgen_encode_nlm4_lockargs(struct xdr_stream *xdr, const struct nlm4_lockargs *value)
548*5bc37b75SChuck Lever {
549*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
550*5bc37b75SChuck Lever 		return false;
551*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->block))
552*5bc37b75SChuck Lever 		return false;
553*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->exclusive))
554*5bc37b75SChuck Lever 		return false;
555*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_lock(xdr, &value->alock))
556*5bc37b75SChuck Lever 		return false;
557*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->reclaim))
558*5bc37b75SChuck Lever 		return false;
559*5bc37b75SChuck Lever 	if (!xdrgen_encode_int32(xdr, value->state))
560*5bc37b75SChuck Lever 		return false;
561*5bc37b75SChuck Lever 	return true;
562*5bc37b75SChuck Lever }
563*5bc37b75SChuck Lever 
564*5bc37b75SChuck Lever static bool __maybe_unused
565*5bc37b75SChuck Lever xdrgen_encode_nlm4_cancargs(struct xdr_stream *xdr, const struct nlm4_cancargs *value)
566*5bc37b75SChuck Lever {
567*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
568*5bc37b75SChuck Lever 		return false;
569*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->block))
570*5bc37b75SChuck Lever 		return false;
571*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->exclusive))
572*5bc37b75SChuck Lever 		return false;
573*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_lock(xdr, &value->alock))
574*5bc37b75SChuck Lever 		return false;
575*5bc37b75SChuck Lever 	return true;
576*5bc37b75SChuck Lever }
577*5bc37b75SChuck Lever 
578*5bc37b75SChuck Lever static bool __maybe_unused
579*5bc37b75SChuck Lever xdrgen_encode_nlm4_testargs(struct xdr_stream *xdr, const struct nlm4_testargs *value)
580*5bc37b75SChuck Lever {
581*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
582*5bc37b75SChuck Lever 		return false;
583*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->exclusive))
584*5bc37b75SChuck Lever 		return false;
585*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_lock(xdr, &value->alock))
586*5bc37b75SChuck Lever 		return false;
587*5bc37b75SChuck Lever 	return true;
588*5bc37b75SChuck Lever }
589*5bc37b75SChuck Lever 
590*5bc37b75SChuck Lever static bool __maybe_unused
591*5bc37b75SChuck Lever xdrgen_encode_nlm4_unlockargs(struct xdr_stream *xdr, const struct nlm4_unlockargs *value)
592*5bc37b75SChuck Lever {
593*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
594*5bc37b75SChuck Lever 		return false;
595*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_lock(xdr, &value->alock))
596*5bc37b75SChuck Lever 		return false;
597*5bc37b75SChuck Lever 	return true;
598*5bc37b75SChuck Lever }
599*5bc37b75SChuck Lever 
600*5bc37b75SChuck Lever static bool __maybe_unused
601*5bc37b75SChuck Lever xdrgen_encode_nlm4_share(struct xdr_stream *xdr, const struct nlm4_share *value)
602*5bc37b75SChuck Lever {
603*5bc37b75SChuck Lever 	if (value->caller_name.len > LM_MAXSTRLEN)
604*5bc37b75SChuck Lever 		return false;
605*5bc37b75SChuck Lever 	if (xdr_stream_encode_opaque(xdr, value->caller_name.data, value->caller_name.len) < 0)
606*5bc37b75SChuck Lever 		return false;
607*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->fh))
608*5bc37b75SChuck Lever 		return false;
609*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->oh))
610*5bc37b75SChuck Lever 		return false;
611*5bc37b75SChuck Lever 	if (!xdrgen_encode_fsh4_mode(xdr, value->mode))
612*5bc37b75SChuck Lever 		return false;
613*5bc37b75SChuck Lever 	if (!xdrgen_encode_fsh4_access(xdr, value->access))
614*5bc37b75SChuck Lever 		return false;
615*5bc37b75SChuck Lever 	return true;
616*5bc37b75SChuck Lever }
617*5bc37b75SChuck Lever 
618*5bc37b75SChuck Lever static bool __maybe_unused
619*5bc37b75SChuck Lever xdrgen_encode_nlm4_shareargs(struct xdr_stream *xdr, const struct nlm4_shareargs *value)
620*5bc37b75SChuck Lever {
621*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
622*5bc37b75SChuck Lever 		return false;
623*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_share(xdr, &value->share))
624*5bc37b75SChuck Lever 		return false;
625*5bc37b75SChuck Lever 	if (!xdrgen_encode_bool(xdr, value->reclaim))
626*5bc37b75SChuck Lever 		return false;
627*5bc37b75SChuck Lever 	return true;
628*5bc37b75SChuck Lever }
629*5bc37b75SChuck Lever 
630*5bc37b75SChuck Lever static bool __maybe_unused
631*5bc37b75SChuck Lever xdrgen_encode_nlm4_shareres(struct xdr_stream *xdr, const struct nlm4_shareres *value)
632*5bc37b75SChuck Lever {
633*5bc37b75SChuck Lever 	if (!xdrgen_encode_netobj(xdr, value->cookie))
634*5bc37b75SChuck Lever 		return false;
635*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_stats(xdr, value->stat))
636*5bc37b75SChuck Lever 		return false;
637*5bc37b75SChuck Lever 	if (!xdrgen_encode_int32(xdr, value->sequence))
638*5bc37b75SChuck Lever 		return false;
639*5bc37b75SChuck Lever 	return true;
640*5bc37b75SChuck Lever }
641*5bc37b75SChuck Lever 
642*5bc37b75SChuck Lever static bool __maybe_unused
643*5bc37b75SChuck Lever xdrgen_encode_nlm4_notify(struct xdr_stream *xdr, const struct nlm4_notify *value)
644*5bc37b75SChuck Lever {
645*5bc37b75SChuck Lever 	if (value->name.len > LM_MAXNAMELEN)
646*5bc37b75SChuck Lever 		return false;
647*5bc37b75SChuck Lever 	if (xdr_stream_encode_opaque(xdr, value->name.data, value->name.len) < 0)
648*5bc37b75SChuck Lever 		return false;
649*5bc37b75SChuck Lever 	if (!xdrgen_encode_int32(xdr, value->state))
650*5bc37b75SChuck Lever 		return false;
651*5bc37b75SChuck Lever 	return true;
652*5bc37b75SChuck Lever }
653*5bc37b75SChuck Lever 
654*5bc37b75SChuck Lever static bool __maybe_unused
655*5bc37b75SChuck Lever xdrgen_encode_nlm4_notifyargs(struct xdr_stream *xdr, const struct nlm4_notifyargs *value)
656*5bc37b75SChuck Lever {
657*5bc37b75SChuck Lever 	if (!xdrgen_encode_nlm4_notify(xdr, &value->notify))
658*5bc37b75SChuck Lever 		return false;
659*5bc37b75SChuck Lever 	if (xdr_stream_encode_opaque_fixed(xdr, value->private, SM_PRIV_SIZE) < 0)
660*5bc37b75SChuck Lever 		return false;
661*5bc37b75SChuck Lever 	return true;
662*5bc37b75SChuck Lever }
663*5bc37b75SChuck Lever 
664*5bc37b75SChuck Lever /**
665*5bc37b75SChuck Lever  * nlm4_svc_encode_void - Encode a void result
666*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
667*5bc37b75SChuck Lever  * @xdr: target XDR data stream
668*5bc37b75SChuck Lever  *
669*5bc37b75SChuck Lever  * Return values:
670*5bc37b75SChuck Lever  *   %true: procedure results encoded successfully
671*5bc37b75SChuck Lever  *   %false: encode failed
672*5bc37b75SChuck Lever  */
673*5bc37b75SChuck Lever bool nlm4_svc_encode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr)
674*5bc37b75SChuck Lever {
675*5bc37b75SChuck Lever 	return xdrgen_encode_void(xdr);
676*5bc37b75SChuck Lever }
677*5bc37b75SChuck Lever 
678*5bc37b75SChuck Lever /**
679*5bc37b75SChuck Lever  * nlm4_svc_encode_nlm4_testres - Encode a nlm4_testres result
680*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
681*5bc37b75SChuck Lever  * @xdr: target XDR data stream
682*5bc37b75SChuck Lever  *
683*5bc37b75SChuck Lever  * Return values:
684*5bc37b75SChuck Lever  *   %true: procedure results encoded successfully
685*5bc37b75SChuck Lever  *   %false: encode failed
686*5bc37b75SChuck Lever  */
687*5bc37b75SChuck Lever bool nlm4_svc_encode_nlm4_testres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
688*5bc37b75SChuck Lever {
689*5bc37b75SChuck Lever 	struct nlm4_testres *resp = rqstp->rq_resp;
690*5bc37b75SChuck Lever 
691*5bc37b75SChuck Lever 	return xdrgen_encode_nlm4_testres(xdr, resp);
692*5bc37b75SChuck Lever }
693*5bc37b75SChuck Lever 
694*5bc37b75SChuck Lever /**
695*5bc37b75SChuck Lever  * nlm4_svc_encode_nlm4_res - Encode a nlm4_res result
696*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
697*5bc37b75SChuck Lever  * @xdr: target XDR data stream
698*5bc37b75SChuck Lever  *
699*5bc37b75SChuck Lever  * Return values:
700*5bc37b75SChuck Lever  *   %true: procedure results encoded successfully
701*5bc37b75SChuck Lever  *   %false: encode failed
702*5bc37b75SChuck Lever  */
703*5bc37b75SChuck Lever bool nlm4_svc_encode_nlm4_res(struct svc_rqst *rqstp, struct xdr_stream *xdr)
704*5bc37b75SChuck Lever {
705*5bc37b75SChuck Lever 	struct nlm4_res *resp = rqstp->rq_resp;
706*5bc37b75SChuck Lever 
707*5bc37b75SChuck Lever 	return xdrgen_encode_nlm4_res(xdr, resp);
708*5bc37b75SChuck Lever }
709*5bc37b75SChuck Lever 
710*5bc37b75SChuck Lever /**
711*5bc37b75SChuck Lever  * nlm4_svc_encode_nlm4_shareres - Encode a nlm4_shareres result
712*5bc37b75SChuck Lever  * @rqstp: RPC transaction context
713*5bc37b75SChuck Lever  * @xdr: target XDR data stream
714*5bc37b75SChuck Lever  *
715*5bc37b75SChuck Lever  * Return values:
716*5bc37b75SChuck Lever  *   %true: procedure results encoded successfully
717*5bc37b75SChuck Lever  *   %false: encode failed
718*5bc37b75SChuck Lever  */
719*5bc37b75SChuck Lever bool nlm4_svc_encode_nlm4_shareres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
720*5bc37b75SChuck Lever {
721*5bc37b75SChuck Lever 	struct nlm4_shareres *resp = rqstp->rq_resp;
722*5bc37b75SChuck Lever 
723*5bc37b75SChuck Lever 	return xdrgen_encode_nlm4_shareres(xdr, resp);
724*5bc37b75SChuck Lever }
725