]> git.saurik.com Git - apple/configd.git/blob - SystemConfiguration.fproj/config.defs
configd-888.1.2.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / config.defs
1 /*
2 * Copyright (c) 2000, 2001, 2003-2005, 2011, 2012, 2015 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
40 import "config_types.h";
41
42 /*
43 * serialized XML or UTF8 data (client->server)
44 */
45 type xmlData = ^ array [] of MACH_MSG_TYPE_BYTE
46 ctype : xmlData_t;
47
48 /*
49 * serialized XML or UTF8 data (server->client)
50 */
51 type xmlDataOut = ^ array [] of MACH_MSG_TYPE_BYTE
52 ctype : xmlDataOut_t;
53
54 /*
55 * additional types
56 */
57 /*
58 type task_move_send_t = MACH_MSG_TYPE_MOVE_SEND
59 ctype: mach_port_t;
60 */
61
62
63 /*
64 * CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
65 *
66 * Be very careful when adding, removing, or changing any
67 * of the MiG routes below. Everything tends to work fine
68 * when the SCDynamicStore client code (in the framework)
69 * and SCDynamicStore server code (in configd) are in sync.
70 * But, when the two are NOT in sync as is often the
71 * case when running the iOS Simulator, the conflict can
72 * be problematic.
73 *
74 * CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
75 */
76
77
78 /*
79 * Connection management API's
80 */
81
82 routine configopen ( server : mach_port_t;
83 name : xmlData;
84 options : xmlData;
85 out session : mach_port_move_send_t;
86 out status : int;
87 ServerAuditToken audit_token : audit_token_t);
88
89 skip; /* was configclose */
90 skip; /* was configlock */
91 skip; /* was configunlock */
92
93 skip; /* reserved for future use */
94 skip; /* reserved for future use */
95 skip; /* reserved for future use */
96 skip; /* reserved for future use */
97
98 /*
99 * Dynamic store access API's
100 */
101
102 routine configlist ( server : mach_port_t;
103 xmlData : xmlData;
104 isRegex : int;
105 out list : xmlDataOut, dealloc;
106 out status : int;
107 ServerAuditToken audit_token : audit_token_t);
108
109 routine configadd ( server : mach_port_t;
110 key : xmlData;
111 data : xmlData;
112 out newInstance : int;
113 out status : int;
114 ServerAuditToken audit_token : audit_token_t);
115
116 routine configget ( server : mach_port_t;
117 key : xmlData;
118 out data : xmlDataOut, dealloc;
119 out newInstance : int;
120 out status : int;
121 ServerAuditToken audit_token : audit_token_t);
122
123 routine configset ( server : mach_port_t;
124 key : xmlData;
125 data : xmlData;
126 instance : int;
127 out newInstance : int;
128 out status : int;
129 ServerAuditToken audit_token : audit_token_t);
130
131 routine configremove ( server : mach_port_t;
132 key : xmlData;
133 out status : int;
134 ServerAuditToken audit_token : audit_token_t);
135
136 skip; /* was configtouch */
137
138 routine configadd_s ( server : mach_port_t;
139 key : xmlData;
140 data : xmlData;
141 out newInstance : int;
142 out status : int);
143
144 routine confignotify ( server : mach_port_t;
145 key : xmlData;
146 out status : int;
147 ServerAuditToken audit_token : audit_token_t);
148
149 routine configget_m ( server : mach_port_t;
150 keys : xmlData;
151 patterns : xmlData;
152 out data : xmlDataOut, dealloc;
153 out status : int;
154 ServerAuditToken audit_token : audit_token_t);
155
156 routine configset_m ( server : mach_port_t;
157 data : xmlData;
158 remove : xmlData;
159 notify : xmlData;
160 out status : int;
161 ServerAuditToken audit_token : audit_token_t);
162
163 /*
164 * Notification API's
165 */
166
167 routine notifyadd ( server : mach_port_t;
168 key : xmlData;
169 isRegex : int;
170 out status : int);
171
172 routine notifyremove ( server : mach_port_t;
173 key : xmlData;
174 isRegex : int;
175 out status : int);
176
177 routine notifychanges ( server : mach_port_t;
178 out list : xmlDataOut, dealloc;
179 out status : int);
180
181 routine notifyviaport ( server : mach_port_t;
182 port : mach_port_move_send_t;
183 msgid : mach_msg_id_t; /* must be zero */
184 out status : int);
185
186 skip; /* was notifyviafd (passing UNIX domain socket filename) */
187
188 routine notifyviasignal ( server : mach_port_t;
189 task : task_t /*task_move_send_t*/;
190 sig : int;
191 out status : int);
192
193 routine notifycancel ( server : mach_port_t;
194 out status : int);
195
196 routine notifyset ( server : mach_port_t;
197 keys : xmlData;
198 patterns : xmlData;
199 out status : int);
200
201 routine notifyviafd ( server : mach_port_t;
202 fileport : mach_port_move_send_t;
203 identifier : int;
204 out status : int);
205
206 skip; /* reserved for future use */
207 skip; /* reserved for future use */
208
209 /*
210 * Miscellaneous API's
211 */
212
213 routine snapshot ( server : mach_port_t;
214 out status : int;
215 ServerAuditToken audit_token : audit_token_t);