Lines Matching refs:xdr

9 #include "xdr.h"
29 * @xdr: XDR stream
37 svcxdr_encode_stat(struct xdr_stream *xdr, __be32 status)
41 p = xdr_reserve_space(xdr, sizeof(status));
51 * @xdr: XDR stream positioned at an encoded NFSv2 FH
59 svcxdr_decode_fhandle(struct xdr_stream *xdr, struct svc_fh *fhp)
63 p = xdr_inline_decode(xdr, NFS_FHSIZE);
74 svcxdr_encode_fhandle(struct xdr_stream *xdr, const struct svc_fh *fhp)
78 p = xdr_reserve_space(xdr, NFS_FHSIZE);
98 svcxdr_decode_filename(struct xdr_stream *xdr, char **name, unsigned int *len)
104 if (xdr_stream_decode_u32(xdr, &size) < 0)
108 p = xdr_inline_decode(xdr, size);
122 svcxdr_decode_diropargs(struct xdr_stream *xdr, struct svc_fh *fhp,
125 return svcxdr_decode_fhandle(xdr, fhp) &&
126 svcxdr_decode_filename(xdr, name, len);
130 svcxdr_decode_sattr(struct svc_rqst *rqstp, struct xdr_stream *xdr,
136 p = xdr_inline_decode(xdr, XDR_UNIT * 8);
205 * @xdr: XDR stream
214 svcxdr_encode_fattr(struct svc_rqst *rqstp, struct xdr_stream *xdr,
224 p = xdr_reserve_space(xdr, XDR_UNIT * 17);
276 nfssvc_decode_fhandleargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
280 return svcxdr_decode_fhandle(xdr, &args->fh);
284 nfssvc_decode_sattrargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
288 return svcxdr_decode_fhandle(xdr, &args->fh) &&
289 svcxdr_decode_sattr(rqstp, xdr, &args->attrs);
293 nfssvc_decode_diropargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
297 return svcxdr_decode_diropargs(xdr, &args->fh, &args->name, &args->len);
301 nfssvc_decode_readargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
306 if (!svcxdr_decode_fhandle(xdr, &args->fh))
308 if (xdr_stream_decode_u32(xdr, &args->offset) < 0)
310 if (xdr_stream_decode_u32(xdr, &args->count) < 0)
313 if (xdr_stream_decode_u32(xdr, &totalcount) < 0)
320 nfssvc_decode_writeargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
325 if (!svcxdr_decode_fhandle(xdr, &args->fh))
328 if (xdr_stream_decode_u32(xdr, &beginoffset) < 0)
330 if (xdr_stream_decode_u32(xdr, &args->offset) < 0)
333 if (xdr_stream_decode_u32(xdr, &totalcount) < 0)
337 if (xdr_stream_decode_u32(xdr, &args->len) < 0)
342 return xdr_stream_subsegment(xdr, &args->payload, args->len);
346 nfssvc_decode_createargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
350 return svcxdr_decode_diropargs(xdr, &args->fh,
352 svcxdr_decode_sattr(rqstp, xdr, &args->attrs);
356 nfssvc_decode_renameargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
360 return svcxdr_decode_diropargs(xdr, &args->ffh,
362 svcxdr_decode_diropargs(xdr, &args->tfh,
367 nfssvc_decode_linkargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
371 return svcxdr_decode_fhandle(xdr, &args->ffh) &&
372 svcxdr_decode_diropargs(xdr, &args->tfh,
377 nfssvc_decode_symlinkargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
382 if (!svcxdr_decode_diropargs(xdr, &args->ffh, &args->fname, &args->flen))
384 if (xdr_stream_decode_u32(xdr, &args->tlen) < 0)
389 args->first.iov_len = head->iov_len - xdr_stream_pos(xdr);
390 args->first.iov_base = xdr_inline_decode(xdr, args->tlen);
393 return svcxdr_decode_sattr(rqstp, xdr, &args->attrs);
397 nfssvc_decode_readdirargs(struct svc_rqst *rqstp, struct xdr_stream *xdr)
401 if (!svcxdr_decode_fhandle(xdr, &args->fh))
403 if (xdr_stream_decode_u32(xdr, &args->cookie) < 0)
405 if (xdr_stream_decode_u32(xdr, &args->count) < 0)
416 nfssvc_encode_statres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
420 return svcxdr_encode_stat(xdr, resp->status);
424 nfssvc_encode_attrstatres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
428 if (!svcxdr_encode_stat(xdr, resp->status))
432 if (!svcxdr_encode_fattr(rqstp, xdr, &resp->fh, &resp->stat))
441 nfssvc_encode_diropres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
445 if (!svcxdr_encode_stat(xdr, resp->status))
449 if (!svcxdr_encode_fhandle(xdr, &resp->fh))
451 if (!svcxdr_encode_fattr(rqstp, xdr, &resp->fh, &resp->stat))
460 nfssvc_encode_readlinkres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
465 if (!svcxdr_encode_stat(xdr, resp->status))
469 if (xdr_stream_encode_u32(xdr, resp->len) < 0)
471 svcxdr_encode_opaque_pages(rqstp, xdr, &resp->page, 0,
482 nfssvc_encode_readres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
487 if (!svcxdr_encode_stat(xdr, resp->status))
491 if (!svcxdr_encode_fattr(rqstp, xdr, &resp->fh, &resp->stat))
493 if (xdr_stream_encode_u32(xdr, resp->count) < 0)
495 svcxdr_encode_opaque_pages(rqstp, xdr, resp->pages,
507 nfssvc_encode_readdirres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
512 if (!svcxdr_encode_stat(xdr, resp->status))
516 svcxdr_encode_opaque_pages(rqstp, xdr, dirlist->pages, 0,
519 if (xdr_stream_encode_item_absent(xdr) < 0)
521 if (xdr_stream_encode_bool(xdr, resp->common.err == nfserr_eof) < 0)
530 nfssvc_encode_statfsres(struct svc_rqst *rqstp, struct xdr_stream *xdr)
536 if (!svcxdr_encode_stat(xdr, resp->status))
540 p = xdr_reserve_space(xdr, XDR_UNIT * 5);
579 struct xdr_stream *xdr = &resp->xdr;
581 if (xdr_stream_encode_item_present(xdr) < 0)
584 if (xdr_stream_encode_u32(xdr, (u32)ino) < 0)
587 if (xdr_stream_encode_opaque(xdr, name, min(namlen, NFS2_MAXNAMLEN)) < 0)
591 if (xdr_stream_encode_u32(xdr, ~0U) < 0)
611 * - resp->xdr
630 xdr_commit_encode(&resp->xdr);