Source to kern/pager_default.defs


Enter a symbol's name here to quickly find it.

/*
 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 * 
 * "Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
 * Reserved.  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 1.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.apple.com/publicsource 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 OR NON-INFRINGEMENT.  Please see the
 * License for the specific language governing rights and limitations
 * under the License."
 * 
 * @APPLE_LICENSE_HEADER_END@
 */

/* 
 * Mach Operating System
 * Copyright (c) 1987 Carnegie-Mellon University
 * All rights reserved.  The CMU software License Agreement specifies
 * the terms and conditions for use and redistribution.
 */

subsystem pager_default 2250;

/*
 * File:	kern/pager_default.defs
 *
 * Abstract:
 *	Mach external memory management interface declaration; subset
 *	that is applicable to managers of kernel-created memory objects.
 *
 * HISTORY
 *  9-Dec-87  Michael Young (mwyoung) at Carnegie-Mellon University
 *	Created.
 */

type int = MSG_TYPE_INTEGER_32;

type boolean_t = MSG_TYPE_BOOLEAN;

type port_t = MSG_TYPE_PORT;
type port_all_t = MSG_TYPE_PORT_ALL;
type paging_object_t = port_t;
type vm_offset_t = int;
type vm_size_t = int;
type vm_prot_t = int;

type pointer_t = ^array [] of (MSG_TYPE_INTEGER_8, 8);

import <mach/mach_types.h>;

/*
 *	Pass on responsibility for the new kernel-created memory
 *	object.  The port on which this request is that port
 *	(possibly a memory object itself) registered as the "default
 *	pager".  Other arguments are as described for pager_init.
 *	[No reply required.]
 */
simpleroutine	pager_create(
		old_paging_object	: paging_object_t;
		new_paging_object	: port_all_t;
		new_request_port	: port_t;
		new_name		: port_t;
		new_page_size		: vm_size_t);

/*
 *	Provide initial data contents for this region of
 *	the memory object.  If data has already been written
 *	to the object, this value must be discarded; otherwise,
 *	this call acts identically to pager_data_write.
 */
simpleroutine	pager_data_initialize(
		paging_object		: paging_object_t;
		pager_request_port	: port_t;
		offset			: vm_offset_t;
		data			: pointer_t);