]> git.saurik.com Git - apple/launchd.git/blame - launchd/src/protocol_vproc.defs
launchd-258.25.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
38
39userprefix vproc_mig_;
40serverprefix job_mig_;
41
42routine 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
49routine reboot2(
50 __bs_port : job_t;
51 __flags : uint64_t);
52
53routine check_in(
54 __bs_port : job_t;
55 __service_name : name_t;
56 out __service_port : mach_port_move_receive_t);
57
58routine register2(
59 __bs_port : job_t;
60 __service_name : name_t;
61 __service_port : mach_port_t;
62 __flags : uint64_t);
63
64routine 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
71routine 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
77routine parent(
78 __bs_port : job_t;
79 out __parent_port : mach_port_send_t);
80
81routine post_fork_ping(
82 __bs_port : job_t;
83 __task_port : task_t);
84
85routine info(
86 __bs_port : job_t;
87 out __service_names : name_array_t, dealloc;
88 out __service_active : bootstrap_status_array_t, dealloc);
89
90routine subset(
91 __bs_port : job_t;
92 __requestor_port: mach_port_t;
93 out __subset_port : mach_port_make_send_t);
94
95routine create_service(
96 __bs_port : job_t;
97 __service_name : name_t;
98 out __service_port : mach_port_t);
99
100routine 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
107routine getsocket(
108 __bs_port : job_t;
109 out __sockpath : name_t);
110
111routine 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
117routine wait(
118 __bs_port : job_t;
119 sreplyport __rport : mach_port_make_send_once_t;
120 out __waitval : integer_t);
121
122routine uncork_fork(
123 __bs_port : job_t);
124
125routine 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
132routine set_service_policy(
133 __bs_port : job_t;
134 __target_pid : pid_t;
135 __flags : uint64_t;
136 __service : name_t);
137
138routine log(
139 __bs_port : job_t;
140 __pri : integer_t;
141 __err : integer_t;
142 __msg : logmsg_t);
143
144routine lookup_per_user_context(
145 __bs_port : job_t;
146 __wu : uid_t;
147 out __u_cont : mach_port_t);
148
149routine move_subset(
150 __bs_port : job_t;
151 __target_port : mach_port_t;
152 __sessiontype : name_t);
153
154routine 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
161routine log_drain(
162 __bs_port : job_t;
163 sreplyport __rport : mach_port_make_send_once_t;
164 out __outval : pointer_t, dealloc);
165
166routine log_forward(
167 __bs_port : job_t;
168 __inval : pointer_t);
f36da725
A
169
170routine embedded_kickstart(
171 __bs_port : job_t;
172 __label : name_t;
173 out __pid : pid_t;
174 out __name_port : mach_port_t);
175
176routine embedded_wait(
177 __bs_port : job_t;
178 __label : name_t;
179 out __waitval : integer_t);