1. 11 Jun, 2012 2 commits
    • Michael Tokarev's avatar
      cleanup qemu_co_sendv(), qemu_co_recvv() and friends · 2fc8ae1d
      Michael Tokarev authored
      The same as for non-coroutine versions in previous
      patches: rename arguments to be more obvious, change
      type of arguments from int to size_t where appropriate,
      and use common code for send and receive paths (with
      one extra argument) since these are exactly the same.
      Use common iov_send_recv() directly.
      qemu_co_sendv(), qemu_co_recvv(), and qemu_co_recv()
      are now trivial #define's merely adding one extra arg.
      qemu_co_sendv() and qemu_co_recvv() callers are
      converted to different argument order and extra
      `iov_cnt' argument.
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
    • Michael Tokarev's avatar
      rename qemu_sendv to iov_send, change proto and move declarations to iov.h · 3e80bf93
      Michael Tokarev authored
      Rename arguments and use size_t for sizes instead of int,
       qemu_sendv(int sockfd, struct iovec *iov,
                  int len, int iov_offset)
       iov_send(int sockfd, struct iovec *iov,
                size_t offset, size_t bytes)
      The main motivation was to make it clear that length
      and offset are in _bytes_, not in iov elements: it was
      very confusing before, because all standard functions
      which deals with iovecs expects number of iovs, not
      bytes, even the fact that struct iovec has iov_len and
      iov_ prefix does not help.  With "bytes" and "offset",
      especially since they're now size_t, it is much more
      explicit.  Also change the return type to be ssize_t
      instead of int.
      This also changes it to match other iov-related functons,
      but not _quite_: there's still no argument indicating
      where iovec ends, ie, no iov_cnt parameter as used
      in iov_size() and friends.  If will be added in subsequent
      All callers of qemu_sendv() and qemu_recvv() and
      related, like qemu_co_sendv() and qemu_co_recvv(),
      were checked to verify that it is safe to use unsigned
      datatype instead of int.
      Note that the order of arguments is changed to: offset
      and bytes (len and iov_offset) are swapped with each
      other.  This is to make them consistent with very similar
      functions from qemu_iovec family, where offset always
      follows qiov, to mean the place in it to start from.
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
  2. 22 Dec, 2011 1 commit