2 * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
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
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.
23 * @APPLE_LICENSE_HEADER_END@
25 Change History (most recent first):
28 Revision 1.1 2004/01/30 02:35:13 bradley
29 Rendezvous Message Exchange implementation for DNS-SD IPC on Windows.
33 //---------------------------------------------------------------------------------------------------------------------------
34 /*! @header RMxClient.h
36 @abstract Client-side implementation of the DNS-SD IPC API.
40 This handles sending and receiving messages from the service to perform DNS-SD operations and get DNS-SD responses.
43 #ifndef __RMx_CLIENT__
44 #define __RMx_CLIENT__
53 #pragma mark == RMx ==
56 //---------------------------------------------------------------------------------------------------------------------------
57 /*! @function RMxClientInitialize
59 @abstract Initializes RMx for client usage. This must be called before any RMx functions are called.
62 OSStatus
RMxClientInitialize( void );
64 //---------------------------------------------------------------------------------------------------------------------------
65 /*! @function RMxClientFinalize
67 @abstract Finalizes client usage of RMx. No RMx calls should be made after this call is made.
70 void RMxClientFinalize( void );
73 #pragma mark == DNS-SD General ==
76 //---------------------------------------------------------------------------------------------------------------------------
77 /*! @function DNSServiceRefDeallocate_client
79 @abstract Client-side version of DNSServiceRefDeallocate.
82 void DNSServiceRefDeallocate_client( DNSServiceRef inRef
);
84 //---------------------------------------------------------------------------------------------------------------------------
85 /*! @function DNSServiceCheckVersion_client
87 @abstract Client-side version of DNSServiceCheckVersion.
90 DNSServiceErrorType
DNSServiceCheckVersion_client( const char *inServer
);
93 #pragma mark == DNS-SD Properties ==
96 //---------------------------------------------------------------------------------------------------------------------------
97 /*! @function DNSServiceCopyProperty_client
99 @abstract Client-side version of DNSServiceCopyProperty.
102 DNSServiceErrorType
DNSServiceCopyProperty_client( const char *inServer
, DNSPropertyCode inCode
, DNSPropertyData
*outData
);
104 //---------------------------------------------------------------------------------------------------------------------------
105 /*! @function DNSServiceReleaseProperty_client
107 @abstract Client-side version of DNSServiceReleaseProperty.
110 DNSServiceErrorType
DNSServiceReleaseProperty_client( DNSPropertyData
*inData
);
113 #pragma mark == DNS-SD Domain Enumeration ==
116 //---------------------------------------------------------------------------------------------------------------------------
117 /*! @function DNSServiceEnumerateDomains_client
119 @abstract Client-side version of DNSServiceEnumerateDomains.
123 DNSServiceEnumerateDomains_client(
124 DNSServiceRef
* outRef
,
125 const char * inServer
,
126 const DNSServiceFlags inFlags
,
127 const uint32_t inInterfaceIndex
,
128 const DNSServiceDomainEnumReply inCallBack
,
132 #pragma mark == DNS-SD Service Registration ==
135 //---------------------------------------------------------------------------------------------------------------------------
136 /*! @function DNSServiceRegister_client
138 @abstract Client-side version of DNSServiceRegister.
142 DNSServiceRegister_client(
143 DNSServiceRef
* outRef
,
144 const char * inServer
,
145 DNSServiceFlags inFlags
,
146 uint32_t inInterfaceIndex
,
149 const char * inDomain
,
154 DNSServiceRegisterReply inCallBack
,
157 //---------------------------------------------------------------------------------------------------------------------------
158 /*! @function DNSServiceAddRecord_client
160 @abstract Client-side version of DNSServiceAddRecord.
164 DNSServiceAddRecord_client(
166 DNSRecordRef
* outRecordRef
,
167 DNSServiceFlags inFlags
,
169 uint16_t inRDataSize
,
170 const void * inRData
,
173 //---------------------------------------------------------------------------------------------------------------------------
174 /*! @function DNSServiceUpdateRecord_client
176 @abstract Client-side version of DNSServiceUpdateRecord.
180 DNSServiceUpdateRecord_client(
182 DNSRecordRef inRecordRef
,
183 DNSServiceFlags inFlags
,
184 uint16_t inRDataSize
,
185 const void * inRData
,
188 //---------------------------------------------------------------------------------------------------------------------------
189 /*! @function DNSServiceRemoveRecord_client
191 @abstract Client-side version of DNSServiceRemoveRecord.
194 DNSServiceErrorType
DNSServiceRemoveRecord_client( DNSServiceRef inRef
, DNSRecordRef inRecordRef
, DNSServiceFlags inFlags
);
197 #pragma mark == DNS-SD Service Discovery ==
200 //---------------------------------------------------------------------------------------------------------------------------
201 /*! @function DNSServiceBrowse_client
203 @abstract Client-side version of DNSServiceBrowse.
207 DNSServiceBrowse_client(
208 DNSServiceRef
* outRef
,
209 const char * inServer
,
210 DNSServiceFlags inFlags
,
211 uint32_t inInterfaceIndex
,
213 const char * inDomain
,
214 DNSServiceBrowseReply inCallBack
,
217 //---------------------------------------------------------------------------------------------------------------------------
218 /*! @function DNSServiceResolve_client
220 @abstract Client-side version of DNSServiceResolve.
224 DNSServiceResolve_client(
225 DNSServiceRef
* outRef
,
226 const char * inServer
,
227 DNSServiceFlags inFlags
,
228 uint32_t inInterfaceIndex
,
231 const char * inDomain
,
232 DNSServiceResolveReply inCallBack
,
236 #pragma mark == DNS-SD Special Purpose ==
239 //---------------------------------------------------------------------------------------------------------------------------
240 /*! @function DNSServiceCreateConnection_client
242 @abstract Client-side version of DNSServiceCreateConnection.
245 DNSServiceErrorType
DNSServiceCreateConnection_client( DNSServiceRef
*outRef
, const char *inServer
);
247 //---------------------------------------------------------------------------------------------------------------------------
248 /*! @function DNSServiceRegisterRecord_client
250 @abstract Client-side version of DNSServiceRegisterRecord.
254 DNSServiceRegisterRecord_client(
256 DNSRecordRef
* outRecordRef
,
257 DNSServiceFlags inFlags
,
258 uint32_t inInterfaceIndex
,
262 uint16_t inRDataSize
,
263 const void * inRData
,
265 DNSServiceRegisterRecordReply inCallBack
,
268 //---------------------------------------------------------------------------------------------------------------------------
269 /*! @function DNSServiceQueryRecord_client
271 @abstract Client-side version of DNSServiceQueryRecord.
275 DNSServiceQueryRecord_client(
276 DNSServiceRef
* outRef
,
277 const char * inServer
,
278 DNSServiceFlags inFlags
,
279 uint32_t inInterfaceIndex
,
283 DNSServiceQueryRecordReply inCallBack
,
286 //---------------------------------------------------------------------------------------------------------------------------
287 /*! @function DNSServiceReconfirmRecord_client
289 @abstract Client-side version of DNSServiceReconfirmRecord.
293 DNSServiceReconfirmRecord_client(
294 const char * inServer
,
295 DNSServiceFlags inFlags
,
296 uint32_t inInterfaceIndex
,
300 uint16_t inRDataSize
,
301 const void * inRData
);
307 #endif // __RMx_CLIENT__