]> git.saurik.com Git - apple/mdnsresponder.git/blob - mDNSWindows/RMxClient.h
mDNSResponder-66.3.tar.gz
[apple/mdnsresponder.git] / mDNSWindows / RMxClient.h
1 /*
2 * Copyright (c) 2003-2004 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 Change History (most recent first):
26
27 $Log: RMxClient.h,v $
28 Revision 1.1 2004/01/30 02:35:13 bradley
29 Rendezvous Message Exchange implementation for DNS-SD IPC on Windows.
30
31 */
32
33 //---------------------------------------------------------------------------------------------------------------------------
34 /*! @header RMxClient.h
35
36 @abstract Client-side implementation of the DNS-SD IPC API.
37
38 @discussion
39
40 This handles sending and receiving messages from the service to perform DNS-SD operations and get DNS-SD responses.
41 */
42
43 #ifndef __RMx_CLIENT__
44 #define __RMx_CLIENT__
45
46 #include "DNSSD.h"
47
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51
52 #if 0
53 #pragma mark == RMx ==
54 #endif
55
56 //---------------------------------------------------------------------------------------------------------------------------
57 /*! @function RMxClientInitialize
58
59 @abstract Initializes RMx for client usage. This must be called before any RMx functions are called.
60 */
61
62 OSStatus RMxClientInitialize( void );
63
64 //---------------------------------------------------------------------------------------------------------------------------
65 /*! @function RMxClientFinalize
66
67 @abstract Finalizes client usage of RMx. No RMx calls should be made after this call is made.
68 */
69
70 void RMxClientFinalize( void );
71
72 #if 0
73 #pragma mark == DNS-SD General ==
74 #endif
75
76 //---------------------------------------------------------------------------------------------------------------------------
77 /*! @function DNSServiceRefDeallocate_client
78
79 @abstract Client-side version of DNSServiceRefDeallocate.
80 */
81
82 void DNSServiceRefDeallocate_client( DNSServiceRef inRef );
83
84 //---------------------------------------------------------------------------------------------------------------------------
85 /*! @function DNSServiceCheckVersion_client
86
87 @abstract Client-side version of DNSServiceCheckVersion.
88 */
89
90 DNSServiceErrorType DNSServiceCheckVersion_client( const char *inServer );
91
92 #if 0
93 #pragma mark == DNS-SD Properties ==
94 #endif
95
96 //---------------------------------------------------------------------------------------------------------------------------
97 /*! @function DNSServiceCopyProperty_client
98
99 @abstract Client-side version of DNSServiceCopyProperty.
100 */
101
102 DNSServiceErrorType DNSServiceCopyProperty_client( const char *inServer, DNSPropertyCode inCode, DNSPropertyData *outData );
103
104 //---------------------------------------------------------------------------------------------------------------------------
105 /*! @function DNSServiceReleaseProperty_client
106
107 @abstract Client-side version of DNSServiceReleaseProperty.
108 */
109
110 DNSServiceErrorType DNSServiceReleaseProperty_client( DNSPropertyData *inData );
111
112 #if 0
113 #pragma mark == DNS-SD Domain Enumeration ==
114 #endif
115
116 //---------------------------------------------------------------------------------------------------------------------------
117 /*! @function DNSServiceEnumerateDomains_client
118
119 @abstract Client-side version of DNSServiceEnumerateDomains.
120 */
121
122 DNSServiceErrorType
123 DNSServiceEnumerateDomains_client(
124 DNSServiceRef * outRef,
125 const char * inServer,
126 const DNSServiceFlags inFlags,
127 const uint32_t inInterfaceIndex,
128 const DNSServiceDomainEnumReply inCallBack,
129 void * inContext );
130
131 #if 0
132 #pragma mark == DNS-SD Service Registration ==
133 #endif
134
135 //---------------------------------------------------------------------------------------------------------------------------
136 /*! @function DNSServiceRegister_client
137
138 @abstract Client-side version of DNSServiceRegister.
139 */
140
141 DNSServiceErrorType
142 DNSServiceRegister_client(
143 DNSServiceRef * outRef,
144 const char * inServer,
145 DNSServiceFlags inFlags,
146 uint32_t inInterfaceIndex,
147 const char * inName,
148 const char * inType,
149 const char * inDomain,
150 const char * inHost,
151 uint16_t inPort,
152 uint16_t inTXTSize,
153 const void * inTXT,
154 DNSServiceRegisterReply inCallBack,
155 void * inContext );
156
157 //---------------------------------------------------------------------------------------------------------------------------
158 /*! @function DNSServiceAddRecord_client
159
160 @abstract Client-side version of DNSServiceAddRecord.
161 */
162
163 DNSServiceErrorType
164 DNSServiceAddRecord_client(
165 DNSServiceRef inRef,
166 DNSRecordRef * outRecordRef,
167 DNSServiceFlags inFlags,
168 uint16_t inRRType,
169 uint16_t inRDataSize,
170 const void * inRData,
171 uint32_t inTTL );
172
173 //---------------------------------------------------------------------------------------------------------------------------
174 /*! @function DNSServiceUpdateRecord_client
175
176 @abstract Client-side version of DNSServiceUpdateRecord.
177 */
178
179 DNSServiceErrorType
180 DNSServiceUpdateRecord_client(
181 DNSServiceRef inRef,
182 DNSRecordRef inRecordRef,
183 DNSServiceFlags inFlags,
184 uint16_t inRDataSize,
185 const void * inRData,
186 uint32_t inTTL );
187
188 //---------------------------------------------------------------------------------------------------------------------------
189 /*! @function DNSServiceRemoveRecord_client
190
191 @abstract Client-side version of DNSServiceRemoveRecord.
192 */
193
194 DNSServiceErrorType DNSServiceRemoveRecord_client( DNSServiceRef inRef, DNSRecordRef inRecordRef, DNSServiceFlags inFlags );
195
196 #if 0
197 #pragma mark == DNS-SD Service Discovery ==
198 #endif
199
200 //---------------------------------------------------------------------------------------------------------------------------
201 /*! @function DNSServiceBrowse_client
202
203 @abstract Client-side version of DNSServiceBrowse.
204 */
205
206 DNSServiceErrorType
207 DNSServiceBrowse_client(
208 DNSServiceRef * outRef,
209 const char * inServer,
210 DNSServiceFlags inFlags,
211 uint32_t inInterfaceIndex,
212 const char * inType,
213 const char * inDomain,
214 DNSServiceBrowseReply inCallBack,
215 void * inContext );
216
217 //---------------------------------------------------------------------------------------------------------------------------
218 /*! @function DNSServiceResolve_client
219
220 @abstract Client-side version of DNSServiceResolve.
221 */
222
223 DNSServiceErrorType
224 DNSServiceResolve_client(
225 DNSServiceRef * outRef,
226 const char * inServer,
227 DNSServiceFlags inFlags,
228 uint32_t inInterfaceIndex,
229 const char * inName,
230 const char * inType,
231 const char * inDomain,
232 DNSServiceResolveReply inCallBack,
233 void * inContext );
234
235 #if 0
236 #pragma mark == DNS-SD Special Purpose ==
237 #endif
238
239 //---------------------------------------------------------------------------------------------------------------------------
240 /*! @function DNSServiceCreateConnection_client
241
242 @abstract Client-side version of DNSServiceCreateConnection.
243 */
244
245 DNSServiceErrorType DNSServiceCreateConnection_client( DNSServiceRef *outRef, const char *inServer );
246
247 //---------------------------------------------------------------------------------------------------------------------------
248 /*! @function DNSServiceRegisterRecord_client
249
250 @abstract Client-side version of DNSServiceRegisterRecord.
251 */
252
253 DNSServiceErrorType
254 DNSServiceRegisterRecord_client(
255 DNSServiceRef inRef,
256 DNSRecordRef * outRecordRef,
257 DNSServiceFlags inFlags,
258 uint32_t inInterfaceIndex,
259 const char * inName,
260 uint16_t inRRType,
261 uint16_t inRRClass,
262 uint16_t inRDataSize,
263 const void * inRData,
264 uint32_t inTTL,
265 DNSServiceRegisterRecordReply inCallBack,
266 void * inContext );
267
268 //---------------------------------------------------------------------------------------------------------------------------
269 /*! @function DNSServiceQueryRecord_client
270
271 @abstract Client-side version of DNSServiceQueryRecord.
272 */
273
274 DNSServiceErrorType
275 DNSServiceQueryRecord_client(
276 DNSServiceRef * outRef,
277 const char * inServer,
278 DNSServiceFlags inFlags,
279 uint32_t inInterfaceIndex,
280 const char * inName,
281 uint16_t inRRType,
282 uint16_t inRRClass,
283 DNSServiceQueryRecordReply inCallBack,
284 void * inContext );
285
286 //---------------------------------------------------------------------------------------------------------------------------
287 /*! @function DNSServiceReconfirmRecord_client
288
289 @abstract Client-side version of DNSServiceReconfirmRecord.
290 */
291
292 void
293 DNSServiceReconfirmRecord_client(
294 const char * inServer,
295 DNSServiceFlags inFlags,
296 uint32_t inInterfaceIndex,
297 const char * inName,
298 uint16_t inRRType,
299 uint16_t inRRClass,
300 uint16_t inRDataSize,
301 const void * inRData );
302
303 #ifdef __cplusplus
304 }
305 #endif
306
307 #endif // __RMx_CLIENT__