Lines Matching refs:len

25 	unsigned int	quadlen = XDR_QUADLEN(obj->len);  in xdr_encode_netobj()
28 *p++ = cpu_to_be32(obj->len); in xdr_encode_netobj()
29 memcpy(p, obj->data, obj->len); in xdr_encode_netobj()
30 return p + XDR_QUADLEN(obj->len); in xdr_encode_netobj()
37 unsigned int len; in xdr_decode_netobj() local
39 if ((len = be32_to_cpu(*p++)) > XDR_MAX_NETOBJ) in xdr_decode_netobj()
41 obj->len = len; in xdr_decode_netobj()
43 return p + XDR_QUADLEN(len); in xdr_decode_netobj()
103 u32 len; in xdr_decode_string_inplace() local
105 len = be32_to_cpu(*p++); in xdr_decode_string_inplace()
106 if (len > maxlen) in xdr_decode_string_inplace()
108 *lenp = len; in xdr_decode_string_inplace()
110 return p + XDR_QUADLEN(len); in xdr_decode_string_inplace()
121 xdr_terminate_string(struct xdr_buf *buf, const u32 len) in xdr_terminate_string() argument
126 kaddr[buf->page_base + len] = '\0'; in xdr_terminate_string()
133 struct page **pages, unsigned int base, unsigned int len) in xdr_inline_pages() argument
144 xdr->page_len = len; in xdr_inline_pages()
149 xdr->buflen += len; in xdr_inline_pages()
173 size_t pgfrom_base, size_t len) in _shift_data_right_pages() argument
181 pgto_base += len; in _shift_data_right_pages()
182 pgfrom_base += len; in _shift_data_right_pages()
201 copy = len; in _shift_data_right_pages()
219 } while ((len -= copy) != 0); in _shift_data_right_pages()
233 _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len) in _copy_to_pages() argument
244 if (copy > len) in _copy_to_pages()
245 copy = len; in _copy_to_pages()
251 len -= copy; in _copy_to_pages()
252 if (len == 0) in _copy_to_pages()
277 _copy_from_pages(char *p, struct page **pages, size_t pgbase, size_t len) in _copy_from_pages() argument
288 if (copy > len) in _copy_from_pages()
289 copy = len; in _copy_from_pages()
302 } while ((len -= copy) != 0); in _copy_from_pages()
316 xdr_shrink_bufhead(struct xdr_buf *buf, size_t len) in xdr_shrink_bufhead() argument
325 WARN_ON_ONCE(len > head->iov_len); in xdr_shrink_bufhead()
326 if (len > head->iov_len) in xdr_shrink_bufhead()
327 len = head->iov_len; in xdr_shrink_bufhead()
331 if (tail->iov_len > len) { in xdr_shrink_bufhead()
332 copy = tail->iov_len - len; in xdr_shrink_bufhead()
333 memmove((char *)tail->iov_base + len, in xdr_shrink_bufhead()
337 copy = len; in xdr_shrink_bufhead()
340 offs = len - copy; in xdr_shrink_bufhead()
348 buf->page_base + pglen + offs - len, in xdr_shrink_bufhead()
351 if (len > pglen) { in xdr_shrink_bufhead()
352 offs = copy = len - pglen; in xdr_shrink_bufhead()
363 if (pglen > len) in xdr_shrink_bufhead()
365 buf->page_base + len, in xdr_shrink_bufhead()
367 pglen - len); in xdr_shrink_bufhead()
368 copy = len; in xdr_shrink_bufhead()
369 if (len > pglen) in xdr_shrink_bufhead()
372 (char *)head->iov_base + head->iov_len - len, in xdr_shrink_bufhead()
375 head->iov_len -= len; in xdr_shrink_bufhead()
376 buf->buflen -= len; in xdr_shrink_bufhead()
378 if (buf->len > buf->buflen) in xdr_shrink_bufhead()
379 buf->len = buf->buflen; in xdr_shrink_bufhead()
392 xdr_shrink_pagelen(struct xdr_buf *buf, size_t len) in xdr_shrink_pagelen() argument
400 BUG_ON (len > pglen); in xdr_shrink_pagelen()
408 if (len < free_space) in xdr_shrink_pagelen()
409 free_space = len; in xdr_shrink_pagelen()
412 copy = len; in xdr_shrink_pagelen()
413 if (tail->iov_len > len) { in xdr_shrink_pagelen()
414 char *p = (char *)tail->iov_base + len; in xdr_shrink_pagelen()
415 memmove(p, tail->iov_base, tail->iov_len - len); in xdr_shrink_pagelen()
420 buf->pages, buf->page_base + pglen - len, in xdr_shrink_pagelen()
423 buf->page_len -= len; in xdr_shrink_pagelen()
424 buf->buflen -= len; in xdr_shrink_pagelen()
426 if (buf->len > buf->buflen) in xdr_shrink_pagelen()
427 buf->len = buf->buflen; in xdr_shrink_pagelen()
431 xdr_shift_buf(struct xdr_buf *buf, size_t len) in xdr_shift_buf() argument
433 xdr_shrink_bufhead(buf, len); in xdr_shift_buf()
443 return (unsigned int)(XDR_QUADLEN(xdr->buf->len) - xdr->nwords) << 2; in xdr_stream_pos()
474 size_t len; in xdr_init_encode() local
477 len = (char *)p - (char *)xdr->p; in xdr_init_encode()
479 buf->len += len; in xdr_init_encode()
480 iov->iov_len += len; in xdr_init_encode()
521 if (xdr->buf->len + nbytes > xdr->buf->buflen) in xdr_get_next_encode_buffer()
546 space_left = xdr->buf->buflen - xdr->buf->len; in xdr_get_next_encode_buffer()
549 xdr->buf->len += nbytes; in xdr_get_next_encode_buffer()
579 xdr->buf->len += nbytes; in xdr_reserve_space()
603 void xdr_truncate_encode(struct xdr_stream *xdr, size_t len) in xdr_truncate_encode() argument
611 if (len > buf->len) { in xdr_truncate_encode()
617 fraglen = min_t(int, buf->len - len, tail->iov_len); in xdr_truncate_encode()
619 buf->len -= fraglen; in xdr_truncate_encode()
627 fraglen = min_t(int, buf->len - len, buf->page_len); in xdr_truncate_encode()
629 buf->len -= fraglen; in xdr_truncate_encode()
647 head->iov_len = len; in xdr_truncate_encode()
648 buf->len = len; in xdr_truncate_encode()
670 int end_offset = buf->len + left_in_this_buf; in xdr_restrict_buflen()
672 if (newbuflen < 0 || newbuflen < buf->len) in xdr_restrict_buflen()
692 unsigned int len) in xdr_write_pages() argument
698 buf->page_len = len; in xdr_write_pages()
704 if (len & 3) { in xdr_write_pages()
705 unsigned int pad = 4 - (len & 3); in xdr_write_pages()
708 iov->iov_base = (char *)xdr->p + (len & 3); in xdr_write_pages()
710 len += pad; in xdr_write_pages()
713 buf->buflen += len; in xdr_write_pages()
714 buf->len += len; in xdr_write_pages()
719 unsigned int len) in xdr_set_iov() argument
721 if (len > iov->iov_len) in xdr_set_iov()
722 len = iov->iov_len; in xdr_set_iov()
724 xdr->end = (__be32*)(iov->iov_base + len); in xdr_set_iov()
730 unsigned int base, unsigned int len) in xdr_set_page_base() argument
742 if (len > maxlen) in xdr_set_page_base()
743 len = maxlen; in xdr_set_page_base()
754 pgend = pgoff + len; in xdr_set_page_base()
770 xdr_set_iov(xdr, xdr->buf->tail, xdr->buf->len); in xdr_set_next_page()
779 xdr_set_iov(xdr, xdr->buf->tail, xdr->buf->len); in xdr_set_next_buffer()
795 xdr->nwords = XDR_QUADLEN(buf->len); in xdr_init_decode()
797 xdr_set_iov(xdr, buf->head, buf->len); in xdr_init_decode()
799 xdr_set_page_base(xdr, 0, buf->len); in xdr_init_decode()
815 struct page **pages, unsigned int len) in xdr_init_decode_pages() argument
819 buf->page_len = len; in xdr_init_decode_pages()
820 buf->buflen = len; in xdr_init_decode_pages()
821 buf->len = len; in xdr_init_decode_pages()
902 static unsigned int xdr_align_pages(struct xdr_stream *xdr, unsigned int len) in xdr_align_pages() argument
906 unsigned int nwords = XDR_QUADLEN(len); in xdr_align_pages()
915 xdr->nwords = XDR_QUADLEN(buf->len - cur); in xdr_align_pages()
920 len = nwords << 2; in xdr_align_pages()
922 if (buf->page_len <= len) in xdr_align_pages()
923 len = buf->page_len; in xdr_align_pages()
926 xdr_shrink_pagelen(buf, buf->page_len - len); in xdr_align_pages()
927 xdr->nwords = XDR_QUADLEN(buf->len - cur); in xdr_align_pages()
929 return len; in xdr_align_pages()
943 unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len) in xdr_read_pages() argument
951 len = xdr_align_pages(xdr, len); in xdr_read_pages()
952 if (len == 0) in xdr_read_pages()
954 nwords = XDR_QUADLEN(len); in xdr_read_pages()
955 padding = (nwords << 2) - len; in xdr_read_pages()
970 return len; in xdr_read_pages()
984 void xdr_enter_page(struct xdr_stream *xdr, unsigned int len) in xdr_enter_page() argument
986 len = xdr_align_pages(xdr, len); in xdr_enter_page()
991 if (len != 0) in xdr_enter_page()
992 xdr_set_page_base(xdr, 0, len); in xdr_enter_page()
1004 buf->buflen = buf->len = iov->iov_len; in xdr_buf_from_iov()
1024 unsigned int base, unsigned int len) in xdr_buf_subsegment() argument
1026 subbuf->buflen = subbuf->len = len; in xdr_buf_subsegment()
1029 subbuf->head[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1031 len -= subbuf->head[0].iov_len; in xdr_buf_subsegment()
1039 subbuf->page_len = min(buf->page_len - base, len); in xdr_buf_subsegment()
1043 len -= subbuf->page_len; in xdr_buf_subsegment()
1052 subbuf->tail[0].iov_len = min_t(unsigned int, len, in xdr_buf_subsegment()
1054 len -= subbuf->tail[0].iov_len; in xdr_buf_subsegment()
1061 if (base || len) in xdr_buf_subsegment()
1077 void xdr_buf_trim(struct xdr_buf *buf, unsigned int len) in xdr_buf_trim() argument
1080 unsigned int trim = len; in xdr_buf_trim()
1104 buf->len -= (len - trim); in xdr_buf_trim()
1108 static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __read_bytes_from_xdr_buf() argument
1112 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __read_bytes_from_xdr_buf()
1114 len -= this_len; in __read_bytes_from_xdr_buf()
1116 this_len = min_t(unsigned int, len, subbuf->page_len); in __read_bytes_from_xdr_buf()
1119 len -= this_len; in __read_bytes_from_xdr_buf()
1121 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __read_bytes_from_xdr_buf()
1126 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
1131 status = xdr_buf_subsegment(buf, &subbuf, base, len); in read_bytes_from_xdr_buf()
1134 __read_bytes_from_xdr_buf(&subbuf, obj, len); in read_bytes_from_xdr_buf()
1139 static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len) in __write_bytes_to_xdr_buf() argument
1143 this_len = min_t(unsigned int, len, subbuf->head[0].iov_len); in __write_bytes_to_xdr_buf()
1145 len -= this_len; in __write_bytes_to_xdr_buf()
1147 this_len = min_t(unsigned int, len, subbuf->page_len); in __write_bytes_to_xdr_buf()
1150 len -= this_len; in __write_bytes_to_xdr_buf()
1152 this_len = min_t(unsigned int, len, subbuf->tail[0].iov_len); in __write_bytes_to_xdr_buf()
1157 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
1162 status = xdr_buf_subsegment(buf, &subbuf, base, len); in write_bytes_to_xdr_buf()
1165 __write_bytes_to_xdr_buf(&subbuf, obj, len); in write_bytes_to_xdr_buf()
1201 if (xdr_decode_word(buf, offset, &obj->len)) in xdr_buf_read_netobj()
1203 if (xdr_buf_subsegment(buf, &subbuf, offset + 4, obj->len)) in xdr_buf_read_netobj()
1208 if (subbuf.head[0].iov_len == obj->len) in xdr_buf_read_netobj()
1212 if (subbuf.tail[0].iov_len == obj->len) in xdr_buf_read_netobj()
1220 if (obj->len > buf->buflen - buf->len) in xdr_buf_read_netobj()
1226 __read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len); in xdr_buf_read_netobj()
1248 desc->elem_size > buf->len) in xdr_xcode_array2()
1430 if (base >= buf->len) in xdr_decode_array2()
1450 xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len, in xdr_process_buf() argument
1463 if (thislen > len) in xdr_process_buf()
1464 thislen = len; in xdr_process_buf()
1470 len -= thislen; in xdr_process_buf()
1472 if (len == 0) in xdr_process_buf()
1479 if (page_len > len) in xdr_process_buf()
1480 page_len = len; in xdr_process_buf()
1481 len -= page_len; in xdr_process_buf()
1499 if (len == 0) in xdr_process_buf()
1503 if (thislen > len) in xdr_process_buf()
1504 thislen = len; in xdr_process_buf()
1507 len -= thislen; in xdr_process_buf()
1509 if (len != 0) in xdr_process_buf()