+
+typedef int vm_inherit_t; /* XXX: inheritance codes */
+
+union vm_map_object;
+typedef union vm_map_object vm_map_object_t;
+
+struct vm_map_entry;
+typedef struct vm_map_entry *vm_map_entry_t;
+
+struct vm_map;
+typedef struct vm_map *vm_map_t;
+
+struct vm_object;
+typedef struct vm_object *vm_object_t;
+
+struct vm_page;
+typedef struct vm_page *vm_page_t;
+
+struct pager_struct;
+typedef struct pager_struct *vm_pager_t;
+
+#include <sys/vmmeter.h>
+#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) \
+}
+