new helper: iov_iter_kvec()
[deliverable/linux.git] / include / linux / uio.h
index 9b1581414cd4ab1606574b01f617ec6a5583f663..c567655b9595dc1b9a29a21f74e0e8dedf5412aa 100644 (file)
@@ -31,6 +31,7 @@ struct iov_iter {
        size_t count;
        union {
                const struct iovec *iov;
+               const struct kvec *kvec;
                const struct bio_vec *bvec;
        };
        unsigned long nr_segs;
@@ -86,6 +87,8 @@ size_t iov_iter_zero(size_t bytes, struct iov_iter *);
 unsigned long iov_iter_alignment(const struct iov_iter *i);
 void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov,
                        unsigned long nr_segs, size_t count);
+void iov_iter_kvec(struct iov_iter *i, int direction, const struct kvec *iov,
+                       unsigned long nr_segs, size_t count);
 ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
                        size_t maxsize, unsigned maxpages, size_t *start);
 ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages,
@@ -123,6 +126,8 @@ static inline void iov_iter_reexpand(struct iov_iter *i, size_t count)
 {
        i->count = count;
 }
+size_t csum_and_copy_to_iter(void *addr, size_t bytes, __wsum *csum, struct iov_iter *i);
+size_t csum_and_copy_from_iter(void *addr, size_t bytes, __wsum *csum, struct iov_iter *i);
 
 int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int len);
 int memcpy_toiovec(struct iovec *iov, unsigned char *kdata, int len);
This page took 0.025209 seconds and 5 git commands to generate.