X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d7e50217d7adf6e52786a38bcaa4cd698cb9a79e..0b4c1975fb5e4eccf1012a35081f7e7799b81046:/osfmk/mach/vm_map.defs diff --git a/osfmk/mach/vm_map.defs b/osfmk/mach/vm_map.defs index aeb2fe50a..439c0145a 100644 --- a/osfmk/mach/vm_map.defs +++ b/osfmk/mach/vm_map.defs @@ -1,16 +1,19 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. + * + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER @@ -20,7 +23,7 @@ * Please see the License for the specific language governing rights and * limitations under the License. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* * @OSF_FREE_COPYRIGHT@ @@ -53,16 +56,15 @@ /* */ /* - * File: mach/mach_port.defs - * Author: Rich Draves + * File: mach/vm_map.defs * - * Exported kernel calls. + * Exported (native-sized) kernel VM calls. */ subsystem #if KERNEL_SERVER KernelServer -#endif KERNEL_SERVER +#endif /* KERNEL_SERVER */ vm_map 3800; #include @@ -321,7 +323,7 @@ routine mach_make_memory_entry( inout size :vm_size_t; offset :vm_offset_t; permission :vm_prot_t; - out object_handle :mach_port_move_send_t; + out object_handle :mem_entry_name_port_move_send_t; parent_entry :mem_entry_name_port_t); /* @@ -350,6 +352,7 @@ routine vm_mapped_pages_info( task : vm_map_t; out pages : page_address_array_t); +#if 0 /* * Allow application level processes to create named entries which * are backed by sub-maps which describe regions of address space. @@ -357,11 +360,13 @@ routine vm_mapped_pages_info( * in turn, can be mapped into target address spaces */ - routine vm_region_object_create( target_task :vm_map_t; in size :vm_size_t; out region_object :mach_port_move_send_t); +#else +skip; /* was vm_region_object_create */ +#endif /* * A recursive form of vm_region which probes submaps withint the @@ -386,7 +391,7 @@ routine vm_region_recurse_64( inout address : vm_address_t; out size : vm_size_t; inout nesting_depth : natural_t; - out info : vm_region_recurse_info_64_t,CountInOut); + out info : vm_region_recurse_info_t,CountInOut); routine mach_vm_region_info_64( task : vm_map_t; @@ -399,7 +404,7 @@ routine vm_region_64( inout address : vm_address_t; out size : vm_size_t; flavor : vm_region_flavor_t; - out info : vm_region_info_64_t, CountInOut; + out info : vm_region_info_t, CountInOut; out object_name : memory_object_name_t = MACH_MSG_TYPE_MOVE_SEND ctype: mach_port_t); @@ -427,9 +432,13 @@ routine vm_map_64( max_protection : vm_prot_t; inheritance : vm_inherit_t); +#if 0 +/* + * The UPL interfaces are not ready for user-level export. + */ routine vm_map_get_upl( target_task : vm_map_t; - address : vm_address_t; + address : vm_map_offset_t; inout size : vm_size_t; out upl : upl_t; out page_info : upl_page_info_array_t, CountInOut; @@ -444,5 +453,23 @@ routine vm_upl_map( routine vm_upl_unmap( target_task : vm_map_t; upl : upl_t); - +#else +skip; /* was vm_map_get_upl */ +skip; /* was vm_upl_map */ +skip; /* was vm_upl_unmap */ +#endif + +/* + * Control behavior and investigate state of a "purgable" object in + * the virtual address space of the target task. A purgable object is + * created via a call to vm_allocate() with VM_FLAGS_PURGABLE + * specified. See the routine implementation for a complete + * definition of the routine. + */ +routine vm_purgable_control( + target_task : vm_map_t; + address : vm_address_t; + control : vm_purgable_t; + inout state : int); +/* vim: set ft=c : */