Annotation of kernel/mach/memory_object_default.defs, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.1 (the "License").  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License.
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: 
                     25: /* 
                     26:  * Mach Operating System
                     27:  * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
                     28:  * All Rights Reserved.
                     29:  * 
                     30:  * Permission to use, copy, modify and distribute this software and its
                     31:  * documentation is hereby granted, provided that both the copyright
                     32:  * notice and this permission notice appear in all copies of the
                     33:  * software, derivative works or modified versions, and any portions
                     34:  * thereof, and that both notices appear in supporting documentation.
                     35:  * 
                     36:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     37:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     38:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     39:  * 
                     40:  * Carnegie Mellon requests users of this software to return to
                     41:  * 
                     42:  *  Software Distribution Coordinator  or  [email protected]
                     43:  *  School of Computer Science
                     44:  *  Carnegie Mellon University
                     45:  *  Pittsburgh PA 15213-3890
                     46:  * 
                     47:  * any improvements or extensions that they make and grant Carnegie Mellon
                     48:  * the rights to redistribute these changes.
                     49:  */
                     50: /*
                     51:  * HISTORY
                     52:  * $Log: memory_object_default.defs,v $
                     53:  * Revision 1.1.1.1.666.4  1999/03/16 17:05:41  wsanchez
                     54:  * Substitute License
                     55:  *
                     56:  * Revision 1.1.1.1.666.3  1999/03/16 15:28:04  wsanchez
                     57:  * Substitute copyright
                     58:  *
                     59:  * Revision 1.1.1.1.666.2  1999/03/16 10:37:39  umeshv
                     60:  * Fixed errors in previous commit.
                     61:  *
                     62:  * Revision 1.1.1.1.666.1  1999/03/11 09:52:50  umeshv
                     63:  * Added copyrights.
                     64:  *
                     65:  * Revision 1.1.1.1  1997/09/30 02:44:51  wsanchez
                     66:  * Import of kernel from umeshv/kernel
                     67:  *
                     68:  * Revision 2.8  91/08/28  11:15:24  jsb
                     69:  *     Added conditionalized sequence number support.
                     70:  *     [91/08/13            rpd]
                     71:  * 
                     72:  * Revision 2.7  91/07/01  08:25:22  jsb
                     73:  *     If KERNEL and NORMA_VM, then use a userprefix (to allow interposition).
                     74:  *     [91/06/29  16:35:53  jsb]
                     75:  * 
                     76:  * Revision 2.6  91/06/25  10:30:41  rpd
                     77:  *     Changed the port-based type declarations
                     78:  *     to use mach_port_t as the C type name.
                     79:  *     [91/05/23            rpd]
                     80:  * 
                     81:  * Revision 2.5  91/05/14  16:56:08  mrt
                     82:  *     Correcting copyright
                     83:  * 
                     84:  * Revision 2.4  91/02/05  17:34:05  mrt
                     85:  *     Changed to new Mach copyright
                     86:  *     [91/02/01  17:19:22  mrt]
                     87:  * 
                     88:  * Revision 2.3  90/08/06  17:06:16  rpd
                     89:  *     For compatibility with Mach 2.5, added dealloc to
                     90:  *     argument of memory_object_create.
                     91:  *     [90/08/04            rpd]
                     92:  * 
                     93:  * Revision 2.2  90/06/02  14:59:00  rpd
                     94:  *     Converted to new IPC.
                     95:  *     [90/03/26  22:35:46  rpd]
                     96:  * 
                     97:  * Revision 2.1  89/08/03  17:18:28  rwd
                     98:  * Created.
                     99:  * 
                    100:  * Revision 2.3  89/02/25  18:38:29  gm0w
                    101:  *     Changes for cleanup.
                    102:  * 
                    103:  * Revision 2.2  89/01/15  16:31:26  rpd
                    104:  *     Moved from kern/ to mach/.
                    105:  *     [89/01/15  14:40:47  rpd]
                    106:  * 
                    107:  * Revision 2.7  89/01/12  07:58:30  rpd
                    108:  *     Fixed includes.
                    109:  *     [89/01/12  04:52:50  rpd]
                    110:  * 
                    111:  * Revision 2.6  88/08/25  18:17:23  mwyoung
                    112:  *     Rid the kernel_task of rights to the new memory_object in
                    113:  *     memory_object_create.
                    114:  *     Add size argument to memory_object_create.
                    115:  *     [88/08/11  18:47:16  mwyoung]
                    116:  * 
                    117:  * Revision 2.5  88/08/06  18:23:00  rpd
                    118:  * Added dealloc flag to new_memory_object arg of memory_object_create().
                    119:  * Otherwise, kernel_task is left with send right, and this is very bad.
                    120:  * 
                    121:  * 29-Jun-88  Michael Young (mwyoung) at Carnegie-Mellon University
                    122:  *     Use new types.
                    123:  *
                    124:  * 29-Jun-88  Michael Young (mwyoung) at Carnegie-Mellon University
                    125:  *     Moved data type declarations to "mach_types.defs".
                    126:  *
                    127:  *  9-Dec-87  Michael Young (mwyoung) at Carnegie-Mellon University
                    128:  *     Created.
                    129:  */
                    130: /*
                    131:  * File:       mach/memory_object_default.defs
                    132:  *
                    133:  * Abstract:
                    134:  *     Mach external memory management interface declaration; subset
                    135:  *     that is applicable to managers of kernel-created memory objects.
                    136:  */
                    137: 
                    138: subsystem
                    139: #if    KERNEL_USER
                    140:          KernelUser
                    141: #endif KERNEL_USER
                    142:                     memory_object_default 2250;
                    143: 
                    144: #include <mach/std_types.defs>
                    145: #include <mach/mach_types.defs>
                    146: 
                    147: #if    SEQNOS
                    148: serverprefix seqnos_;
                    149: serverdemux seqnos_memory_object_default_server;
                    150: #endif SEQNOS
                    151: 
                    152: /*
                    153:  *     Pass on responsibility for the new kernel-created memory
                    154:  *     object.  The port on which this request is that port
                    155:  *     (possibly a memory object itself) registered as the "default
                    156:  *     pager".  Other arguments are as described for memory_object_init.
                    157:  *     [No reply required.]
                    158:  */
                    159: simpleroutine  memory_object_create(
                    160:                old_memory_object       : memory_object_t =
                    161:                                                MACH_MSG_TYPE_MOVE_SEND
                    162:                                                ctype: mach_port_t;
                    163: #if    SEQNOS
                    164:        msgseqno seqno                  : mach_port_seqno_t;
                    165: #endif SEQNOS
                    166:                new_memory_object       : memory_object_t =
                    167:                                                MACH_MSG_TYPE_MOVE_RECEIVE
                    168:                                                ctype: mach_port_t
                    169: #if    KERNEL_USER
                    170:                /* for compatibility with Mach 2.5 kernels */
                    171:                                                , dealloc
                    172: #endif KERNEL_USER
                    173:                                                ;
                    174:                new_object_size         : vm_size_t;
                    175:                new_control_port        : memory_object_control_t =
                    176:                                                MACH_MSG_TYPE_MAKE_SEND
                    177:                                                ctype: mach_port_t;
                    178:                new_name                : memory_object_name_t =
                    179:                                                MACH_MSG_TYPE_MAKE_SEND
                    180:                                                ctype: mach_port_t;
                    181:                new_page_size           : vm_size_t);
                    182: 
                    183: /*
                    184:  *     Provide initial data contents for this region of
                    185:  *     the memory object.  If data has already been written
                    186:  *     to the object, this value must be discarded; otherwise,
                    187:  *     this call acts identically to memory_object_data_write.
                    188:  */
                    189: simpleroutine  memory_object_data_initialize(
                    190:                memory_object           : memory_object_t;
                    191: #if    SEQNOS
                    192:        msgseqno seqno                  : mach_port_seqno_t;
                    193: #endif SEQNOS
                    194:                memory_control_port     : memory_object_control_t =
                    195:                                                MACH_MSG_TYPE_MAKE_SEND
                    196:                                                ctype: mach_port_t;
                    197:                offset                  : vm_offset_t;
                    198:                data                    : pointer_t);
                    199: 
                    200: #if    0
                    201: /*
                    202:  *     Indicate that the specified range of data in this memory object
                    203:  *     will not be requested again until it is reinitialized with
                    204:  *     memory_object_data_write or memory_object_data_initialize.
                    205:  */
                    206: simpleroutine  memory_object_data_terminate(
                    207:                memory_object           : memory_object_t;
                    208: #if    SEQNOS
                    209:        msgseqno seqno                  : mach_port_seqno_t;
                    210: #endif SEQNOS
                    211:                memory_control_port     : memory_object_control_t =
                    212:                                                MACH_MSG_TYPE_MAKE_SEND
                    213:                                                ctype: mach_port_t;
                    214:                offset                  : vm_offset_t;
                    215:                size                    : vm_size_t);
                    216: #else  0
                    217: skip;  /* memory_object_data_terminate */
                    218: #endif 0

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.