Lines Matching defs:base
175 * @base: offset in first page where receive should start, in bytes
181 struct page **pages, unsigned int base, unsigned int len)
191 xdr->page_base = base;
216 * if a memory area starts at byte 'base' in page 'pages[i]',
217 * then its address is given as (i << PAGE_CACHE_SHIFT) + base
298 * if a memory area starts at byte 'base' in page 'pages[i]',
299 * then its address is given as (i << PAGE_SHIFT) + base
946 * @base: offset of first byte
950 void xdr_write_pages(struct xdr_stream *xdr, struct page **pages, unsigned int base,
956 buf->page_base = base;
989 unsigned int base, unsigned int len)
998 if (base >= maxlen)
1000 maxlen -= base;
1004 base += xdr->buf->page_base;
1006 pgnr = base >> PAGE_SHIFT;
1010 pgoff = base & ~PAGE_MASK;
1021 static void xdr_set_page(struct xdr_stream *xdr, unsigned int base,
1024 if (xdr_set_page_base(xdr, base, len) < 0)
1376 * @base: beginning of range in bytes
1380 * length @len starting at offset @base.
1384 * Returns -1 if base of length are out of bounds.
1388 unsigned int base, unsigned int len)
1391 if (base < buf->head[0].iov_len) {
1392 subbuf->head[0].iov_base = buf->head[0].iov_base + base;
1394 buf->head[0].iov_len - base);
1396 base = 0;
1398 base -= buf->head[0].iov_len;
1403 if (base < buf->page_len) {
1404 subbuf->page_len = min(buf->page_len - base, len);
1405 base += buf->page_base;
1406 subbuf->page_base = base & ~PAGE_MASK;
1407 subbuf->pages = &buf->pages[base >> PAGE_SHIFT];
1409 base = 0;
1411 base -= buf->page_len;
1417 if (base < buf->tail[0].iov_len) {
1418 subbuf->tail[0].iov_base = buf->tail[0].iov_base + base;
1420 buf->tail[0].iov_len - base);
1422 base = 0;
1424 base -= buf->tail[0].iov_len;
1429 if (base || len)
1494 int read_bytes_from_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, unsigned int len)
1499 status = xdr_buf_subsegment(buf, &subbuf, base, len);
1525 int write_bytes_to_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, unsigned int len)
1530 status = xdr_buf_subsegment(buf, &subbuf, base, len);
1539 xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj)
1544 status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj));
1553 xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj)
1557 return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj));
1563 xdr_xcode_array2(struct xdr_buf *buf, unsigned int base,
1572 if (xdr_encode_word(buf, base, desc->array_len) != 0)
1575 if (xdr_decode_word(buf, base, &desc->array_len) != 0 ||
1577 (unsigned long) base + 4 + desc->array_len *
1581 base += 4;
1589 if (todo && base < buf->head->iov_len) {
1590 c = buf->head->iov_base + base;
1592 buf->head->iov_len - base);
1618 base = buf->head->iov_len; /* align to start of pages */
1622 base -= buf->head->iov_len;
1623 if (todo && base < buf->page_len) {
1626 avail_here = min(todo, buf->page_len - base);
1629 base += buf->page_base;
1630 ppages = buf->pages + (base >> PAGE_SHIFT);
1631 base &= ~PAGE_MASK;
1632 avail_page = min_t(unsigned int, PAGE_SIZE - base,
1634 c = kmap(*ppages) + base;
1718 base = buf->page_len; /* align to start of tail */
1722 base -= buf->page_len;
1724 c = buf->tail->iov_base + base;
1757 xdr_decode_array2(struct xdr_buf *buf, unsigned int base,
1760 if (base >= buf->len)
1763 return xdr_xcode_array2(buf, base, desc, 0);
1768 xdr_encode_array2(struct xdr_buf *buf, unsigned int base,
1771 if ((unsigned long) base + 4 + desc->array_len * desc->elem_size >
1775 return xdr_xcode_array2(buf, base, desc, 1);