Lines Matching refs:len

31 	unsigned int	quadlen = XDR_QUADLEN(obj->len);  in xdr_encode_netobj()
34 *p++ = cpu_to_be32(obj->len); in xdr_encode_netobj()
35 memcpy(p, obj->data, obj->len); in xdr_encode_netobj()
36 return p + XDR_QUADLEN(obj->len); in xdr_encode_netobj()
43 unsigned int len; in xdr_decode_netobj() local
45 if ((len = be32_to_cpu(*p++)) > XDR_MAX_NETOBJ) in xdr_decode_netobj()
47 obj->len = len; in xdr_decode_netobj()
49 return p + XDR_QUADLEN(len); in xdr_decode_netobj()
109 u32 len; in xdr_decode_string_inplace() local
111 len = be32_to_cpu(*p++); in xdr_decode_string_inplace()
112 if (len > maxlen) in xdr_decode_string_inplace()
114 *lenp = len; in xdr_decode_string_inplace()
116 return p + XDR_QUADLEN(len); in xdr_decode_string_inplace()
127 xdr_terminate_string(struct xdr_buf *buf, const u32 len) in xdr_terminate_string() argument
132 kaddr[buf->page_base + len] = '\0'; in xdr_terminate_string()
181 struct page **pages, unsigned int base, unsigned int len) in xdr_inline_pages() argument
192 xdr->page_len = len; in xdr_inline_pages()
199 xdr->buflen += len; in xdr_inline_pages()
223 size_t pgfrom_base, size_t len) in _shift_data_left_pages() argument
247 copy = len; in _shift_data_left_pages()
266 } while ((len -= copy) != 0); in _shift_data_left_pages()
270 _shift_data_left_tail(struct xdr_buf *buf, unsigned int pgto, size_t len) in _shift_data_left_tail() argument
274 if (len > tail->iov_len) in _shift_data_left_tail()
275 len = tail->iov_len; in _shift_data_left_tail()
280 len); in _shift_data_left_tail()
281 tail->iov_len -= len; in _shift_data_left_tail()
285 tail->iov_base + len, in _shift_data_left_tail()
305 size_t pgfrom_base, size_t len) in _shift_data_right_pages() argument
313 pgto_base += len; in _shift_data_right_pages()
314 pgfrom_base += len; in _shift_data_right_pages()
333 copy = len; in _shift_data_right_pages()
351 } while ((len -= copy) != 0); in _shift_data_right_pages()
355 _shift_data_right_tail(struct xdr_buf *buf, unsigned int pgfrom, size_t len) in _shift_data_right_tail() argument
368 if (len < free_space) in _shift_data_right_tail()
369 free_space = len; in _shift_data_right_tail()
370 if (len > free_space) in _shift_data_right_tail()
371 len = free_space; in _shift_data_right_tail()
374 copy = len; in _shift_data_right_tail()
376 if (tail->iov_len > len) { in _shift_data_right_tail()
377 char *p = (char *)tail->iov_base + len; in _shift_data_right_tail()
405 _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len) in _copy_to_pages() argument
416 if (copy > len) in _copy_to_pages()
417 copy = len; in _copy_to_pages()
423 len -= copy; in _copy_to_pages()
424 if (len == 0) in _copy_to_pages()
449 _copy_from_pages(char *p, struct page **pages, size_t pgbase, size_t len) in _copy_from_pages() argument
460 if (copy > len) in _copy_from_pages()
461 copy = len; in _copy_from_pages()
474 } while ((len -= copy) != 0); in _copy_from_pages()
485 _zero_pages(struct page **pages, size_t pgbase, size_t len) in _zero_pages() argument
496 if (zero > len) in _zero_pages()
497 zero = len; in _zero_pages()
507 } while ((len -= zero) != 0); in _zero_pages()
520 xdr_shrink_bufhead(struct xdr_buf *buf, size_t len) in xdr_shrink_bufhead() argument
531 WARN_ON_ONCE(len > head->iov_len); in xdr_shrink_bufhead()
532 if (len > head->iov_len) in xdr_shrink_bufhead()
533 len = head->iov_len; in xdr_shrink_bufhead()
537 if (tail->iov_len > len) { in xdr_shrink_bufhead()
538 copy = tail->iov_len - len; in xdr_shrink_bufhead()
539 memmove((char *)tail->iov_base + len, in xdr_shrink_bufhead()
544 copy = len; in xdr_shrink_bufhead()
547 offs = len - copy; in xdr_shrink_bufhead()
555 buf->page_base + pglen + offs - len, in xdr_shrink_bufhead()
560 if (len > pglen) { in xdr_shrink_bufhead()
561 offs = copy = len - pglen; in xdr_shrink_bufhead()
573 if (pglen > len) in xdr_shrink_bufhead()
575 buf->page_base + len, in xdr_shrink_bufhead()
577 pglen - len); in xdr_shrink_bufhead()
578 copy = len; in xdr_shrink_bufhead()
579 if (len > pglen) in xdr_shrink_bufhead()
582 (char *)head->iov_base + head->iov_len - len, in xdr_shrink_bufhead()
586 head->iov_len -= len; in xdr_shrink_bufhead()
587 buf->buflen -= len; in xdr_shrink_bufhead()
589 if (buf->len > buf->buflen) in xdr_shrink_bufhead()
590 buf->len = buf->buflen; in xdr_shrink_bufhead()
604 xdr_shrink_pagelen(struct xdr_buf *buf, size_t len) in xdr_shrink_pagelen() argument
609 if (len > buf->page_len) in xdr_shrink_pagelen()
610 len = buf-> page_len; in xdr_shrink_pagelen()
612 result = _shift_data_right_tail(buf, pglen - len, len); in xdr_shrink_pagelen()
613 buf->page_len -= len; in xdr_shrink_pagelen()
614 buf->buflen -= len; in xdr_shrink_pagelen()
616 if (buf->len > buf->buflen) in xdr_shrink_pagelen()
617 buf->len = buf->buflen; in xdr_shrink_pagelen()
623 xdr_shift_buf(struct xdr_buf *buf, size_t len) in xdr_shift_buf() argument
625 xdr_shrink_bufhead(buf, len); in xdr_shift_buf()
635 return (unsigned int)(XDR_QUADLEN(xdr->buf->len) - xdr->nwords) << 2; in xdr_stream_pos()
681 size_t len; in xdr_init_encode() local
684 len = (char *)p - (char *)xdr->p; in xdr_init_encode()
686 buf->len += len; in xdr_init_encode()
687 iov->iov_len += len; in xdr_init_encode()
729 if (xdr->buf->len + nbytes > xdr->buf->buflen) in xdr_get_next_encode_buffer()
754 space_left = xdr->buf->buflen - xdr->buf->len; in xdr_get_next_encode_buffer()
761 xdr->buf->len += nbytes; in xdr_get_next_encode_buffer()
794 xdr->buf->len += nbytes; in xdr_reserve_space()
863 void xdr_truncate_encode(struct xdr_stream *xdr, size_t len) in xdr_truncate_encode() argument
871 if (len > buf->len) { in xdr_truncate_encode()
877 fraglen = min_t(int, buf->len - len, tail->iov_len); in xdr_truncate_encode()
879 buf->len -= fraglen; in xdr_truncate_encode()
887 fraglen = min_t(int, buf->len - len, buf->page_len); in xdr_truncate_encode()
889 buf->len -= fraglen; in xdr_truncate_encode()
906 head->iov_len = len; in xdr_truncate_encode()
907 buf->len = len; in xdr_truncate_encode()
929 int end_offset = buf->len + left_in_this_buf; in xdr_restrict_buflen()
931 if (newbuflen < 0 || newbuflen < buf->len) in xdr_restrict_buflen()
951 unsigned int len) in xdr_write_pages() argument
957 buf->page_len = len; in xdr_write_pages()
963 if (len & 3) { in xdr_write_pages()
964 unsigned int pad = 4 - (len & 3); in xdr_write_pages()
967 iov->iov_base = (char *)xdr->p + (len & 3); in xdr_write_pages()
969 len += pad; in xdr_write_pages()
972 buf->buflen += len; in xdr_write_pages()
973 buf->len += len; in xdr_write_pages()
978 unsigned int len) in xdr_set_iov() argument
980 if (len > iov->iov_len) in xdr_set_iov()
981 len = iov->iov_len; in xdr_set_iov()
983 xdr->end = (__be32*)(iov->iov_base + len); in xdr_set_iov()
989 unsigned int base, unsigned int len) in xdr_set_page_base() argument
1001 if (len > maxlen) in xdr_set_page_base()
1002 len = maxlen; in xdr_set_page_base()
1013 pgend = pgoff + len; in xdr_set_page_base()
1022 unsigned int len) in xdr_set_page() argument
1024 if (xdr_set_page_base(xdr, base, len) < 0) in xdr_set_page()
1061 xdr->nwords = XDR_QUADLEN(buf->len); in xdr_init_decode()
1063 xdr_set_iov(xdr, buf->head, buf->len); in xdr_init_decode()
1065 xdr_set_page_base(xdr, 0, buf->len); in xdr_init_decode()
1067 xdr_set_iov(xdr, buf->head, buf->len); in xdr_init_decode()
1084 struct page **pages, unsigned int len) in xdr_init_decode_pages() argument
1088 buf->page_len = len; in xdr_init_decode_pages()
1089 buf->buflen = len; in xdr_init_decode_pages()
1090 buf->len = len; in xdr_init_decode_pages()
1192 xdr->nwords = XDR_QUADLEN(buf->len - cur); in xdr_realign_pages()
1196 static unsigned int xdr_align_pages(struct xdr_stream *xdr, unsigned int len) in xdr_align_pages() argument
1199 unsigned int nwords = XDR_QUADLEN(len); in xdr_align_pages()
1209 len = nwords << 2; in xdr_align_pages()
1211 if (buf->page_len <= len) in xdr_align_pages()
1212 len = buf->page_len; in xdr_align_pages()
1215 offset = buf->page_len - len; in xdr_align_pages()
1218 xdr->nwords = XDR_QUADLEN(buf->len - cur); in xdr_align_pages()
1220 return len; in xdr_align_pages()
1234 unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len) in xdr_read_pages() argument
1242 len = xdr_align_pages(xdr, len); in xdr_read_pages()
1243 if (len == 0) in xdr_read_pages()
1245 nwords = XDR_QUADLEN(len); in xdr_read_pages()
1246 padding = (nwords << 2) - len; in xdr_read_pages()
1261 return len; in xdr_read_pages()
1332 buf->len += length - (from - offset) - truncated; in xdr_expand_hole()
1348 void xdr_enter_page(struct xdr_stream *xdr, unsigned int len) in xdr_enter_page() argument
1350 len = xdr_align_pages(xdr, len); in xdr_enter_page()
1355 if (len != 0) in xdr_enter_page()
1356 xdr_set_page_base(xdr, 0, len); in xdr_enter_page()
1368 buf->buflen = buf->len = iov->iov_len; in xdr_buf_from_iov()
1388 unsigned int base, unsigned int len) in xdr_buf_subsegment() argument
1390 subbuf->buflen = subbuf->len = len; in xdr_buf_subsegment()
1393 subbuf->head[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1395 len -= subbuf->head[0].iov_len; in xdr_buf_subsegment()
1404 subbuf->page_len = min(buf->page_len - base, len); in xdr_buf_subsegment()
1408 len -= subbuf->page_len; in xdr_buf_subsegment()
1419 subbuf->tail[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1421 len -= subbuf->tail[0].iov_len; in xdr_buf_subsegment()
1429 if (base || len) in xdr_buf_subsegment()
1445 void xdr_buf_trim(struct xdr_buf *buf, unsigned int len) in xdr_buf_trim() argument
1448 unsigned int trim = len; in xdr_buf_trim()
1472 buf->len -= (len - trim); in xdr_buf_trim()
1476 static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __read_bytes_from_xdr_buf() argument
1480 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __read_bytes_from_xdr_buf()
1482 len -= this_len; in __read_bytes_from_xdr_buf()
1484 this_len = min_t(unsigned int, len, subbuf->page_len); in __read_bytes_from_xdr_buf()
1487 len -= this_len; in __read_bytes_from_xdr_buf()
1489 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __read_bytes_from_xdr_buf()
1494 int read_bytes_from_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, unsigned int len) in read_bytes_from_xdr_buf() argument
1499 status = xdr_buf_subsegment(buf, &subbuf, base, len); in read_bytes_from_xdr_buf()
1502 __read_bytes_from_xdr_buf(&subbuf, obj, len); in read_bytes_from_xdr_buf()
1507 static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __write_bytes_to_xdr_buf() argument
1511 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __write_bytes_to_xdr_buf()
1513 len -= this_len; in __write_bytes_to_xdr_buf()
1515 this_len = min_t(unsigned int, len, subbuf->page_len); in __write_bytes_to_xdr_buf()
1518 len -= this_len; in __write_bytes_to_xdr_buf()
1520 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __write_bytes_to_xdr_buf()
1525 int write_bytes_to_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, unsigned int len) in write_bytes_to_xdr_buf() argument
1530 status = xdr_buf_subsegment(buf, &subbuf, base, len); in write_bytes_to_xdr_buf()
1533 __write_bytes_to_xdr_buf(&subbuf, obj, len); in write_bytes_to_xdr_buf()
1578 desc->elem_size > buf->len) in xdr_xcode_array2()
1760 if (base >= buf->len) in xdr_decode_array2()
1780 xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, in xdr_process_buf() argument
1793 if (thislen > len) in xdr_process_buf()
1794 thislen = len; in xdr_process_buf()
1800 len -= thislen; in xdr_process_buf()
1802 if (len == 0) in xdr_process_buf()
1809 if (page_len > len) in xdr_process_buf()
1810 page_len = len; in xdr_process_buf()
1811 len -= page_len; in xdr_process_buf()
1829 if (len == 0) in xdr_process_buf()
1833 if (thislen > len) in xdr_process_buf()
1834 thislen = len; in xdr_process_buf()
1837 len -= thislen; in xdr_process_buf()
1839 if (len != 0) in xdr_process_buf()