From 96b2a9a9c243bf9d93b3b2737aef62e281000097 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 7 Feb 2000 02:25:46 +0000 Subject: 2000-02-06 Roland McGrath * glue-include/linux/socket.h (memcpy_fromiovec): Update *IOV to consume bytes copied from the available buffer. (memcpy_tokerneliovec): Likewise. (memcpy_toiovec): Just call memcpy_tokerneliovec. --- pfinet/glue-include/linux/socket.h | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'pfinet/glue-include/linux') diff --git a/pfinet/glue-include/linux/socket.h b/pfinet/glue-include/linux/socket.h index 12c73bfa..8d5774de 100644 --- a/pfinet/glue-include/linux/socket.h +++ b/pfinet/glue-include/linux/socket.h @@ -90,7 +90,7 @@ struct ucred { }; -extern inline int +extern inline int /* Does not modify IOV. */ memcpy_fromiovecend (unsigned char *kdata, struct iovec *iov, int offset, int len) { @@ -98,25 +98,28 @@ memcpy_fromiovecend (unsigned char *kdata, struct iovec *iov, memcpy (kdata, iov->iov_base + offset, len); return 0; } -extern inline int +extern inline int /* Modifies IOV to consume LEN bytes. */ memcpy_fromiovec (unsigned char *kdata, struct iovec *iov, int len) { assert (len <= iov->iov_len); memcpy (kdata, iov->iov_base, len); + iov->iov_base += len; + iov->iov_len -= len; return 0; } -extern inline int -memcpy_toiovec (struct iovec *iov, unsigned char *kdata, int len) +extern inline void /* Modifies IOV to consume LEN bytes. */ +memcpy_tokerneliovec (struct iovec *iov, unsigned char *kdata, int len) { assert (len <= iov->iov_len); memcpy (iov->iov_base, kdata, len); - return 0; + iov->iov_base += len; + iov->iov_len -= len; } -extern inline void -memcpy_tokerneliovec (struct iovec *iov, unsigned char *kdata, int len) +extern inline int /* Modifies IOV to consume LEN bytes. */ +memcpy_toiovec (struct iovec *iov, unsigned char *kdata, int len) { - assert (len <= iov->iov_len); - memcpy (iov->iov_base, kdata, len); + memcpy_tokerneliovec (iov, kdata, len); + return 0; } extern int csum_partial_copy_fromiovecend(unsigned char *kdata, -- cgit v1.2.3