]> git.saurik.com Git - apple/configd.git/blob - SystemConfiguration.fproj/config.defs
configd-1061.141.1.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / config.defs
1 /*
2 * Copyright (c) 2000, 2001, 2003-2005, 2011, 2012, 2015, 2018-2019 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24 /*
25 * Modification History
26 *
27 * June 1, 2001 Allan Nathanson <ajn@apple.com>
28 * - public API conversion
29 *
30 * March 24, 2000 Allan Nathanson <ajn@apple.com>
31 * - initial revision
32 */
33
34 #include <mach/std_types.defs>
35 #include <mach/mach_types.defs>
36
37 subsystem config 20000;
38 serverprefix _;
39 UseSpecialReplyPort 1;
40
41 import "config_types.h";
42
43 /*
44 * serialized XML or UTF8 data (client->server)
45 */
46 type xmlData = ^ array [] of MACH_MSG_TYPE_BYTE
47 ctype : xmlData_t;
48
49 /*
50 * serialized XML or UTF8 data (server->client)
51 */
52 type xmlDataOut = ^ array [] of MACH_MSG_TYPE_BYTE
53 ctype : xmlDataOut_t;
54
55 /*
56 * additional types
57 */
58 /*
59 type task_move_send_t = MACH_MSG_TYPE_MOVE_SEND
60 ctype: mach_port_t;
61 */
62
63
64 /*
65 * CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
66 *
67 * Be very careful when adding, removing, or changing any
68 * of the MiG routes below. Everything tends to work fine
69 * when the SCDynamicStore client code (in the framework)
70 * and SCDynamicStore server code (in configd) are in sync.
71 * But, when the two are NOT in sync as is often the
72 * case when running the iOS Simulator, the conflict can
73 * be problematic.
74 *
75 * CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
76 */
77
78
79 /*
80 * Connection management API's
81 */
82
83 routine configopen ( server : mach_port_t;
84 name : xmlData;
85 options : xmlData;
86 out session : mach_port_move_send_t;
87 out status : int;
88 ServerAuditToken audit_token : audit_token_t);
89
90 skip; /* was configclose */
91 skip; /* was configlock */
92 skip; /* was configunlock */
93
94 skip; /* reserved for future use */
95 skip; /* reserved for future use */
96 skip; /* reserved for future use */
97 skip; /* reserved for future use */
98
99 /*
100 * Dynamic store access API's
101 */
102
103 routine configlist ( server : mach_port_t;
104 xmlData : xmlData;
105 isRegex : int;
106 out list : xmlDataOut, dealloc;
107 out status : int;
108 ServerAuditToken audit_token : audit_token_t);
109
110 routine configadd ( server : mach_port_t;
111 key : xmlData;
112 data : xmlData;
113 out newInstance : int; // no longer used
114 out status : int;
115 ServerAuditToken audit_token : audit_token_t);
116
117 routine configget ( server : mach_port_t;
118 key : xmlData;
119 out data : xmlDataOut, dealloc;
120 out newInstance : int; // no longer used
121 out status : int;
122 ServerAuditToken audit_token : audit_token_t);
123
124 routine configset ( server : mach_port_t;
125 key : xmlData;
126 data : xmlData;
127 instance : int;
128 out newInstance : int; // no longer used
129 out status : int;
130 ServerAuditToken audit_token : audit_token_t);
131
132 routine configremove ( server : mach_port_t;
133 key : xmlData;
134 out status : int;
135 ServerAuditToken audit_token : audit_token_t);
136
137 skip; /* was configtouch */
138
139 routine configadd_s ( server : mach_port_t;
140 key : xmlData;
141 data : xmlData;
142 out newInstance : int; // no longer used
143 out status : int);
144
145 routine confignotify ( server : mach_port_t;
146 key : xmlData;
147 out status : int;
148 ServerAuditToken audit_token : audit_token_t);
149
150 routine configget_m ( server : mach_port_t;
151 keys : xmlData;
152 patterns : xmlData;
153 out data : xmlDataOut, dealloc;
154 out status : int;
155 ServerAuditToken audit_token : audit_token_t);
156
157 routine configset_m ( server : mach_port_t;
158 data : xmlData;
159 remove : xmlData;
160 notify : xmlData;
161 out status : int;
162 ServerAuditToken audit_token : audit_token_t);
163
164 /*
165 * Notification API's
166 */
167
168 routine notifyadd ( server : mach_port_t;
169 key : xmlData;
170 isRegex : int;
171 out status : int);
172
173 routine notifyremove ( server : mach_port_t;
174 key : xmlData;
175 isRegex : int;
176 out status : int);
177
178 routine notifychanges ( server : mach_port_t;
179 out list : xmlDataOut, dealloc;
180 out status : int);
181
182 routine notifyviaport ( server : mach_port_t;
183 port : mach_port_move_send_t;
184 msgid : mach_msg_id_t; /* must be zero */
185 out status : int);
186
187 skip; /* was notifyviafd (passing UNIX domain socket filename) */
188
189 skip; /* was notifyviasignal */
190
191 routine notifycancel ( server : mach_port_t;
192 out status : int);
193
194 routine notifyset ( server : mach_port_t;
195 keys : xmlData;
196 patterns : xmlData;
197 out status : int);
198
199 routine notifyviafd ( server : mach_port_t;
200 fileport : mach_port_move_send_t;
201 identifier : int;
202 out status : int);
203
204 skip; /* reserved for future use */
205 skip; /* reserved for future use */
206
207 /*
208 * Miscellaneous API's
209 */
210
211 routine snapshot ( server : mach_port_t;
212 out status : int;
213 ServerAuditToken audit_token : audit_token_t);