Bugfixes Xeon Phi Driver startup - removed check for boot info - added initialization...
[barrelfish] / include / virtio / virtio_device.h
index 7f4afb7..65ae994 100644 (file)
@@ -137,7 +137,7 @@ struct virtio_device_setup
  * \param init      additional information passed for the init process
  * \param dev_regs  memory location of the device registers
  */
-errval_t virtio_device_init(struct virtio_device **dev,
+errval_t virtio_device_open(struct virtio_device **dev,
                             struct virtio_device_setup *init);
 
 /**
@@ -149,11 +149,20 @@ errval_t virtio_device_init(struct virtio_device **dev,
  * \param init      additional information passed for the init process
  * \param dev_cap   capability representing the device registers
  */
-errval_t virtio_device_init_with_cap(struct virtio_device **dev,
+errval_t virtio_device_open_with_cap(struct virtio_device **dev,
                                      struct virtio_device_setup *init,
                                      struct capref dev_cap);
 
 /**
+ * \brief   closes a virtio device.
+ *
+ * \param dev the device to be closed
+ *
+ * \returns SYS_ERR_OK on success
+ */
+errval_t virtio_device_close(struct virtio_device *dev);
+
+/**
  * \brief resets the virtio device
  *
  * \param dev   the device to reset
@@ -163,6 +172,17 @@ errval_t virtio_device_init_with_cap(struct virtio_device **dev,
 errval_t virtio_device_reset(struct virtio_device *dev);
 
 /**
+ * \brief returns the status of a virtio device
+ *
+ * \param the device to query for status
+ * \param returned status
+ *
+ * \returns SYS_ERR_OK on success
+ */
+errval_t virtio_device_get_status(struct virtio_device *dev,
+                                  uint8_t *ret_status);
+
+/**
  * \brief
  *
  * \param
@@ -170,11 +190,12 @@ errval_t virtio_device_reset(struct virtio_device *dev);
 errval_t virtio_device_set_status(struct virtio_device *dev,
                                   uint8_t status);
 
-errval_t virtio_device_get_status(struct virtio_device *dev,
-                                  uint8_t *ret_status);
 
 errval_t virtio_device_feature_negotiate(struct virtio_device *dev);
 
 errval_t virtio_device_specific_setup(struct virtio_device *dev);
 
+bool     virtio_device_has_feature(struct virtio_device *dev,
+                                   uint8_t feature);
+
 #endif // VIRTIO_VIRTIO_DEVICE_H