From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41923) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8Zun-00041o-Go for qemu-devel@nongnu.org; Fri, 16 Mar 2012 12:22:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S8Zui-0006hK-Bi for qemu-devel@nongnu.org; Fri, 16 Mar 2012 12:22:05 -0400 Received: from mail-pz0-f45.google.com ([209.85.210.45]:46696) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S8Zui-0006fT-5O for qemu-devel@nongnu.org; Fri, 16 Mar 2012 12:22:00 -0400 Received: by dadp14 with SMTP id p14so6490824dad.4 for ; Fri, 16 Mar 2012 09:21:58 -0700 (PDT) Message-ID: <4F6368A3.5060304@codemonkey.ws> Date: Fri, 16 Mar 2012 11:21:55 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1331845217-21705-1-git-send-email-mjt@msgid.tls.msk.ru> <1331845217-21705-10-git-send-email-mjt@msgid.tls.msk.ru> In-Reply-To: <1331845217-21705-10-git-send-email-mjt@msgid.tls.msk.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCHv4 09/11] export iov_send_recv() and use it in iov_send() and iov_recv() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Tokarev Cc: Paolo Bonzini , qemu-devel@nongnu.org On 03/15/2012 04:00 PM, Michael Tokarev wrote: > Rename do_sendv_recvv() to iov_send_recv(), change its last arg > (do_send) from int to bool, export it in iov.h, and made the two > callers of it (iov_send() and iov_recv()) to be trivial #defines > just adding 5th arg. > > iov_send_recv() will be used later. > > Signed-off-by: Michael Tokarev > --- > cutils.c | 17 +++-------------- > iov.h | 10 +++++++--- > 2 files changed, 10 insertions(+), 17 deletions(-) > > diff --git a/cutils.c b/cutils.c > index 2ad5fa3..cb6f638 100644 > --- a/cutils.c > +++ b/cutils.c > @@ -376,9 +376,9 @@ int qemu_parse_fd(const char *param) > return fd; > } > > -static ssize_t do_sendv_recvv(int sockfd, struct iovec *iov, > - size_t offset, size_t bytes, > - int do_sendv) > +ssize_t iov_send_recv(int sockfd, struct iovec *iov, > + size_t offset, size_t bytes, > + bool do_sendv) > { > int iovlen; > ssize_t ret; > @@ -458,14 +458,3 @@ static ssize_t do_sendv_recvv(int sockfd, struct iovec *iov, > last_iov->iov_len += diff; > return ret; > } > - > -ssize_t iov_recv(int sockfd, struct iovec *iov, size_t offset, size_t bytes) > -{ > - return do_sendv_recvv(sockfd, iov, offset, bytes, 0); > -} > - > -ssize_t iov_send(int sockfd, struct iovec *iov, size_t offset, size_t bytes) > -{ > - return do_sendv_recvv(sockfd, iov, offset, bytes, 1); > -} > - > diff --git a/iov.h b/iov.h > index 5aa2f45..9b6a883 100644 > --- a/iov.h > +++ b/iov.h > @@ -60,7 +60,7 @@ size_t iov_memset(const struct iovec *iov, const unsigned int iov_cnt, > * `offset' bytes in the beginning of iovec buffer are skipped and > * next `bytes' bytes are used, which must be within data of iovec. > * > - * r = iov_send(sockfd, iov, offset, bytes); > + * r = iov_send_recv(sockfd, iov, offset, bytes, true); > * > * is logically equivalent to > * > @@ -69,8 +69,12 @@ size_t iov_memset(const struct iovec *iov, const unsigned int iov_cnt, > * r = send(sockfd, buf, bytes, 0); > * free(buf); > */ > -ssize_t iov_recv(int sockfd, struct iovec *iov, size_t offset, size_t bytes); > -ssize_t iov_send(int sockfd, struct iovec *iov, size_t offset, size_t bytes); > +ssize_t iov_send_recv(int sockfd, struct iovec *iov, > + size_t offset, size_t bytes, bool do_send); > +#define iov_recv(sockfd, iov, offset, bytes) \ > + iov_send_recv(sockfd, iov, offset, bytes, false) > +#define iov_send(sockfd, iov, offset, bytes) \ > + iov_send_recv(sockfd, iov, offset, bytes, true) Please use a static inline instead of a macro. Macros make compiler errors/warnings confusing. Regards, Anthony Liguori > > /** > * Produce a text hexdump of iovec `iov' with `iov_cnt' number of elements