Lines Matching refs:len

28 	unsigned int	quadlen = XDR_QUADLEN(obj->len);  in xdr_encode_netobj()
31 *p++ = cpu_to_be32(obj->len); in xdr_encode_netobj()
32 memcpy(p, obj->data, obj->len); in xdr_encode_netobj()
33 return p + XDR_QUADLEN(obj->len); in xdr_encode_netobj()
40 unsigned int len; in xdr_decode_netobj() local
42 if ((len = be32_to_cpu(*p++)) > XDR_MAX_NETOBJ) in xdr_decode_netobj()
44 obj->len = len; in xdr_decode_netobj()
46 return p + XDR_QUADLEN(len); in xdr_decode_netobj()
106 u32 len; in xdr_decode_string_inplace() local
108 len = be32_to_cpu(*p++); in xdr_decode_string_inplace()
109 if (len > maxlen) in xdr_decode_string_inplace()
111 *lenp = len; in xdr_decode_string_inplace()
113 return p + XDR_QUADLEN(len); in xdr_decode_string_inplace()
124 xdr_terminate_string(struct xdr_buf *buf, const u32 len) in xdr_terminate_string() argument
129 kaddr[buf->page_base + len] = '\0'; in xdr_terminate_string()
178 struct page **pages, unsigned int base, unsigned int len) in xdr_inline_pages() argument
189 xdr->page_len = len; in xdr_inline_pages()
196 xdr->buflen += len; in xdr_inline_pages()
220 size_t pgfrom_base, size_t len) in _shift_data_right_pages() argument
228 pgto_base += len; in _shift_data_right_pages()
229 pgfrom_base += len; in _shift_data_right_pages()
248 copy = len; in _shift_data_right_pages()
266 } while ((len -= copy) != 0); in _shift_data_right_pages()
280 _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len) in _copy_to_pages() argument
291 if (copy > len) in _copy_to_pages()
292 copy = len; in _copy_to_pages()
298 len -= copy; in _copy_to_pages()
299 if (len == 0) in _copy_to_pages()
324 _copy_from_pages(char *p, struct page **pages, size_t pgbase, size_t len) in _copy_from_pages() argument
335 if (copy > len) in _copy_from_pages()
336 copy = len; in _copy_from_pages()
349 } while ((len -= copy) != 0); in _copy_from_pages()
363 xdr_shrink_bufhead(struct xdr_buf *buf, size_t len) in xdr_shrink_bufhead() argument
374 WARN_ON_ONCE(len > head->iov_len); in xdr_shrink_bufhead()
375 if (len > head->iov_len) in xdr_shrink_bufhead()
376 len = head->iov_len; in xdr_shrink_bufhead()
380 if (tail->iov_len > len) { in xdr_shrink_bufhead()
381 copy = tail->iov_len - len; in xdr_shrink_bufhead()
382 memmove((char *)tail->iov_base + len, in xdr_shrink_bufhead()
387 copy = len; in xdr_shrink_bufhead()
390 offs = len - copy; in xdr_shrink_bufhead()
398 buf->page_base + pglen + offs - len, in xdr_shrink_bufhead()
403 if (len > pglen) { in xdr_shrink_bufhead()
404 offs = copy = len - pglen; in xdr_shrink_bufhead()
416 if (pglen > len) in xdr_shrink_bufhead()
418 buf->page_base + len, in xdr_shrink_bufhead()
420 pglen - len); in xdr_shrink_bufhead()
421 copy = len; in xdr_shrink_bufhead()
422 if (len > pglen) in xdr_shrink_bufhead()
425 (char *)head->iov_base + head->iov_len - len, in xdr_shrink_bufhead()
429 head->iov_len -= len; in xdr_shrink_bufhead()
430 buf->buflen -= len; in xdr_shrink_bufhead()
432 if (buf->len > buf->buflen) in xdr_shrink_bufhead()
433 buf->len = buf->buflen; in xdr_shrink_bufhead()
448 xdr_shrink_pagelen(struct xdr_buf *buf, size_t len) in xdr_shrink_pagelen() argument
458 BUG_ON (len > pglen); in xdr_shrink_pagelen()
466 if (len < free_space) in xdr_shrink_pagelen()
467 free_space = len; in xdr_shrink_pagelen()
470 copy = len; in xdr_shrink_pagelen()
471 if (tail->iov_len > len) { in xdr_shrink_pagelen()
472 char *p = (char *)tail->iov_base + len; in xdr_shrink_pagelen()
473 memmove(p, tail->iov_base, tail->iov_len - len); in xdr_shrink_pagelen()
474 result += tail->iov_len - len; in xdr_shrink_pagelen()
479 buf->pages, buf->page_base + pglen - len, in xdr_shrink_pagelen()
483 buf->page_len -= len; in xdr_shrink_pagelen()
484 buf->buflen -= len; in xdr_shrink_pagelen()
486 if (buf->len > buf->buflen) in xdr_shrink_pagelen()
487 buf->len = buf->buflen; in xdr_shrink_pagelen()
493 xdr_shift_buf(struct xdr_buf *buf, size_t len) in xdr_shift_buf() argument
495 xdr_shrink_bufhead(buf, len); in xdr_shift_buf()
505 return (unsigned int)(XDR_QUADLEN(xdr->buf->len) - xdr->nwords) << 2; in xdr_stream_pos()
538 size_t len; in xdr_init_encode() local
541 len = (char *)p - (char *)xdr->p; in xdr_init_encode()
543 buf->len += len; in xdr_init_encode()
544 iov->iov_len += len; in xdr_init_encode()
586 if (xdr->buf->len + nbytes > xdr->buf->buflen) in xdr_get_next_encode_buffer()
611 space_left = xdr->buf->buflen - xdr->buf->len; in xdr_get_next_encode_buffer()
614 xdr->buf->len += nbytes; in xdr_get_next_encode_buffer()
647 xdr->buf->len += nbytes; in xdr_reserve_space()
671 void xdr_truncate_encode(struct xdr_stream *xdr, size_t len) in xdr_truncate_encode() argument
679 if (len > buf->len) { in xdr_truncate_encode()
685 fraglen = min_t(int, buf->len - len, tail->iov_len); in xdr_truncate_encode()
687 buf->len -= fraglen; in xdr_truncate_encode()
695 fraglen = min_t(int, buf->len - len, buf->page_len); in xdr_truncate_encode()
697 buf->len -= fraglen; in xdr_truncate_encode()
714 head->iov_len = len; in xdr_truncate_encode()
715 buf->len = len; in xdr_truncate_encode()
737 int end_offset = buf->len + left_in_this_buf; in xdr_restrict_buflen()
739 if (newbuflen < 0 || newbuflen < buf->len) in xdr_restrict_buflen()
759 unsigned int len) in xdr_write_pages() argument
765 buf->page_len = len; in xdr_write_pages()
771 if (len & 3) { in xdr_write_pages()
772 unsigned int pad = 4 - (len & 3); in xdr_write_pages()
775 iov->iov_base = (char *)xdr->p + (len & 3); in xdr_write_pages()
777 len += pad; in xdr_write_pages()
780 buf->buflen += len; in xdr_write_pages()
781 buf->len += len; in xdr_write_pages()
786 unsigned int len) in xdr_set_iov() argument
788 if (len > iov->iov_len) in xdr_set_iov()
789 len = iov->iov_len; in xdr_set_iov()
791 xdr->end = (__be32*)(iov->iov_base + len); in xdr_set_iov()
797 unsigned int base, unsigned int len) in xdr_set_page_base() argument
809 if (len > maxlen) in xdr_set_page_base()
810 len = maxlen; in xdr_set_page_base()
821 pgend = pgoff + len; in xdr_set_page_base()
864 xdr->nwords = XDR_QUADLEN(buf->len); in xdr_init_decode()
866 xdr_set_iov(xdr, buf->head, buf->len); in xdr_init_decode()
868 xdr_set_page_base(xdr, 0, buf->len); in xdr_init_decode()
870 xdr_set_iov(xdr, buf->head, buf->len); in xdr_init_decode()
887 struct page **pages, unsigned int len) in xdr_init_decode_pages() argument
891 buf->page_len = len; in xdr_init_decode_pages()
892 buf->buflen = len; in xdr_init_decode_pages()
893 buf->len = len; in xdr_init_decode_pages()
983 static unsigned int xdr_align_pages(struct xdr_stream *xdr, unsigned int len) in xdr_align_pages() argument
987 unsigned int nwords = XDR_QUADLEN(len); in xdr_align_pages()
1000 xdr->nwords = XDR_QUADLEN(buf->len - cur); in xdr_align_pages()
1005 len = nwords << 2; in xdr_align_pages()
1007 if (buf->page_len <= len) in xdr_align_pages()
1008 len = buf->page_len; in xdr_align_pages()
1011 offset = buf->page_len - len; in xdr_align_pages()
1014 xdr->nwords = XDR_QUADLEN(buf->len - cur); in xdr_align_pages()
1016 return len; in xdr_align_pages()
1030 unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len) in xdr_read_pages() argument
1038 len = xdr_align_pages(xdr, len); in xdr_read_pages()
1039 if (len == 0) in xdr_read_pages()
1041 nwords = XDR_QUADLEN(len); in xdr_read_pages()
1042 padding = (nwords << 2) - len; in xdr_read_pages()
1057 return len; in xdr_read_pages()
1071 void xdr_enter_page(struct xdr_stream *xdr, unsigned int len) in xdr_enter_page() argument
1073 len = xdr_align_pages(xdr, len); in xdr_enter_page()
1078 if (len != 0) in xdr_enter_page()
1079 xdr_set_page_base(xdr, 0, len); in xdr_enter_page()
1091 buf->buflen = buf->len = iov->iov_len; in xdr_buf_from_iov()
1111 unsigned int base, unsigned int len) in xdr_buf_subsegment() argument
1113 subbuf->buflen = subbuf->len = len; in xdr_buf_subsegment()
1116 subbuf->head[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1118 len -= subbuf->head[0].iov_len; in xdr_buf_subsegment()
1126 subbuf->page_len = min(buf->page_len - base, len); in xdr_buf_subsegment()
1130 len -= subbuf->page_len; in xdr_buf_subsegment()
1139 subbuf->tail[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1141 len -= subbuf->tail[0].iov_len; in xdr_buf_subsegment()
1148 if (base || len) in xdr_buf_subsegment()
1154 static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __read_bytes_from_xdr_buf() argument
1158 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __read_bytes_from_xdr_buf()
1160 len -= this_len; in __read_bytes_from_xdr_buf()
1162 this_len = min_t(unsigned int, len, subbuf->page_len); in __read_bytes_from_xdr_buf()
1165 len -= this_len; in __read_bytes_from_xdr_buf()
1167 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __read_bytes_from_xdr_buf()
1172 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
1177 status = xdr_buf_subsegment(buf, &subbuf, base, len); in read_bytes_from_xdr_buf()
1180 __read_bytes_from_xdr_buf(&subbuf, obj, len); in read_bytes_from_xdr_buf()
1185 static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __write_bytes_to_xdr_buf() argument
1189 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __write_bytes_to_xdr_buf()
1191 len -= this_len; in __write_bytes_to_xdr_buf()
1193 this_len = min_t(unsigned int, len, subbuf->page_len); in __write_bytes_to_xdr_buf()
1196 len -= this_len; in __write_bytes_to_xdr_buf()
1198 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __write_bytes_to_xdr_buf()
1203 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
1208 status = xdr_buf_subsegment(buf, &subbuf, base, len); in write_bytes_to_xdr_buf()
1211 __write_bytes_to_xdr_buf(&subbuf, obj, len); in write_bytes_to_xdr_buf()
1256 if (xdr_decode_word(buf, offset, &mic->len)) in xdr_buf_read_mic()
1262 if (offset < boundary && (offset + mic->len) > boundary) in xdr_buf_read_mic()
1267 if (offset < boundary && (offset + mic->len) > boundary) in xdr_buf_read_mic()
1270 if (xdr_buf_subsegment(buf, &subbuf, offset, mic->len)) in xdr_buf_read_mic()
1275 if (subbuf.head[0].iov_len == mic->len) in xdr_buf_read_mic()
1279 if (subbuf.tail[0].iov_len == mic->len) in xdr_buf_read_mic()
1283 if (mic->len > buf->buflen - buf->len) in xdr_buf_read_mic()
1289 __read_bytes_from_xdr_buf(&subbuf, mic->data, mic->len); in xdr_buf_read_mic()
1311 desc->elem_size > buf->len) in xdr_xcode_array2()
1493 if (base >= buf->len) in xdr_decode_array2()
1513 xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, in xdr_process_buf() argument
1526 if (thislen > len) in xdr_process_buf()
1527 thislen = len; in xdr_process_buf()
1533 len -= thislen; in xdr_process_buf()
1535 if (len == 0) in xdr_process_buf()
1542 if (page_len > len) in xdr_process_buf()
1543 page_len = len; in xdr_process_buf()
1544 len -= page_len; in xdr_process_buf()
1562 if (len == 0) in xdr_process_buf()
1566 if (thislen > len) in xdr_process_buf()
1567 thislen = len; in xdr_process_buf()
1570 len -= thislen; in xdr_process_buf()
1572 if (len != 0) in xdr_process_buf()