vio_append_iov()

Extend an iov array to cover an additional VirtIO descriptor

Synopsis:

#include <qvm/vio.h>
ssize_t vio_append_iov(const vdev_t *vdp,
                       struct virtq *vq,
                       uint16_t didx,
                       struct vio_iov *iov)

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.

Library:

Provided by qvm; no external library is required.

Returns:

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