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