]> git.saurik.com Git - apple/launchd.git/blob - launchd/src/protocol_vproc.defs
launchd-258.22.tar.gz
[apple/launchd.git] / launchd / src / protocol_vproc.defs
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
26 subsystem protocol_vproc 400;
27
28 #include <mach/std_types.defs>
29 #include <mach/mach_types.defs>
30 #include "launchd_mig_types.defs"
31 import "vproc.h";
32 import "vproc_priv.h";
33 import "vproc_internal.h";
34
35 type mach_port_move_send_array_t = array[] of mach_port_move_send_t
36 ctype: mach_port_array_t;
37
38
39 userprefix vproc_mig_;
40 serverprefix job_mig_;
41
42 routine create_server(
43 __bs_port : job_t;
44 __server_cmd : cmd_t;
45 __server_uid : uid_t;
46 __on_demand : boolean_t;
47 out __server_port : mach_port_make_send_t);
48
49 routine reboot2(
50 __bs_port : job_t;
51 __flags : uint64_t);
52
53 routine check_in(
54 __bs_port : job_t;
55 __service_name : name_t;
56 out __service_port : mach_port_move_receive_t);
57
58 routine register2(
59 __bs_port : job_t;
60 __service_name : name_t;
61 __service_port : mach_port_t;
62 __flags : uint64_t);
63
64 routine look_up2(
65 __bs_port : job_t;
66 __service_name : name_t;
67 out __service_port : mach_port_send_t;
68 __target_pid : pid_t;
69 __flags : uint64_t);
70
71 routine send_signal(
72 __bs_port : job_t;
73 sreplyport __rport : mach_port_make_send_once_t;
74 __label : name_t;
75 __signal : integer_t);
76
77 routine parent(
78 __bs_port : job_t;
79 out __parent_port : mach_port_send_t);
80
81 routine post_fork_ping(
82 __bs_port : job_t;
83 __task_port : task_t);
84
85 routine info(
86 __bs_port : job_t;
87 out __service_names : name_array_t, dealloc;
88 out __service_active : bootstrap_status_array_t, dealloc);
89
90 routine subset(
91 __bs_port : job_t;
92 __requestor_port: mach_port_t;
93 out __subset_port : mach_port_make_send_t);
94
95 routine create_service(
96 __bs_port : job_t;
97 __service_name : name_t;
98 out __service_port : mach_port_t);
99
100 routine take_subset(
101 __bs_port : job_t;
102 out __bs_reqport : mach_port_move_send_t;
103 out __bs_rcvright : mach_port_move_receive_t;
104 out __outdata : pointer_t, dealloc;
105 out __service_ports : mach_port_move_send_array_t, dealloc);
106
107 routine getsocket(
108 __bs_port : job_t;
109 out __sockpath : name_t);
110
111 routine spawn(
112 __bs_port : job_t;
113 __indata : pointer_t;
114 out __pid : pid_t;
115 out __obsvr_port : mach_port_make_send_t);
116
117 routine wait(
118 __bs_port : job_t;
119 sreplyport __rport : mach_port_make_send_once_t;
120 out __waitval : integer_t);
121
122 routine uncork_fork(
123 __bs_port : job_t);
124
125 routine swap_integer(
126 __bs_port : job_t;
127 __inkey : vproc_gsk_t;
128 __outkey : vproc_gsk_t;
129 __inval : int64_t;
130 out __outval : int64_t);
131
132 routine set_service_policy(
133 __bs_port : job_t;
134 __target_pid : pid_t;
135 __flags : uint64_t;
136 __service : name_t);
137
138 routine log(
139 __bs_port : job_t;
140 __pri : integer_t;
141 __err : integer_t;
142 __msg : logmsg_t);
143
144 routine lookup_per_user_context(
145 __bs_port : job_t;
146 __wu : uid_t;
147 out __u_cont : mach_port_t);
148
149 routine move_subset(
150 __bs_port : job_t;
151 __target_port : mach_port_t;
152 __sessiontype : name_t);
153
154 routine swap_complex(
155 __bs_port : job_t;
156 __inkey : vproc_gsk_t;
157 __outkey : vproc_gsk_t;
158 __inval : pointer_t;
159 out __outval : pointer_t, dealloc);
160
161 routine log_drain(
162 __bs_port : job_t;
163 sreplyport __rport : mach_port_make_send_once_t;
164 out __outval : pointer_t, dealloc);
165
166 routine log_forward(
167 __bs_port : job_t;
168 __inval : pointer_t);
169
170 routine embedded_kickstart(
171 __bs_port : job_t;
172 __label : name_t;
173 out __pid : pid_t;
174 out __name_port : mach_port_t);
175
176 routine embedded_wait(
177 __bs_port : job_t;
178 __label : name_t;
179 out __waitval : integer_t);