Index: uspace/lib/virtio/virtio-pci.h
===================================================================
--- uspace/lib/virtio/virtio-pci.h	(revision 659bd2464600f4597ad652278bfb4290bbd90241)
+++ uspace/lib/virtio/virtio-pci.h	(revision 1c53d930aae19cd390d8ff0418fbfe7b5bcabc53)
@@ -58,5 +58,5 @@
 #define VIRTIO_DEV_STATUS_FAILED		128
 
-/** Common configuration structure layout according to VIRTIO v1. */
+/** Common configuration structure layout according to VIRTIO version 1.0 */
 typedef struct virtio_pci_common_cfg {
 	ioport32_t device_feature_select;
@@ -78,4 +78,51 @@
 } virtio_pci_common_cfg_t;
 
+/** The buffer continues in the next descriptor */
+#define VIRTQ_DESC_F_NEXT	1
+/** Device write-only buffer */
+#define VIRTQ_DESC_F_WRITE	2
+/** Buffer contains a list of buffer descriptors */
+#define VIRTQ_DESC_F_INDIRECT	4
+
+/** Virtqueue Descriptor structure as per VIRTIO version 1.0 */
+typedef struct virtq_desc {
+	ioport64_t addr;	/**< Buffer physical address */
+	ioport32_t len;		/**< Buffer length */
+	ioport16_t flags;	/**< Buffer flags */
+	ioport16_t next;	/**< Continuation descriptor */
+} virtq_desc_t;
+
+#define VIRTQ_AVAIL_F_NO_INTERRUPT	1
+
+/** Virtqueue Available Ring as per VIRTIO version 1.0 */
+typedef struct virtq_avail {
+	ioport16_t flags;
+	ioport16_t idx;
+	ioport16_t ring[];
+	/*
+	 * We do not define the optional used_event member here in order to be
+	 * able to define ring as a variable-length array.
+	 */
+} virtq_avail_t;
+
+typedef struct virtq_used_elem {
+	ioport32_t id;
+	ioport32_t len;
+} virtq_used_elem_t;
+
+#define VIRTQ_USED_F_NO_NOTIFY	1
+
+/** Virtqueue Used Ring as per VIRTIO version 1.0 */
+typedef struct virtq_used {
+	ioport16_t flags;
+	ioport16_t idx;
+	virtq_used_elem_t ring[];
+	/*
+	 * We do not define the optional avail_event member here in order to be
+	 * able to define ring as a variable-length array.
+	 */
+} virtq_used_t;
+
+/** VIRTIO-device specific data associated with the NIC framework nic_t */
 typedef struct {
 	struct {
