vio_append_iov_cap()

Extend an iov array to cover an additional VIRTIO descriptor, up to a maximum length

Synopsis:

#include <qvm/vio.h>
ssize_t vio_append_iov_cap(const vdev_t *vdp,
                           vq_t *vq,
                           unsigned didx,
                           struct vio_iov *iov,
                           size_t cap)

Arguments:

vdp
A pointer to a vdev's state structure.
vq
A pointer to the virtual queue for which we are converting descriptors.
didx
An index to the descriptor.
iov
A pointer to the extended structure.
cap
The maximum length of the mapped data.

Returns:

If successful, the length of the new descriptor; otherwise, a negative errno value.