]> git.saurik.com Git - apple/configd.git/blob - configd.tproj/configd_server.h
9104deb077ac3e253f4e2093236603e8a0f9ac7e
[apple/configd.git] / configd.tproj / configd_server.h
1 /*
2 * Copyright (c) 2000-2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25
26 /*
27 * Modification History
28 *
29 * June 1, 2001 Allan Nathanson <ajn@apple.com>
30 * - public API conversion
31 *
32 * March 24, 2000 Allan Nathanson <ajn@apple.com>
33 * - initial revision
34 */
35
36 #ifndef _S_CONFIGD_SERVER_H
37 #define _S_CONFIGD_SERVER_H
38
39 #include <sys/cdefs.h>
40 #include <mach/mach.h>
41
42 #include <CoreFoundation/CFRunLoop.h>
43 #include <CoreFoundation/CFMachPort.h>
44
45 __BEGIN_DECLS
46
47 void configdCallback (CFMachPortRef port,
48 void *msg,
49 CFIndex size,
50 void *info);
51
52 boolean_t server_active (mach_port_t *service_port);
53
54 void server_init (mach_port_t service_port,
55 Boolean enableRestart);
56
57 void server_shutdown ();
58
59 void server_loop ();
60
61 kern_return_t _snapshot (mach_port_t server,
62 int *sc_status);
63
64 kern_return_t _configopen (mach_port_t server,
65 xmlData_t nameRef,
66 mach_msg_type_number_t nameLen,
67 mach_port_t *newServer,
68 int *sc_status);
69
70 kern_return_t _configclose (mach_port_t server,
71 int *sc_status);
72
73 kern_return_t _configlock (mach_port_t server,
74 int *sc_status);
75
76 kern_return_t _configunlock (mach_port_t server,
77 int *sc_status);
78
79 kern_return_t _configlist (mach_port_t server,
80 xmlData_t keyRef,
81 mach_msg_type_number_t keyLen,
82 int isRegex,
83 xmlDataOut_t *listRef,
84 mach_msg_type_number_t *listLen,
85 int *sc_status);
86
87 kern_return_t _configadd (mach_port_t server,
88 xmlData_t keyRef,
89 mach_msg_type_number_t keyLen,
90 xmlData_t dataRef,
91 mach_msg_type_number_t dataLen,
92 int *newInstance,
93 int *sc_status);
94
95 kern_return_t _configadd_s (mach_port_t server,
96 xmlData_t keyRef,
97 mach_msg_type_number_t keyLen,
98 xmlData_t dataRef,
99 mach_msg_type_number_t dataLen,
100 int *newInstance,
101 int *sc_status);
102
103 kern_return_t _configget (mach_port_t server,
104 xmlData_t keyRef,
105 mach_msg_type_number_t keyLen,
106 xmlDataOut_t *dataRef,
107 mach_msg_type_number_t *dataLen,
108 int *newInstance,
109 int *sc_status);
110
111 kern_return_t _configset (mach_port_t server,
112 xmlData_t keyRef,
113 mach_msg_type_number_t keyLen,
114 xmlData_t dataRef,
115 mach_msg_type_number_t dataLen,
116 int *newInstance,
117 int *sc_status);
118
119 kern_return_t _configremove (mach_port_t server,
120 xmlData_t keyRef,
121 mach_msg_type_number_t keyLen,
122 int *sc_status);
123
124 kern_return_t _configtouch (mach_port_t server,
125 xmlData_t keyRef,
126 mach_msg_type_number_t keyLen,
127 int *sc_status);
128
129 kern_return_t _confignotify (mach_port_t server,
130 xmlData_t keyRef,
131 mach_msg_type_number_t keyLen,
132 int *sc_status);
133
134 kern_return_t _configget_m (mach_port_t server,
135 xmlData_t keysRef,
136 mach_msg_type_number_t keysLen,
137 xmlData_t patternsRef,
138 mach_msg_type_number_t patternsLen,
139 xmlDataOut_t *dataRef,
140 mach_msg_type_number_t *dataLen,
141 int *sc_status);
142
143 kern_return_t _configset_m (mach_port_t server,
144 xmlData_t dataRef,
145 mach_msg_type_number_t dataLen,
146 xmlData_t removeRef,
147 mach_msg_type_number_t removeLen,
148 xmlData_t notifyRef,
149 mach_msg_type_number_t notifyLen,
150 int *sc_status);
151
152 kern_return_t _notifyadd (mach_port_t server,
153 xmlData_t keyRef,
154 mach_msg_type_number_t keyLen,
155 int isRegex,
156 int *status);
157
158 kern_return_t _notifyremove (mach_port_t server,
159 xmlData_t keyRef,
160 mach_msg_type_number_t keyLen,
161 int isRegex,
162 int *status);
163
164 kern_return_t _notifychanges (mach_port_t server,
165 xmlDataOut_t *listRef,
166 mach_msg_type_number_t *listLen,
167 int *status);
168
169 kern_return_t _notifyviaport (mach_port_t server,
170 mach_port_t port,
171 mach_msg_id_t msgid,
172 int *status);
173
174 kern_return_t _notifyviafd (mach_port_t server,
175 xmlData_t pathRef,
176 mach_msg_type_number_t pathLen,
177 int identifier,
178 int *status);
179
180 kern_return_t _notifyviasignal
181 (mach_port_t server,
182 task_t task,
183 int signal,
184 int *status);
185
186 kern_return_t _notifycancel (mach_port_t server,
187 int *sc_status);
188
189 kern_return_t _notifyset (mach_port_t server,
190 xmlData_t keysRef,
191 mach_msg_type_number_t keysLen,
192 xmlData_t patternsRef,
193 mach_msg_type_number_t patternsLen,
194 int *sc_status);
195
196 __END_DECLS
197
198 #endif /* !_S_CONFIGD_SERVER_H */