|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
4: * All Rights Reserved.
5: *
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.
11: *
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.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
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
37: #endif /* KERNEL_USER */
38: memory_object_default 2250;
39:
40: #ifdef MACH_KERNEL
41: #include <norma_vm.h>
42: #if NORMA_VM
43: userprefix k_;
44: #endif /* NORMA_VM */
45: #endif /* MACH_KERNEL */
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;
53: #endif /* SEQNOS */
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;
68: #endif /* SEQNOS */
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
75: #endif /* KERNEL_USER */
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;
96: #endif /* SEQNOS */
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;
113: #endif /* SEQNOS */
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);
119: #else /* 0 */
120: skip; /* memory_object_data_terminate */
121: #endif /* 0 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.