+typedef uint32_t *wpl_array_t;
+
+extern void vm_page_free_reserve(int pages);
+
+extern void vm_pageout_throttle_down(vm_page_t page);
+extern void vm_pageout_throttle_up(vm_page_t page);
+
+/*
+ * ENCRYPTED SWAP:
+ */
+extern void upl_encrypt(
+ upl_t upl,
+ upl_offset_t crypt_offset,
+ upl_size_t crypt_size);
+extern void vm_page_encrypt(
+ vm_page_t page,
+ vm_map_offset_t kernel_map_offset);
+extern boolean_t vm_pages_encrypted; /* are there encrypted pages ? */
+extern void vm_page_decrypt(
+ vm_page_t page,
+ vm_map_offset_t kernel_map_offset);
+extern kern_return_t vm_paging_map_object(
+ vm_map_offset_t *address,
+ vm_page_t page,
+ vm_object_t object,
+ vm_object_offset_t offset,
+ vm_map_size_t *size,
+ vm_prot_t protection,
+ boolean_t can_unlock_object);
+extern void vm_paging_unmap_object(
+ vm_object_t object,
+ vm_map_offset_t start,
+ vm_map_offset_t end);
+decl_simple_lock_data(extern, vm_paging_lock)
+
+/*
+ * Backing store throttle when BS is exhausted
+ */
+extern unsigned int vm_backing_store_low;
+
+extern void vm_pageout_queue_steal(
+ vm_page_t page,
+ boolean_t queues_locked);
+
+#endif /* MACH_KERNEL_PRIVATE */
+
+#if UPL_DEBUG
+extern kern_return_t upl_ubc_alias_set(
+ upl_t upl,
+ uintptr_t alias1,
+ uintptr_t alias2);
+extern int upl_ubc_alias_get(
+ upl_t upl,
+ uintptr_t * al,
+ uintptr_t * al2);
+#endif /* UPL_DEBUG */
+
+extern void vm_countdirtypages(void);
+
+extern void vm_backing_store_disable(
+ boolean_t suspend);
+
+extern kern_return_t upl_transpose(
+ upl_t upl1,
+ upl_t upl2);
+
+extern kern_return_t mach_vm_pressure_monitor(
+ boolean_t wait_for_pressure,
+ unsigned int nsecs_monitored,
+ unsigned int *pages_reclaimed_p,
+ unsigned int *pages_wanted_p);
+
+extern kern_return_t
+vm_set_buffer_cleanup_callout(
+ boolean_t (*func)(int));
+
+struct vm_page_stats_reusable {
+ SInt32 reusable_count;
+ uint64_t reusable;
+ uint64_t reused;
+ uint64_t reused_wire;
+ uint64_t reused_remove;
+ uint64_t all_reusable_calls;
+ uint64_t partial_reusable_calls;
+ uint64_t all_reuse_calls;
+ uint64_t partial_reuse_calls;
+ uint64_t reusable_pages_success;
+ uint64_t reusable_pages_failure;
+ uint64_t reusable_pages_shared;
+ uint64_t reuse_pages_success;
+ uint64_t reuse_pages_failure;
+ uint64_t can_reuse_success;
+ uint64_t can_reuse_failure;
+};
+extern struct vm_page_stats_reusable vm_page_stats_reusable;
+
+extern int hibernate_flush_memory(void);