• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/net/sunrpc/

Lines Matching defs:xdr

2  * linux/net/sunrpc/xdr.c
15 #include <linux/sunrpc/xdr.h>
108 xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base,
111 struct kvec *tail = xdr->tail;
114 xdr->pages = pages;
115 xdr->page_base = base;
116 xdr->page_len = len;
118 p = (u32 *)xdr->head[0].iov_base + XDR_QUADLEN(xdr->head[0].iov_len);
130 xdr->buflen += len;
131 xdr->len += len;
135 xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset,
138 struct kvec *head = xdr->head;
139 struct kvec *tail = xdr->tail;
145 xdr->pages = pages;
146 xdr->page_base = base;
147 xdr->page_len = len;
152 xdr->buflen += len;
424 * @xdr: pointer to xdr_stream struct
435 void xdr_init_encode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 *p)
441 xdr->buf = buf;
442 xdr->iov = iov;
443 xdr->p = (__be32 *)((char *)iov->iov_base + iov->iov_len);
444 xdr->end = (__be32 *)((char *)iov->iov_base + scratch_len);
447 if (p != xdr->p && p != NULL) {
450 BUG_ON(p < xdr->p || p > xdr->end);
451 len = (char *)p - (char *)xdr->p;
452 xdr->p = p;
461 * @xdr: pointer to xdr_stream
468 __be32 * xdr_reserve_space(struct xdr_stream *xdr, size_t nbytes)
470 __be32 *p = xdr->p;
477 if (unlikely(q > xdr->end || q < p))
479 xdr->p = q;
480 xdr->iov->iov_len += nbytes;
481 xdr->buf->len += nbytes;
488 * @xdr: pointer to xdr_stream
494 void xdr_write_pages(struct xdr_stream *xdr, struct page **pages, unsigned int base,
497 struct xdr_buf *buf = xdr->buf;
503 iov->iov_base = (char *)xdr->p;
505 xdr->iov = iov;
510 BUG_ON(xdr->p >= xdr->end);
511 iov->iov_base = (char *)xdr->p + (len & 3);
514 *xdr->p++ = 0;
523 * @xdr: pointer to xdr_stream struct
527 void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 *p)
534 xdr->buf = buf;
535 xdr->iov = iov;
536 xdr->p = p;
537 xdr->end = (__be32 *)((char *)iov->iov_base + len);
543 * @xdr: pointer to xdr_stream struct
551 __be32 * xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes)
553 __be32 *p = xdr->p;
556 if (unlikely(q > xdr->end || q < p))
558 xdr->p = q;
565 * @xdr: pointer to xdr_stream struct
572 void xdr_read_pages(struct xdr_stream *xdr, unsigned int len)
574 struct xdr_buf *buf = xdr->buf;
582 shift = iov->iov_len + (char *)iov->iov_base - (char *)xdr->p;
590 xdr->iov = iov = buf->tail;
602 xdr->p = (__be32 *)((char *)iov->iov_base + padding);
603 xdr->end = (__be32 *)((char *)iov->iov_base + end);
609 * @xdr: pointer to xdr_stream struct
617 void xdr_enter_page(struct xdr_stream *xdr, unsigned int len)
619 char * kaddr = page_address(xdr->buf->pages[0]);
620 xdr_read_pages(xdr, len);
625 if (len > PAGE_CACHE_SIZE - xdr->buf->page_base)
626 len = PAGE_CACHE_SIZE - xdr->buf->page_base;
627 xdr->p = (__be32 *)(kaddr + xdr->buf->page_base);
628 xdr->end = (__be32 *)((char *)xdr->p + len);