+#endif /* !XNU_KERNEL_PRIVATE */
+
+
+#ifdef XNU_KERNEL_PRIVATE
+typedef struct vm_allocation_site kern_allocation_name;
+typedef kern_allocation_name * kern_allocation_name_t;
+#else /* XNU_KERNEL_PRIVATE */
+struct kern_allocation_name;
+typedef struct kern_allocation_name * kern_allocation_name_t;
+#endif /* !XNU_KERNEL_PRIVATE */
+
+extern kern_allocation_name_t kern_allocation_name_allocate(const char * name, uint32_t suballocs);
+extern void kern_allocation_name_release(kern_allocation_name_t allocation);
+extern const char * kern_allocation_get_name(kern_allocation_name_t allocation);
+#ifdef XNU_KERNEL_PRIVATE
+extern void kern_allocation_update_size(kern_allocation_name_t allocation, int64_t delta);
+extern void kern_allocation_update_subtotal(kern_allocation_name_t allocation, uint32_t subtag, int64_t delta);
+extern vm_tag_t kern_allocation_name_get_vm_tag(kern_allocation_name_t allocation);
+#endif /* XNU_KERNEL_PRIVATE */
+
+#ifdef MACH_KERNEL_PRIVATE
+
+extern void kmem_init(
+ vm_offset_t start,
+ vm_offset_t end);
+
+extern kern_return_t copyinmap(
+ vm_map_t map,
+ vm_map_offset_t fromaddr,
+ void *todata,
+ vm_size_t length);
+
+extern kern_return_t copyoutmap(
+ vm_map_t map,
+ void *fromdata,
+ vm_map_offset_t toaddr,
+ vm_size_t length);
+
+extern kern_return_t kmem_alloc_external(
+ vm_map_t map,
+ vm_offset_t *addrp,
+ vm_size_t size);
+
+extern kern_return_t kmem_alloc_kobject_external(
+ vm_map_t map,
+ vm_offset_t *addrp,
+ vm_size_t size);
+
+extern kern_return_t kmem_alloc_pageable_external(
+ vm_map_t map,
+ vm_offset_t *addrp,
+ vm_size_t size);
+
+#endif /* MACH_KERNEL_PRIVATE */
+
+#ifdef XNU_KERNEL_PRIVATE
+
+extern kern_return_t mach_vm_allocate_kernel(
+ vm_map_t map,
+ mach_vm_offset_t *addr,
+ mach_vm_size_t size,
+ int flags,
+ vm_tag_t tag);
+
+extern kern_return_t vm_allocate_kernel(
+ vm_map_t map,
+ vm_offset_t *addr,
+ vm_size_t size,
+ int flags,
+ vm_tag_t tag);
+
+
+extern kern_return_t mach_vm_map_kernel(
+ vm_map_t target_map,
+ mach_vm_offset_t *address,
+ mach_vm_size_t initial_size,
+ mach_vm_offset_t mask,
+ int flags,
+ vm_map_kernel_flags_t vmk_flags,
+ vm_tag_t tag,
+ ipc_port_t port,
+ vm_object_offset_t offset,
+ boolean_t copy,
+ vm_prot_t cur_protection,
+ vm_prot_t max_protection,
+ vm_inherit_t inheritance);
+
+
+extern kern_return_t vm_map_kernel(
+ vm_map_t target_map,
+ vm_offset_t *address,
+ vm_size_t size,
+ vm_offset_t mask,
+ int flags,
+ vm_map_kernel_flags_t vmk_flags,
+ vm_tag_t tag,
+ ipc_port_t port,
+ vm_offset_t offset,
+ boolean_t copy,
+ vm_prot_t cur_protection,
+ vm_prot_t max_protection,
+ vm_inherit_t inheritance);
+
+extern kern_return_t mach_vm_remap_kernel(
+ vm_map_t target_map,
+ mach_vm_offset_t *address,
+ mach_vm_size_t size,
+ mach_vm_offset_t mask,
+ int flags,
+ vm_tag_t tag,
+ vm_map_t src_map,
+ mach_vm_offset_t memory_address,
+ boolean_t copy,
+ vm_prot_t *cur_protection,
+ vm_prot_t *max_protection,
+ vm_inherit_t inheritance);
+
+extern kern_return_t vm_remap_kernel(
+ vm_map_t target_map,
+ vm_offset_t *address,
+ vm_size_t size,
+ vm_offset_t mask,
+ int flags,
+ vm_tag_t tag,
+ vm_map_t src_map,
+ vm_offset_t memory_address,
+ boolean_t copy,
+ vm_prot_t *cur_protection,
+ vm_prot_t *max_protection,
+ vm_inherit_t inheritance);
+
+extern kern_return_t vm_map_64_kernel(
+ vm_map_t target_map,
+ vm_offset_t *address,
+ vm_size_t size,
+ vm_offset_t mask,
+ int flags,
+ vm_map_kernel_flags_t vmk_flags,
+ vm_tag_t tag,
+ ipc_port_t port,
+ vm_object_offset_t offset,
+ boolean_t copy,
+ vm_prot_t cur_protection,
+ vm_prot_t max_protection,
+ vm_inherit_t inheritance);
+
+extern kern_return_t mach_vm_wire_kernel(
+ host_priv_t host_priv,
+ vm_map_t map,
+ mach_vm_offset_t start,
+ mach_vm_size_t size,
+ vm_prot_t access,
+ vm_tag_t tag);
+
+extern kern_return_t vm_map_wire_kernel(
+ vm_map_t map,
+ vm_map_offset_t start,
+ vm_map_offset_t end,
+ vm_prot_t caller_prot,
+ vm_tag_t tag,
+ boolean_t user_wire);
+
+extern kern_return_t vm_map_wire_and_extract_kernel(
+ vm_map_t map,
+ vm_map_offset_t start,
+ vm_prot_t caller_prot,
+ vm_tag_t tag,
+ boolean_t user_wire,
+ ppnum_t *physpage_p);
+
+#endif /* XNU_KERNEL_PRIVATE */
+
+extern vm_map_t kernel_map;
+extern vm_map_t kernel_pageable_map;