Structure for converting a virtqueue descriptor list into an iov_t array
#include <qvm/vio.h>
struct vio_iov {
iov_t* vi_iov;
struct __iovec64* vi_paddrs;
int vi_iov_len;
int vi_reserved;
unsigned vi_flags;
unsigned vi_hdr_len;
int vi_count;
int vi_payload;
} ;
The vdev will likely re-use the vio_iov structure for multiple calls to vio_get_iov().
The vi_hdr_len member of vio_iov is usually expected to be constant through the life of the current structure. It is usually best to set its value immediately after your initial zeroing the structure.