|
|
1.1.1.2 ! root 1: /* 1.1 root 2: * Mach Operating System 3: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University 4: * All Rights Reserved. 1.1.1.2 ! root 5: * 1.1 root 6: * Permission to use, copy, modify and distribute this software and its 7: * documentation is hereby granted, provided that both the copyright 8: * notice and this permission notice appear in all copies of the 9: * software, derivative works or modified versions, and any portions 10: * thereof, and that both notices appear in supporting documentation. 1.1.1.2 ! root 11: * 1.1 root 12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 1.1.1.2 ! root 15: * 1.1 root 16: * Carnegie Mellon requests users of this software to return to 1.1.1.2 ! root 17: * 1.1 root 18: * Software Distribution Coordinator or [email protected] 19: * School of Computer Science 20: * Carnegie Mellon University 21: * Pittsburgh PA 15213-3890 1.1.1.2 ! root 22: * 1.1 root 23: * any improvements or extensions that they make and grant Carnegie Mellon 24: * the rights to redistribute these changes. 25: */ 26: /* 27: * File: mach/memory_object_default.defs 28: * 29: * Abstract: 30: * Mach external memory management interface declaration; subset 31: * that is applicable to managers of kernel-created memory objects. 32: */ 33: 34: subsystem 35: #if KERNEL_USER 36: KernelUser 1.1.1.2 ! root 37: #endif /* KERNEL_USER */ 1.1 root 38: memory_object_default 2250; 39: 40: #ifdef MACH_KERNEL 41: #include <norma_vm.h> 42: #if NORMA_VM 43: userprefix k_; 1.1.1.2 ! root 44: #endif /* NORMA_VM */ ! 45: #endif /* MACH_KERNEL */ 1.1 root 46: 47: #include <mach/std_types.defs> 48: #include <mach/mach_types.defs> 49: 50: #if SEQNOS 51: serverprefix seqnos_; 52: serverdemux seqnos_memory_object_default_server; 1.1.1.2 ! root 53: #endif /* SEQNOS */ 1.1 root 54: 55: /* 56: * Pass on responsibility for the new kernel-created memory 57: * object. The port on which this request is that port 58: * (possibly a memory object itself) registered as the "default 59: * pager". Other arguments are as described for memory_object_init. 60: * [No reply required.] 61: */ 62: simpleroutine memory_object_create( 63: old_memory_object : memory_object_t = 64: MACH_MSG_TYPE_MOVE_SEND 65: ctype: mach_port_t; 66: #if SEQNOS 67: msgseqno seqno : mach_port_seqno_t; 1.1.1.2 ! root 68: #endif /* SEQNOS */ 1.1 root 69: new_memory_object : memory_object_t = 70: MACH_MSG_TYPE_MOVE_RECEIVE 71: ctype: mach_port_t 72: #if KERNEL_USER 73: /* for compatibility with Mach 2.5 kernels */ 74: , dealloc 1.1.1.2 ! root 75: #endif /* KERNEL_USER */ 1.1 root 76: ; 77: new_object_size : vm_size_t; 78: new_control_port : memory_object_control_t = 79: MACH_MSG_TYPE_MAKE_SEND 80: ctype: mach_port_t; 81: new_name : memory_object_name_t = 82: MACH_MSG_TYPE_MAKE_SEND 83: ctype: mach_port_t; 84: new_page_size : vm_size_t); 85: 86: /* 87: * Provide initial data contents for this region of 88: * the memory object. If data has already been written 89: * to the object, this value must be discarded; otherwise, 90: * this call acts identically to memory_object_data_write. 91: */ 92: simpleroutine memory_object_data_initialize( 93: memory_object : memory_object_t; 94: #if SEQNOS 95: msgseqno seqno : mach_port_seqno_t; 1.1.1.2 ! root 96: #endif /* SEQNOS */ 1.1 root 97: memory_control_port : memory_object_control_t = 98: MACH_MSG_TYPE_MAKE_SEND 99: ctype: mach_port_t; 100: offset : vm_offset_t; 101: data : pointer_t); 102: 103: #if 0 104: /* 105: * Indicate that the specified range of data in this memory object 106: * will not be requested again until it is reinitialized with 107: * memory_object_data_write or memory_object_data_initialize. 108: */ 109: simpleroutine memory_object_data_terminate( 110: memory_object : memory_object_t; 111: #if SEQNOS 112: msgseqno seqno : mach_port_seqno_t; 1.1.1.2 ! root 113: #endif /* SEQNOS */ 1.1 root 114: memory_control_port : memory_object_control_t = 115: MACH_MSG_TYPE_MAKE_SEND 116: ctype: mach_port_t; 117: offset : vm_offset_t; 118: size : vm_size_t); 1.1.1.2 ! root 119: #else /* 0 */ 1.1 root 120: skip; /* memory_object_data_terminate */ 1.1.1.2 ! root 121: #endif /* 0 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.