Modules/UDI - Implimenting UDI support, can load udi_dpt from udiref
[tpg/acess2.git] / KernelLand / Modules / Interfaces / UDI / include / udi / queues.h
diff --git a/KernelLand/Modules/Interfaces/UDI/include/udi/queues.h b/KernelLand/Modules/Interfaces/UDI/include/udi/queues.h
new file mode 100644 (file)
index 0000000..c19ec95
--- /dev/null
@@ -0,0 +1,24 @@
+/**
+ * \file udi_queues.h
+ * \brief Queue Management Utility Functions
+ */
+#ifndef _UDI_QUEUES_H_
+#define _UDI_QUEUES_H_
+
+typedef struct udi_queue       udi_queue_t;
+
+struct udi_queue
+{
+       struct udi_queue *next;
+       struct udi_queue *prev;
+};
+
+extern void udi_enqueue(udi_queue_t *new_el, udi_queue_t *old_el);
+extern udi_queue_t *udi_dequeue(udi_queue_t *element);
+
+#define UDI_QUEUE_INIT(listhead)       ((listhead)->next = (listhead)->prev = (listhead))
+#define UDI_QUEUE_EMPTY(listhead)      ((listhead)->next == (listhead)->prev)
+// TODO: other queue macros
+
+#endif
+

UCC git Repository :: git.ucc.asn.au