Lines Matching refs:desc

31 xdr_skb_read_bits(struct xdr_skb_reader *desc, void *to, size_t len)  in xdr_skb_read_bits()  argument
33 if (len > desc->count) in xdr_skb_read_bits()
34 len = desc->count; in xdr_skb_read_bits()
35 if (unlikely(skb_copy_bits(desc->skb, desc->offset, to, len))) in xdr_skb_read_bits()
37 desc->count -= len; in xdr_skb_read_bits()
38 desc->offset += len; in xdr_skb_read_bits()
50 static size_t xdr_skb_read_and_csum_bits(struct xdr_skb_reader *desc, void *to, size_t len) in xdr_skb_read_and_csum_bits() argument
55 if (len > desc->count) in xdr_skb_read_and_csum_bits()
56 len = desc->count; in xdr_skb_read_and_csum_bits()
57 pos = desc->offset; in xdr_skb_read_and_csum_bits()
58 csum2 = skb_copy_and_csum_bits(desc->skb, pos, to, len, 0); in xdr_skb_read_and_csum_bits()
59 desc->csum = csum_block_add(desc->csum, csum2, pos); in xdr_skb_read_and_csum_bits()
60 desc->count -= len; in xdr_skb_read_and_csum_bits()
61 desc->offset += len; in xdr_skb_read_and_csum_bits()
74 xdr_partial_copy_from_skb(struct xdr_buf *xdr, unsigned int base, struct xdr_skb_reader *desc, xdr_… in xdr_partial_copy_from_skb() argument
84 ret = copy_actor(desc, (char *)xdr->head[0].iov_base + base, len); in xdr_partial_copy_from_skb()
86 if (ret != len || !desc->count) in xdr_partial_copy_from_skb()
124 ret = copy_actor(desc, kaddr + base, len); in xdr_partial_copy_from_skb()
129 ret = copy_actor(desc, kaddr, len); in xdr_partial_copy_from_skb()
134 if (ret != len || !desc->count) in xdr_partial_copy_from_skb()
141 copied += copy_actor(desc, (char *)xdr->tail[0].iov_base + base, len - base); in xdr_partial_copy_from_skb()
156 struct xdr_skb_reader desc; in csum_partial_copy_to_xdr() local
158 desc.skb = skb; in csum_partial_copy_to_xdr()
159 desc.offset = 0; in csum_partial_copy_to_xdr()
160 desc.count = skb->len - desc.offset; in csum_partial_copy_to_xdr()
165 desc.csum = csum_partial(skb->data, desc.offset, skb->csum); in csum_partial_copy_to_xdr()
166 if (xdr_partial_copy_from_skb(xdr, 0, &desc, xdr_skb_read_and_csum_bits) < 0) in csum_partial_copy_to_xdr()
168 if (desc.offset != skb->len) { in csum_partial_copy_to_xdr()
170 csum2 = skb_checksum(skb, desc.offset, skb->len - desc.offset, 0); in csum_partial_copy_to_xdr()
171 desc.csum = csum_block_add(desc.csum, csum2, desc.offset); in csum_partial_copy_to_xdr()
173 if (desc.count) in csum_partial_copy_to_xdr()
175 if (csum_fold(desc.csum)) in csum_partial_copy_to_xdr()
182 if (xdr_partial_copy_from_skb(xdr, 0, &desc, xdr_skb_read_bits) < 0) in csum_partial_copy_to_xdr()
184 if (desc.count) in csum_partial_copy_to_xdr()