DeviceQueue: moved queue state from .h to .c
authorRoni Häcki <roni.haecki@inf.ethz.ch>
Fri, 15 Jul 2016 14:35:41 +0000 (16:35 +0200)
committerRoni Häcki <roni.haecki@inf.ethz.ch>
Fri, 15 Jul 2016 14:35:41 +0000 (16:35 +0200)
Signed-off-by: Roni Häcki <roni.haecki@inf.ethz.ch>

include/devif/queue_interface.h
lib/devif/queue_interface.c

index 16d2968..c2980f9 100644 (file)
 typedef uint32_t regionid_t;
 typedef uint32_t bufferid_t;
 
-struct region_pool;
 
-/**
- * Represent the device queue itself
- */
-struct devq {
-
-    uint32_t queue_id;
-
-    // device type
-    uint8_t device_type;
-
-    // name of the device
-    char device_name[MAX_DEVICE_NAME];
-    // pointer to device queue state
-    void* q;
-    // Region management
-    struct region_pool* pool;
-    //TODO Other state needed ...
-};
+struct devq;
 
 /*
  * ===========================================================================
@@ -72,6 +54,14 @@ errval_t devq_create(struct devq **q,
   */
 errval_t devq_destroy(struct devq *q);
 
+/**
+ * @brief get the device specific state for a queue
+ *
+ * @param q           The device queue to get the state for
+ *
+ * @returns void pointer to the defice specific state
+ */
+void* devq_get_state(struct devq *q);
 
 /*
  * ===========================================================================
index ca0c958..cf6b9b8 100644 (file)
 #include <devif/queue_interface.h>
 #include "region_pool.h"
 #include "dqi_debug.h"
+
+/**
+ * Represent the device queue itself
+ */
+struct devq {
+
+    uint32_t queue_id;
+
+    // device type
+    uint8_t device_type;
+
+    // name of the device
+    char device_name[MAX_DEVICE_NAME];
+    // pointer to device queue state
+    void* q;
+    // Region management
+    struct region_pool* pool;
+    //TODO Other state needed ...
+};
+
  /*
  * ===========================================================================
  * Device queue creation and destruction
@@ -106,6 +126,18 @@ errval_t devq_destroy(struct devq *qp)
     return SYS_ERR_OK;
 }
 
+
+/**
+ * @brief get the device specific state for a queue
+ *
+ * @param q           The device queue to get the state for
+ *
+ * @returns void pointer to the defice specific state
+ */
+void* devq_get_state(struct devq *q) 
+{
+    return q->q;
+}
 /*
  * ===========================================================================
  * Datapath functions