]> git.saurik.com Git - apple/launchd.git/blame - launchd/src/protocol_vproc.defs
launchd-392.39.tar.gz
[apple/launchd.git] / launchd / src / protocol_vproc.defs
CommitLineData
5b0a4722
A
1/*
2 * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_APACHE_LICENSE_HEADER_START@
5 *
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
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
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.
17 *
18 * @APPLE_APACHE_LICENSE_HEADER_END@
19 */
20/*
21 * bootstrap -- fundamental service initiator and port server
22 * Mike DeMoney, NeXT, Inc.
23 * Copyright, 1990. All rights reserved.
24 */
25
26subsystem protocol_vproc 400;
27
28#include <mach/std_types.defs>
29#include <mach/mach_types.defs>
30#include "launchd_mig_types.defs"
ef398931
A
31import "vproc.h";
32import "vproc_priv.h";
33import "vproc_internal.h";
5b0a4722
A
34
35type mach_port_move_send_array_t = array[] of mach_port_move_send_t
36 ctype: mach_port_array_t;
37
5b0a4722
A
38userprefix vproc_mig_;
39serverprefix job_mig_;
40
dcace88f
A
41routine
42create_server(
43 j : job_t;
44 servercmd : cmd_t;
45 serveruid : uid_t;
46 ondemand : boolean_t;
47out serverport : mach_port_make_send_t
48);
49
50routine
51reboot2(
52 j : job_t;
53 flags : uint64_t
54);
55
56routine
57check_in2(
58 j : job_t;
59 servicename : name_t;
60out serviceport : mach_port_move_receive_t;
61out instanceid : uuid_t;
62 flags : uint64_t
63);
64
65routine
66register2(
67 j : job_t;
68 servicename : name_t;
69 serviceport : mach_port_t;
70 flags : uint64_t
71);
72
73routine
74look_up2(
75 j : job_t;
76sreplyport rp : mach_port_make_send_once_t;
77 servicename : name_t;
78out serviceport : mach_port_t;
79UserAuditToken servercreds : audit_token_t;
80 targetpid : pid_t;
81 instanceid : uuid_t;
82 flags : uint64_t
83);
84
85routine
86send_signal(
87 j : job_t;
88sreplyport rp : mach_port_make_send_once_t;
89 label : name_t;
90 sig : integer_t
91);
92
93routine
94parent(
95 j : job_t;
96sreplyport rp : mach_port_make_send_once_t;
97out parentport : mach_port_make_send_t
98);
99
100routine
101post_fork_ping(
102 j : job_t;
103 taskport : task_t;
104out asport : mach_port_t
105);
106
107routine
108info(
109 j : job_t;
110out names : name_array_t, dealloc;
111out jobs : name_array_t, dealloc;
112out actives : bootstrap_status_array_t, dealloc;
113 flags : uint64_t
114);
115
116routine
117subset(
118 j : job_t;
119 reqport : mach_port_t;
120out subsetport : mach_port_make_send_t
121);
122
123routine
124setup_shmem(
125 j : job_t;
126out shmemport : mach_port_move_send_t
127);
128
129routine
130take_subset(
131 j : job_t;
132out reqport : mach_port_move_send_t;
133out recvport : mach_port_move_receive_t;
134out jobs : pointer_t, dealloc;
135out ports : mach_port_move_send_array_t, dealloc
136);
137
138routine
139getsocket(
140 j : job_t;
141out sockpath : name_t
142);
143
144skip; /* Formerly spawn. */
145
146skip; /* Formerly wait. */
147
148skip; /* Formerly uncork_fork. */
149
150routine
151swap_integer(
152 j : job_t;
153 inkey : vproc_gsk_t;
154 outkey : vproc_gsk_t;
155 inval : int64_t;
156out outval : int64_t
157);
158
159routine
160log(
161 j : job_t;
162 pri : integer_t;
163 err : integer_t;
164 message : logmsg_t
165);
166
167routine
168lookup_per_user_context(
169 j : job_t;
170 uid : uid_t;
171out userbport : mach_port_t
172);
173
174routine
175move_subset(
176 j : job_t;
177 targetport : mach_port_t;
178 session : name_t;
179 asport : mach_port_t;
180 flags : uint64_t
181);
182
183routine
184swap_complex(
185 j : job_t;
186 inkey : vproc_gsk_t;
187 outkey : vproc_gsk_t;
188 inval : pointer_t;
189out outval : pointer_t, dealloc
190);
191
192routine
193log_drain(
194 j : job_t;
195sreplyport rp : mach_port_make_send_once_t;
196out outval : pointer_t, dealloc
197);
198
199routine
200log_forward(
201 j : job_t;
202 inval : pointer_t
203);
204
205routine
206kickstart(
207 j : job_t;
208 label : name_t;
209out pid : pid_t;
210 flags : natural_t
211);
212
213skip;
214
215routine
216lookup_children(
217 j : job_t;
218out childports : mach_port_move_send_array_t, dealloc;
219out childnames : name_array_t, dealloc;
220out childprops : bootstrap_property_array_t, dealloc
221);
222
223routine
224switch_to_session(
225 j : job_t;
226 reqport : mach_port_t;
227 session : name_t;
228 asport : mach_port_t;
229out newbsport : mach_port_make_send_t
230);
231
232routine
233transaction_count_for_pid(
234 j : job_t;
235 pid : pid_t;
236out count : integer_t;
237out condemned : boolean_t
238);
ddbbfbc1 239
dcace88f
A
240routine
241pid_is_managed(
242 j : job_t;
243 pid : pid_t;
244out managed : boolean_t
245);
246
247routine
248port_for_label(
249 j : job_t;
250 label : name_t;
251out jport : mach_port_make_send_t
252);
253
254routine
255init_session(
256 j : job_t;
257 session : name_t;
258 asport : mach_port_t
259);
260
261routine
262set_security_session(
263 j : job_t;
264 uuid : uuid_t;
265 asport : mach_port_t
266);
267
268skip; /* Formerly wait2. */
269
270routine
271event_source_check_in(
272 j : job_t;
273 stream : name_t;
274 pingport : mach_port_make_send_once_t;
275out events : pointer_t, dealloc;
276out tokens : event_token_array_t
277);
278
279routine
280event_set_state(
281 j : job_t;
282 stream : name_t;
283 token : uint64_t;
284 state : boolean_t
285);
286
287routine
288spawn2(
289 j : job_t;
290sreplyport rp : mach_port_make_send_once_t;
291 job : pointer_t;
292 asport : mach_port_t;
293out outpid : pid_t;
294out obsrvport : mach_port_move_receive_t
295);
296
297routine
298get_root_bootstrap(
299 j : job_t;
300out rootbs : mach_port_move_send_t
301);