|
|
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: * Copyright (c) 1989 NeXT, Inc.
27: * 24-May-89 Gregg Kellogg (gk) at NeXT
28: * Created.
29: *
30: */
31:
32: /*
33: * interface for kern_loader to kern_server communication.
34: */
35: subsystem kern_serv 100;
36:
37: #import <mach/std_types.defs>
38:
39: type port_map_proc_t = int;
40: type port_death_proc_t = int;
41: type call_proc_t = int;
42: type vm_address_t = int;
43: type vm_size_t = int;
44:
45: import <kernserv/kern_server_types.h>;
46: userprefix kern_serv_;
47:
48: waittime 10000; /* Wait at most 10 seconds. */
49:
50: /*
51: * Provide location of kernel server's instance variables.
52: */
53: routine instance_loc (
54: server_port : port_t;
55: instance_loc : vm_address_t);
56:
57: /*
58: * Set the port that the loader is going to receive on.
59: */
60: routine boot_port (
61: server_port : port_t;
62: boot_port : port_t);
63:
64: /*
65: * Wire a range of memory down.
66: */
67: routine wire_range (
68: server_port : port_t;
69: addr : vm_address_t;
70: size : vm_size_t);
71:
72: /*
73: * Unire a range of memory down.
74: */
75: routine unwire_range (
76: server_port : port_t;
77: addr : vm_address_t;
78: size : vm_size_t);
79:
80: /*
81: * Specify port to proc(arg) mapping (called as a MiG handler)
82: */
83: routine port_proc (
84: server_port : port_t;
85: port : port_all_t;
86: proc : port_map_proc_t;
87: argument : int);
88:
89: /*
90: * Specify proc to call when a port dies.
91: */
92: simpleroutine port_death_proc (
93: server_port : port_t;
94: proc : port_death_proc_t);
95:
96: /*
97: * Specify proc/arg to call right now.
98: */
99: routine call_proc (
100: server_port : port_t;
101: proc : call_proc_t;
102: argument : int);
103:
104: /*
105: * Tell the kernel server to shut down.
106: */
107: simpleroutine shutdown (
108: server_port : port_t);
109:
110: simpleroutine log_level (
111: server_port : port_t;
112: log_level : int);
113:
114: simpleroutine get_log (
115: server_port : port_t;
116: reply_port : port_t);
117:
118: /*
119: * Specify port to proc(arg) mapping (called as a MiG server)
120: */
121: routine port_serv (
122: server_port : port_t;
123: port : port_all_t;
124: proc : port_map_proc_t;
125: argument : int);
126:
127: /*
128: * Specify user's version of system user compiled with.
129: */
130: routine version (
131: server_port : port_t;
132: version : int);
133:
134: /*
135: * Load ObjC runtime info
136: */
137: routine load_objc (
138: server_port : port_t;
139: addr : vm_address_t);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.