1/* 2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28/* 29 * @OSF_COPYRIGHT@ 30 */ 31/* 32 * Mach Operating System 33 * Copyright (c) 1991,1990,1989 Carnegie Mellon University 34 * All Rights Reserved. 35 * 36 * Permission to use, copy, modify and distribute this software and its 37 * documentation is hereby granted, provided that both the copyright 38 * notice and this permission notice appear in all copies of the 39 * software, derivative works or modified versions, and any portions 40 * thereof, and that both notices appear in supporting documentation. 41 * 42 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 43 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 44 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 45 * 46 * Carnegie Mellon requests users of this software to return to 47 * 48 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 49 * School of Computer Science 50 * Carnegie Mellon University 51 * Pittsburgh PA 15213-3890 52 * 53 * any improvements or extensions that they make and grant Carnegie Mellon 54 * the rights to redistribute these changes. 55 */ 56/* 57 */ 58/* 59 * File: mach/default_pager_object.defs 60 * 61 */ 62 63subsystem 64#if KERNEL_USER 65 KernelUser 66#endif /* KERNEL_USER */ 67#if KERNEL_SERVER 68 KernelServer 69#endif /* KERNEL_SERVER */ 70 default_pager_object 2275; 71 72#include <mach/std_types.defs> 73#include <mach/mach_types.defs> 74#include <default_pager/default_pager_types.defs> 75 76type vnode_ptr_t = array[1] of int; 77 78routine default_pager_object_create( 79 default_pager : mach_port_t; 80 object_size : vm_size_t; 81 out memory_object : memory_object_t); 82 83routine default_pager_info( 84 default_pager : mach_port_t; 85 out info : default_pager_info_t); 86 87routine default_pager_objects( 88 default_pager : mach_port_t; 89 out objects : default_pager_object_array_t, 90 Dealloc; 91 out ports : mach_port_array_t = 92 array[] of mach_port_move_send_t, 93 Dealloc); 94 95routine default_pager_object_pages( 96 default_pager : mach_port_t; 97 memory_object : memory_object_name_t; 98 out pages : default_pager_page_array_t, 99 Dealloc); 100 101skip; /* default_pager_paging_file */ 102 103routine default_pager_backing_store_create( 104 default_pager : mach_port_t; 105 in priority : int; 106 in clsize : int; 107 out backing_store : mach_port_t = 108 MACH_MSG_TYPE_MAKE_SEND); 109 110routine default_pager_backing_store_delete( 111 backing_store : mach_port_t); 112 113 114#ifdef PAGE_TO_DEVICE 115routine default_pager_add_segment( 116 backing_store : mach_port_t; 117 in device : mach_port_t; 118 in offset : recnum_t; 119 in count : recnum_t; 120 in record_size : int); 121#endif 122 123routine default_pager_backing_store_info( 124 backing_store : mach_port_t; 125 flavor : backing_store_flavor_t; 126 out info : backing_store_info_t, CountInOut); 127 128routine default_pager_add_file( 129 backing_store : mach_port_t; 130 in vnode : vnode_ptr_t; 131 in record_size : int; 132 in size : vm_size_t); 133 134 135routine default_pager_triggers( 136 default_pager : mach_port_t; 137 in hi_wat : int; 138 in lo_wat : int; 139 in flags : int; 140 in trigger_port : mach_port_t); 141 142routine default_pager_info_64( 143 default_pager : mach_port_t; 144 out info : default_pager_info_64_t); 145 146/* vim: set ft=c : */ 147