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.
26 subsystem protocol_vproc 400;
28 #include <mach/std_types.defs>
29 #include <mach/mach_types.defs>
30 #include "launchd_mig_types.defs"
32 import "vproc_priv.h";
33 import "vproc_internal.h";
35 type mach_port_move_send_array_t = array[] of mach_port_move_send_t
36 ctype: mach_port_array_t;
38 userprefix vproc_mig_;
39 serverprefix job_mig_;
47 out serverport : mach_port_make_send_t
60 out serviceport : mach_port_move_receive_t;
61 out instanceid : uuid_t;
69 serviceport : mach_port_t;
76 sreplyport rp : mach_port_make_send_once_t;
78 out serviceport : mach_port_t;
79 UserAuditToken servercreds : audit_token_t;
88 sreplyport rp : mach_port_make_send_once_t;
96 sreplyport rp : mach_port_make_send_once_t;
97 out parentport : mach_port_make_send_t
104 out asport : mach_port_t
110 out names : name_array_t, dealloc;
111 out jobs : name_array_t, dealloc;
112 out actives : bootstrap_status_array_t, dealloc;
119 reqport : mach_port_t;
120 out subsetport : mach_port_make_send_t
126 out shmemport : mach_port_move_send_t
132 out reqport : mach_port_move_send_t;
133 out recvport : mach_port_move_receive_t;
134 out jobs : pointer_t, dealloc;
135 out ports : mach_port_move_send_array_t, dealloc
141 out sockpath : name_t
144 skip; /* Formerly spawn. */
146 skip; /* Formerly wait. */
148 skip; /* Formerly uncork_fork. */
154 outkey : vproc_gsk_t;
168 lookup_per_user_context(
171 out userbport : mach_port_t
177 targetport : mach_port_t;
179 asport : mach_port_t;
187 outkey : vproc_gsk_t;
189 out outval : pointer_t, dealloc
195 sreplyport rp : mach_port_make_send_once_t;
196 out outval : pointer_t, dealloc
218 out childports : mach_port_move_send_array_t, dealloc;
219 out childnames : name_array_t, dealloc;
220 out childprops : bootstrap_property_array_t, dealloc
226 reqport : mach_port_t;
228 asport : mach_port_t;
229 out newbsport : mach_port_make_send_t
233 transaction_count_for_pid(
236 out count : integer_t;
237 out condemned : boolean_t
244 out managed : boolean_t
251 out jport : mach_port_make_send_t
262 set_security_session(
268 skip; /* Formerly wait2. */
271 event_source_check_in(
274 pingport : mach_port_make_send_once_t;
275 out events : pointer_t, dealloc;
276 out tokens : event_token_array_t
290 sreplyport rp : mach_port_make_send_once_t;
292 asport : mach_port_t;
294 out obsrvport : mach_port_move_receive_t
300 out rootbs : mach_port_move_send_t