+#include <sys/queue.h>
+
+/*
+ * Compatibility with old MACH queue.h
+ */
+typedef struct queue_entry *queue_t;
+typedef struct queue_entry queue_head_t;
+typedef struct queue_entry queue_chain_t;
+typedef struct queue_entry *queue_entry_t;
+
+#define queue_first(head) ((head)->qe_next)
+#define queue_next(elm) ((elm)->qe_next)
+#define queue_empty(head) ((head)->qe_next == 0)
+#define queue_end(head, elm) ((elm) == 0)
+
+#define queue_enter(head, elt, type, field) \
+ queue_enter_tail(head, elt, type, field)
+
+#define queue_remove_first(head, elt, type, field) { \
+ elt = queue_first(head); \
+ queue_remove(head, elt, type, field) \
+}