2 * Copyright (c) 2000-2006, 2008, 2011. 2015, 2018-2019 Apple Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
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
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.
21 * @APPLE_LICENSE_HEADER_END@
25 * Modification History
27 * June 1, 2001 Allan Nathanson <ajn@apple.com>
28 * - public API conversion
30 * March 24, 2000 Allan Nathanson <ajn@apple.com>
34 #ifndef _S_CONFIGD_SERVER_H
35 #define _S_CONFIGD_SERVER_H
37 #include <sys/cdefs.h>
38 #include <sys/fileport.h>
39 #include <mach/mach.h>
40 #include <CoreFoundation/CoreFoundation.h>
42 #define DISPATCH_MACH_SPI 1
43 #import <dispatch/private.h>
47 void server_mach_channel_handler
48 (void *context
, // serverSessionRef
49 dispatch_mach_reason_t reason
,
50 dispatch_mach_msg_t message
,
53 void server_init (void);
55 dispatch_workloop_t
server_queue (void);
57 kern_return_t
_snapshot (mach_port_t server
,
59 audit_token_t audit_token
);
61 kern_return_t
_configopen (mach_port_t server
,
63 mach_msg_type_number_t nameLen
,
65 mach_msg_type_number_t optionsLen
,
66 mach_port_t
*newServer
,
68 audit_token_t audit_token
);
70 kern_return_t
_configlist (mach_port_t server
,
72 mach_msg_type_number_t keyLen
,
74 xmlDataOut_t
*listRef
,
75 mach_msg_type_number_t
*listLen
,
77 audit_token_t audit_token
);
79 kern_return_t
_configadd (mach_port_t server
,
81 mach_msg_type_number_t keyLen
,
83 mach_msg_type_number_t dataLen
,
84 int *newInstance
, // no longer used
86 audit_token_t audit_token
);
88 kern_return_t
_configadd_s (mach_port_t server
,
90 mach_msg_type_number_t keyLen
,
92 mach_msg_type_number_t dataLen
,
93 int *newInstance
, // no longer used
96 kern_return_t
_configget (mach_port_t server
,
98 mach_msg_type_number_t keyLen
,
99 xmlDataOut_t
*dataRef
,
100 mach_msg_type_number_t
*dataLen
,
101 int *newInstance
, // no longer used
103 audit_token_t audit_token
);
105 kern_return_t
_configset (mach_port_t server
,
107 mach_msg_type_number_t keyLen
,
109 mach_msg_type_number_t dataLen
,
110 int *newInstance
, // no longer used
112 audit_token_t audit_token
);
114 kern_return_t
_configremove (mach_port_t server
,
116 mach_msg_type_number_t keyLen
,
118 audit_token_t audit_token
);
120 kern_return_t
_confignotify (mach_port_t server
,
122 mach_msg_type_number_t keyLen
,
124 audit_token_t audit_token
);
126 kern_return_t
_configget_m (mach_port_t server
,
128 mach_msg_type_number_t keysLen
,
129 xmlData_t patternsRef
,
130 mach_msg_type_number_t patternsLen
,
131 xmlDataOut_t
*dataRef
,
132 mach_msg_type_number_t
*dataLen
,
134 audit_token_t audit_token
);
136 kern_return_t
_configset_m (mach_port_t server
,
138 mach_msg_type_number_t dataLen
,
140 mach_msg_type_number_t removeLen
,
142 mach_msg_type_number_t notifyLen
,
144 audit_token_t audit_token
);
146 kern_return_t
_notifyadd (mach_port_t server
,
148 mach_msg_type_number_t keyLen
,
152 kern_return_t
_notifyremove (mach_port_t server
,
154 mach_msg_type_number_t keyLen
,
158 kern_return_t
_notifychanges (mach_port_t server
,
159 xmlDataOut_t
*listRef
,
160 mach_msg_type_number_t
*listLen
,
163 kern_return_t
_notifyviaport (mach_port_t server
,
168 kern_return_t
_notifyviafd (mach_port_t server
,
173 kern_return_t
_notifycancel (mach_port_t server
,
176 kern_return_t
_notifyset (mach_port_t server
,
178 mach_msg_type_number_t keysLen
,
179 xmlData_t patternsRef
,
180 mach_msg_type_number_t patternsLen
,
185 #endif /* !_S_CONFIGD_SERVER_H */