2 * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved.
4 * @APPLE_APACHE_LICENSE_HEADER_START@
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * @APPLE_APACHE_LICENSE_HEADER_END@
21 * bootstrap -- fundamental service initiator and port server
22 * Mike DeMoney, NeXT, Inc.
23 * Copyright, 1990. All rights reserved.
28 #include <mach/std_types.defs>
29 #include <mach/mach_types.defs>
30 #include "job_types.defs"
32 import "vproc_priv.h";
33 import "vproc_internal.h";
35 userprefix vproc_mig_;
36 serverprefix job_mig_;
44 out serverport : mach_port_make_send_t
57 out serviceport : mach_port_move_receive_t;
58 out instanceid : uuid_t;
66 serviceport : mach_port_t;
73 sreplyport rp : mach_port_make_send_once_t;
75 out serviceport : mach_port_t;
76 UserAuditToken servercreds : audit_token_t;
85 sreplyport rp : mach_port_make_send_once_t;
93 sreplyport rp : mach_port_make_send_once_t;
94 out parentport : mach_port_make_send_t
101 out asport : mach_port_t
107 out names : name_array_t, dealloc;
108 out jobs : name_array_t, dealloc;
109 out actives : bootstrap_status_array_t, dealloc;
116 reqport : mach_port_t;
117 out subsetport : mach_port_make_send_t
120 skip; /* Formerly setup_shmem. */
125 out reqport : mach_port_move_send_t;
126 out recvport : mach_port_move_receive_t;
127 out jobs : pointer_t, dealloc;
128 out ports : mach_port_move_send_array_t, dealloc
134 out sockpath : name_t
137 skip; /* Formerly spawn. */
139 skip; /* Formerly wait. */
141 skip; /* Formerly uncork_fork. */
147 outkey : vproc_gsk_t;
161 lookup_per_user_context(
164 out userbport : mach_port_t
170 targetport : mach_port_t;
172 asport : mach_port_t;
180 outkey : vproc_gsk_t;
182 out outval : pointer_t, dealloc
188 sreplyport rp : mach_port_make_send_once_t;
189 out outval : pointer_t, dealloc
206 skip; /* Formerly embedded_wait. */
211 out childports : mach_port_move_send_array_t, dealloc;
212 out childnames : name_array_t, dealloc;
213 out childprops : bootstrap_property_array_t, dealloc
219 reqport : mach_port_t;
221 asport : mach_port_t;
222 out newbsport : mach_port_make_send_t
225 skip; /* Formerly transaction_count_for_pid. */
231 out managed : boolean_t
238 out jport : mach_port_make_send_t
249 set_security_session(
255 skip; /* Formerly wait2. */
257 skip; /* Formerly event_source_check_in. */
259 skip; /* Formerly event_set_state. */
264 sreplyport rp : mach_port_make_send_once_t;
266 asport : mach_port_t;
268 out obsrvport : mach_port_move_receive_t
274 out rootbs : mach_port_move_send_t
281 request_fds : mach_port_move_send_array_t;
282 out reply : pointer_t, dealloc;
283 out reply_fds : mach_port_move_send_array_t, dealloc;
288 get_listener_port_rights(
290 out sports : mach_port_make_send_array_t, dealloc
294 register_gui_session(