+#ifdef XNU_KERNEL_PRIVATE
+extern kern_return_t wait_queue_set_unlink_one(
+ wait_queue_set_t set_queue,
+ wait_queue_link_t link);
+
+extern kern_return_t wait_queue_unlink_nofree(
+ wait_queue_t wait_queue,
+ wait_queue_set_t set_queue,
+ wait_queue_link_t *wqlp);
+
+extern kern_return_t wait_queue_unlink_all_nofree(
+ wait_queue_t wait_queue,
+ queue_t links);
+
+extern kern_return_t wait_queue_set_unlink_all_nofree(
+ wait_queue_set_t set_queue,
+ queue_t links);
+
+extern wait_queue_link_t wait_queue_link_allocate(void);
+
+#endif /* XNU_KERNEL_PRIVATE */
+
+/* legacy API */
+kern_return_t wait_queue_sub_init(
+ wait_queue_set_t set_queue,
+ int policy);
+
+kern_return_t wait_queue_sub_clearrefs(
+ wait_queue_set_t wq_set);
+
+extern kern_return_t wait_subqueue_unlink_all(
+ wait_queue_set_t set_queue);
+
+extern wait_queue_t wait_queue_alloc(
+ int policy);
+
+extern kern_return_t wait_queue_free(
+ wait_queue_t wait_queue);
+