/* * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. * * @APPLE_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. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ /* * @OSF_COPYRIGHT@ */ /* * Mach Operating System * Copyright (c) 1991,1990,1989 Carnegie Mellon University * All Rights Reserved. * * Permission to use, copy, modify and distribute this software and its * documentation is hereby granted, provided that both the copyright * notice and this permission notice appear in all copies of the * software, derivative works or modified versions, and any portions * thereof, and that both notices appear in supporting documentation. * * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. * * Carnegie Mellon requests users of this software to return to * * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU * School of Computer Science * Carnegie Mellon University * Pittsburgh PA 15213-3890 * * any improvements or extensions that they make and grant Carnegie Mellon * the rights to redistribute these changes. */ /* */ /* * File: mach/default_pager_object.defs * */ subsystem #if KERNEL_USER KernelUser #endif /* KERNEL_USER */ #if KERNEL_SERVER KernelServer #endif /* KERNEL_SERVER */ default_pager_object 2275; #include #include #include type vnode_ptr_t = array[1] of int; routine default_pager_object_create( default_pager : mach_port_t; object_size : vm_size_t; out memory_object : memory_object_t); routine default_pager_info( default_pager : mach_port_t; out info : default_pager_info_t); routine default_pager_objects( default_pager : mach_port_t; out objects : default_pager_object_array_t, Dealloc; out ports : mach_port_array_t = array[] of mach_port_move_send_t, Dealloc); routine default_pager_object_pages( default_pager : mach_port_t; memory_object : memory_object_name_t; out pages : default_pager_page_array_t, Dealloc); skip; /* default_pager_paging_file */ routine default_pager_backing_store_create( default_pager : mach_port_t; in priority : int; in clsize : int; out backing_store : mach_port_t = MACH_MSG_TYPE_MAKE_SEND); routine default_pager_backing_store_delete( backing_store : mach_port_t); #ifdef PAGE_TO_DEVICE routine default_pager_add_segment( backing_store : mach_port_t; in device : mach_port_t; in offset : recnum_t; in count : recnum_t; in record_size : int); #endif routine default_pager_backing_store_info( backing_store : mach_port_t; flavor : backing_store_flavor_t; out info : backing_store_info_t, CountInOut); routine default_pager_add_file( backing_store : mach_port_t; in vnode : vnode_ptr_t; in record_size : int; in size : vm_size_t); routine default_pager_triggers( default_pager : mach_port_t; in hi_wat : int; in lo_wat : int; in flags : int; in trigger_port : mach_port_t); routine default_pager_info_64( default_pager : mach_port_t; out info : default_pager_info_64_t);