xref: /aosp_15_r20/external/mdnsresponder/mDNSWindows/DLLX/DLLX.idl (revision 48a54d368dc4fa860885eef7b70b6c53499e7c25)
1*48a54d36SAndroid Build Coastguard Worker/* -*- Mode: C; tab-width: 4 -*-
2*48a54d36SAndroid Build Coastguard Worker *
3*48a54d36SAndroid Build Coastguard Worker * Copyright (c) 2009 Apple Computer, Inc. All rights reserved.
4*48a54d36SAndroid Build Coastguard Worker *
5*48a54d36SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
6*48a54d36SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
7*48a54d36SAndroid Build Coastguard Worker * You may obtain a copy of the License at
8*48a54d36SAndroid Build Coastguard Worker *
9*48a54d36SAndroid Build Coastguard Worker *     http://www.apache.org/licenses/LICENSE-2.0
10*48a54d36SAndroid Build Coastguard Worker *
11*48a54d36SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
12*48a54d36SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
13*48a54d36SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*48a54d36SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
15*48a54d36SAndroid Build Coastguard Worker * limitations under the License.
16*48a54d36SAndroid Build Coastguard Worker */
17*48a54d36SAndroid Build Coastguard Worker
18*48a54d36SAndroid Build Coastguard Worker
19*48a54d36SAndroid Build Coastguard Worker
20*48a54d36SAndroid Build Coastguard Worker// This file will be processed by the MIDL tool to
21*48a54d36SAndroid Build Coastguard Worker
22*48a54d36SAndroid Build Coastguard Worker// produce the type library (DLLComponent.tlb) and marshalling code.
23*48a54d36SAndroid Build Coastguard Worker
24*48a54d36SAndroid Build Coastguard Worker
25*48a54d36SAndroid Build Coastguard Worker
26*48a54d36SAndroid Build Coastguard Workertypedef [ uuid(4085DD59-D0E1-4efe-B6EE-DDBF7631B9C0) ]
27*48a54d36SAndroid Build Coastguard Worker
28*48a54d36SAndroid Build Coastguard Workerenum DNSSDFlags
29*48a54d36SAndroid Build Coastguard Worker
30*48a54d36SAndroid Build Coastguard Worker{
31*48a54d36SAndroid Build Coastguard Worker
32*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsMoreComing			= 0x0001,
33*48a54d36SAndroid Build Coastguard Worker
34*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsDefault				= 0x0004,
35*48a54d36SAndroid Build Coastguard Worker
36*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsNoAutoRename			= 0x0008,
37*48a54d36SAndroid Build Coastguard Worker
38*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsShared				= 0x0010,
39*48a54d36SAndroid Build Coastguard Worker
40*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsUnique				= 0x0020,
41*48a54d36SAndroid Build Coastguard Worker
42*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsBrowseDomains		= 0x0040,
43*48a54d36SAndroid Build Coastguard Worker
44*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsRegistrationDomains	= 0x0080,
45*48a54d36SAndroid Build Coastguard Worker
46*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsLongLivedQuery		= 0x0100,
47*48a54d36SAndroid Build Coastguard Worker
48*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsAllowRemoteQuery		= 0x0200,
49*48a54d36SAndroid Build Coastguard Worker
50*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsForceMulticast		= 0x0400,
51*48a54d36SAndroid Build Coastguard Worker
52*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsForce				= 0x0800,
53*48a54d36SAndroid Build Coastguard Worker
54*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsReturnIntermediates	= 0x1000,
55*48a54d36SAndroid Build Coastguard Worker
56*48a54d36SAndroid Build Coastguard Worker	kDNSSDFlagsNonBrowsable			= 0x2000
57*48a54d36SAndroid Build Coastguard Worker
58*48a54d36SAndroid Build Coastguard Worker} DNSSDFlags;
59*48a54d36SAndroid Build Coastguard Worker
60*48a54d36SAndroid Build Coastguard Worker
61*48a54d36SAndroid Build Coastguard Worker
62*48a54d36SAndroid Build Coastguard Worker
63*48a54d36SAndroid Build Coastguard Worker
64*48a54d36SAndroid Build Coastguard Workertypedef [ uuid(30CDF335-CA52-4b17-AFF2-E83C64C450D4) ]
65*48a54d36SAndroid Build Coastguard Worker
66*48a54d36SAndroid Build Coastguard Workerenum DNSSDAddressFamily
67*48a54d36SAndroid Build Coastguard Worker
68*48a54d36SAndroid Build Coastguard Worker{
69*48a54d36SAndroid Build Coastguard Worker
70*48a54d36SAndroid Build Coastguard Worker	kDNSSDAddressFamily_IPv4 = 0x1,
71*48a54d36SAndroid Build Coastguard Worker
72*48a54d36SAndroid Build Coastguard Worker	kDNSSDAddressFamily_IPv6 = 0x2
73*48a54d36SAndroid Build Coastguard Worker
74*48a54d36SAndroid Build Coastguard Worker} DNSSDAddressFamily;
75*48a54d36SAndroid Build Coastguard Worker
76*48a54d36SAndroid Build Coastguard Worker
77*48a54d36SAndroid Build Coastguard Worker
78*48a54d36SAndroid Build Coastguard Worker
79*48a54d36SAndroid Build Coastguard Worker
80*48a54d36SAndroid Build Coastguard Workertypedef [ uuid(98FB4702-7374-4b16-A8DB-AD35BFB8364D) ]
81*48a54d36SAndroid Build Coastguard Worker
82*48a54d36SAndroid Build Coastguard Workerenum DNSSDProtocol
83*48a54d36SAndroid Build Coastguard Worker
84*48a54d36SAndroid Build Coastguard Worker{
85*48a54d36SAndroid Build Coastguard Worker
86*48a54d36SAndroid Build Coastguard Worker	kDNSSDProtocol_UDP	= 0x10,
87*48a54d36SAndroid Build Coastguard Worker
88*48a54d36SAndroid Build Coastguard Worker	kDNSSDProtocol_TCP	= 0x20
89*48a54d36SAndroid Build Coastguard Worker
90*48a54d36SAndroid Build Coastguard Worker} DNSSDProtocol;
91*48a54d36SAndroid Build Coastguard Worker
92*48a54d36SAndroid Build Coastguard Worker
93*48a54d36SAndroid Build Coastguard Worker
94*48a54d36SAndroid Build Coastguard Worker
95*48a54d36SAndroid Build Coastguard Worker
96*48a54d36SAndroid Build Coastguard Workertypedef [ uuid(72BF3EC3-19BC-47e5-8D95-3B73FF37D893) ]
97*48a54d36SAndroid Build Coastguard Worker
98*48a54d36SAndroid Build Coastguard Workerenum DNSSDRRClass
99*48a54d36SAndroid Build Coastguard Worker
100*48a54d36SAndroid Build Coastguard Worker{
101*48a54d36SAndroid Build Coastguard Worker
102*48a54d36SAndroid Build Coastguard Worker	kDNSSDClass_IN = 1
103*48a54d36SAndroid Build Coastguard Worker
104*48a54d36SAndroid Build Coastguard Worker} DNSSDRRClass;
105*48a54d36SAndroid Build Coastguard Worker
106*48a54d36SAndroid Build Coastguard Worker
107*48a54d36SAndroid Build Coastguard Worker
108*48a54d36SAndroid Build Coastguard Worker
109*48a54d36SAndroid Build Coastguard Worker
110*48a54d36SAndroid Build Coastguard Workertypedef [ uuid(08E362DF-5468-4c9a-AC66-FD4747B917BD) ]
111*48a54d36SAndroid Build Coastguard Worker
112*48a54d36SAndroid Build Coastguard Workerenum DNSSDRRType
113*48a54d36SAndroid Build Coastguard Worker
114*48a54d36SAndroid Build Coastguard Worker{
115*48a54d36SAndroid Build Coastguard Worker
116*48a54d36SAndroid Build Coastguard Worker	kDNSSDType_A         = 1,
117*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NS        = 2,
118*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MD        = 3,
119*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MF        = 4,
120*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_CNAME     = 5,
121*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_SOA       = 6,
122*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MB        = 7,
123*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MG        = 8,
124*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MR        = 9,
125*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NULL      = 10,
126*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_WKS       = 11,
127*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_PTR       = 12,
128*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_HINFO     = 13,
129*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MINFO     = 14,
130*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MX        = 15,
131*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_TXT       = 16,
132*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_RP        = 17,
133*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_AFSDB     = 18,
134*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_X25       = 19,
135*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_ISDN      = 20,
136*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_RT        = 21,
137*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NSAP      = 22,
138*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NSAP_PTR  = 23,
139*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_SIG       = 24,
140*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_KEY       = 25,
141*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_PX        = 26,
142*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_GPOS      = 27,
143*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_AAAA      = 28,
144*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_LOC       = 29,
145*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NXT       = 30,
146*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_EID       = 31,
147*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NIMLOC    = 32,
148*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_SRV       = 33,
149*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_ATMA      = 34,
150*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NAPTR     = 35,
151*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_KX        = 36,
152*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_CERT      = 37,
153*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_A6        = 38,
154*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_DNAME     = 39,
155*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_SINK      = 40,
156*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_OPT       = 41,
157*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_APL       = 42,
158*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_DS        = 43,
159*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_SSHFP     = 44,
160*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_IPSECKEY  = 45,
161*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_RRSIG     = 46,
162*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NSEC      = 47,
163*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_DNSKEY    = 48,
164*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_DHCID     = 49,
165*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NSEC3     = 50,
166*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_NSEC3PARAM= 51,
167*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_HIP       = 55,
168*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_SPF       = 99,
169*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_UINFO     = 100,
170*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_UID       = 101,
171*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_GID       = 102,
172*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_UNSPEC    = 103,
173*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_TKEY      = 249,
174*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_TSIG      = 250,
175*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_IXFR      = 251,
176*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_AXFR      = 252,
177*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MAILB     = 253,
178*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_MAILA     = 254,
179*48a54d36SAndroid Build Coastguard Worker    kDNSSDType_ANY       = 255
180*48a54d36SAndroid Build Coastguard Worker
181*48a54d36SAndroid Build Coastguard Worker} DNSSDRRType;
182*48a54d36SAndroid Build Coastguard Worker
183*48a54d36SAndroid Build Coastguard Worker
184*48a54d36SAndroid Build Coastguard Worker
185*48a54d36SAndroid Build Coastguard Worker
186*48a54d36SAndroid Build Coastguard Worker
187*48a54d36SAndroid Build Coastguard Workertypedef [ uuid(3B0059E7-5297-4301-9AAB-1522F31EC8A7) ]
188*48a54d36SAndroid Build Coastguard Worker
189*48a54d36SAndroid Build Coastguard Workerenum DNSSDError
190*48a54d36SAndroid Build Coastguard Worker{
191*48a54d36SAndroid Build Coastguard Worker	kDNSSDError_NoError                   = 0,
192*48a54d36SAndroid Build Coastguard Worker	kDNSSDError_Unknown                   = -65537,
193*48a54d36SAndroid Build Coastguard Worker	kDNSSDError_NoSuchName                = -65538,
194*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NoMemory                  = -65539,
195*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadParam                  = -65540,
196*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadReference              = -65541,
197*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadState                  = -65542,
198*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadFlags                  = -65543,
199*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_Unsupported               = -65544,
200*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NotInitialized            = -65545,
201*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_AlreadyRegistered         = -65547,
202*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NameConflict              = -65548,
203*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_Invalid                   = -65549,
204*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_Firewall                  = -65550,
205*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_Incompatible              = -65551,
206*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadInterfaceIndex         = -65552,
207*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_Refused                   = -65553,
208*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NoSuchRecord              = -65554,
209*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NoAuth                    = -65555,
210*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NoSuchKey                 = -65556,
211*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NATTraversal              = -65557,
212*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_DoubleNAT                 = -65558,
213*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadTime                   = -65559,
214*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadSig                    = -65560,
215*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_BadKey                    = -65561,
216*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_Transient                 = -65562,
217*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_ServiceNotRunning         = -65563,  /* Background daemon not running */
218*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NATPortMappingUnsupported = -65564,  /* NAT doesn't support NAT-PMP or UPnP */
219*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NATPortMappingDisabled    = -65565,  /* NAT supports NAT-PMP or UPnP but it's disabled by the administrator */
220*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_NoRouter                  = -65566,  /* No router currently configured (probably no network connectivity) */
221*48a54d36SAndroid Build Coastguard Worker    kDNSSDError_PollingMode               = -65567
222*48a54d36SAndroid Build Coastguard Worker} DNSSDError;
223*48a54d36SAndroid Build Coastguard Worker
224*48a54d36SAndroid Build Coastguard Worker
225*48a54d36SAndroid Build Coastguard Worker
226*48a54d36SAndroid Build Coastguard Workerimport "oaidl.idl";
227*48a54d36SAndroid Build Coastguard Worker
228*48a54d36SAndroid Build Coastguard Workerimport "ocidl.idl";
229*48a54d36SAndroid Build Coastguard Worker
230*48a54d36SAndroid Build Coastguard Worker
231*48a54d36SAndroid Build Coastguard Worker
232*48a54d36SAndroid Build Coastguard Worker
233*48a54d36SAndroid Build Coastguard Worker
234*48a54d36SAndroid Build Coastguard Worker[
235*48a54d36SAndroid Build Coastguard Worker
236*48a54d36SAndroid Build Coastguard Worker	object,
237*48a54d36SAndroid Build Coastguard Worker
238*48a54d36SAndroid Build Coastguard Worker	uuid(8FA0889C-5973-4FC9-970B-EC15C925D0CE),
239*48a54d36SAndroid Build Coastguard Worker
240*48a54d36SAndroid Build Coastguard Worker	dual,
241*48a54d36SAndroid Build Coastguard Worker
242*48a54d36SAndroid Build Coastguard Worker	nonextensible,
243*48a54d36SAndroid Build Coastguard Worker
244*48a54d36SAndroid Build Coastguard Worker	helpstring("ITXTRecord Interface"),
245*48a54d36SAndroid Build Coastguard Worker
246*48a54d36SAndroid Build Coastguard Worker	pointer_default(unique)
247*48a54d36SAndroid Build Coastguard Worker
248*48a54d36SAndroid Build Coastguard Worker]
249*48a54d36SAndroid Build Coastguard Worker
250*48a54d36SAndroid Build Coastguard Workerinterface ITXTRecord : IDispatch{
251*48a54d36SAndroid Build Coastguard Worker
252*48a54d36SAndroid Build Coastguard Worker	[id(1), helpstring("method SetValue")] HRESULT SetValue([in] BSTR key, [in] VARIANT value);
253*48a54d36SAndroid Build Coastguard Worker
254*48a54d36SAndroid Build Coastguard Worker	[id(2), helpstring("method RemoveValue")] HRESULT RemoveValue([in] BSTR key);
255*48a54d36SAndroid Build Coastguard Worker
256*48a54d36SAndroid Build Coastguard Worker	[id(3), helpstring("method ContainsKey")] HRESULT ContainsKey([in] BSTR key, [out,retval] VARIANT_BOOL* retval);
257*48a54d36SAndroid Build Coastguard Worker
258*48a54d36SAndroid Build Coastguard Worker	[id(4), helpstring("method GetValueForKey")] HRESULT GetValueForKey([in] BSTR key, [out,retval] VARIANT* value);
259*48a54d36SAndroid Build Coastguard Worker
260*48a54d36SAndroid Build Coastguard Worker	[id(5), helpstring("method GetCount")] HRESULT GetCount([out,retval] ULONG* count);
261*48a54d36SAndroid Build Coastguard Worker
262*48a54d36SAndroid Build Coastguard Worker	[id(6), helpstring("method GetKeyAtIndex")] HRESULT GetKeyAtIndex([in] ULONG index, [out,retval] BSTR* retval);
263*48a54d36SAndroid Build Coastguard Worker
264*48a54d36SAndroid Build Coastguard Worker	[id(7), helpstring("method GetValueAtIndex")] HRESULT GetValueAtIndex([in] ULONG index, [out,retval] VARIANT* retval);
265*48a54d36SAndroid Build Coastguard Worker
266*48a54d36SAndroid Build Coastguard Worker};
267*48a54d36SAndroid Build Coastguard Worker
268*48a54d36SAndroid Build Coastguard Worker[
269*48a54d36SAndroid Build Coastguard Worker
270*48a54d36SAndroid Build Coastguard Worker	object,
271*48a54d36SAndroid Build Coastguard Worker
272*48a54d36SAndroid Build Coastguard Worker	uuid(9CE603A0-3365-4DA0-86D1-3F780ECBA110),
273*48a54d36SAndroid Build Coastguard Worker
274*48a54d36SAndroid Build Coastguard Worker	dual,
275*48a54d36SAndroid Build Coastguard Worker
276*48a54d36SAndroid Build Coastguard Worker	nonextensible,
277*48a54d36SAndroid Build Coastguard Worker
278*48a54d36SAndroid Build Coastguard Worker	helpstring("IDNSSDRecord Interface"),
279*48a54d36SAndroid Build Coastguard Worker
280*48a54d36SAndroid Build Coastguard Worker	pointer_default(unique)
281*48a54d36SAndroid Build Coastguard Worker
282*48a54d36SAndroid Build Coastguard Worker]
283*48a54d36SAndroid Build Coastguard Worker
284*48a54d36SAndroid Build Coastguard Workerinterface IDNSSDRecord : IDispatch{
285*48a54d36SAndroid Build Coastguard Worker
286*48a54d36SAndroid Build Coastguard Worker	[id(1), helpstring("method Update")] HRESULT Update([in] DNSSDFlags flags, [in] VARIANT rdata, [in] ULONG ttl);
287*48a54d36SAndroid Build Coastguard Worker
288*48a54d36SAndroid Build Coastguard Worker	[id(2), helpstring("method Remove")] HRESULT Remove([in] DNSSDFlags flags);
289*48a54d36SAndroid Build Coastguard Worker
290*48a54d36SAndroid Build Coastguard Worker};
291*48a54d36SAndroid Build Coastguard Worker
292*48a54d36SAndroid Build Coastguard Worker[
293*48a54d36SAndroid Build Coastguard Worker
294*48a54d36SAndroid Build Coastguard Worker	object,
295*48a54d36SAndroid Build Coastguard Worker
296*48a54d36SAndroid Build Coastguard Worker	uuid(7FD72324-63E1-45AD-B337-4D525BD98DAD),
297*48a54d36SAndroid Build Coastguard Worker
298*48a54d36SAndroid Build Coastguard Worker	dual,
299*48a54d36SAndroid Build Coastguard Worker
300*48a54d36SAndroid Build Coastguard Worker	nonextensible,
301*48a54d36SAndroid Build Coastguard Worker
302*48a54d36SAndroid Build Coastguard Worker	helpstring("IDNSSDEventManager Interface"),
303*48a54d36SAndroid Build Coastguard Worker
304*48a54d36SAndroid Build Coastguard Worker	pointer_default(unique)
305*48a54d36SAndroid Build Coastguard Worker
306*48a54d36SAndroid Build Coastguard Worker]
307*48a54d36SAndroid Build Coastguard Worker
308*48a54d36SAndroid Build Coastguard Workerinterface IDNSSDEventManager : IDispatch{
309*48a54d36SAndroid Build Coastguard Worker
310*48a54d36SAndroid Build Coastguard Worker};
311*48a54d36SAndroid Build Coastguard Worker
312*48a54d36SAndroid Build Coastguard Worker[
313*48a54d36SAndroid Build Coastguard Worker
314*48a54d36SAndroid Build Coastguard Worker	object,
315*48a54d36SAndroid Build Coastguard Worker
316*48a54d36SAndroid Build Coastguard Worker	uuid(29DE265F-8402-474F-833A-D4653B23458F),
317*48a54d36SAndroid Build Coastguard Worker
318*48a54d36SAndroid Build Coastguard Worker	dual,
319*48a54d36SAndroid Build Coastguard Worker
320*48a54d36SAndroid Build Coastguard Worker	nonextensible,
321*48a54d36SAndroid Build Coastguard Worker
322*48a54d36SAndroid Build Coastguard Worker	helpstring("IDNSSDService Interface"),
323*48a54d36SAndroid Build Coastguard Worker
324*48a54d36SAndroid Build Coastguard Worker	pointer_default(unique)
325*48a54d36SAndroid Build Coastguard Worker
326*48a54d36SAndroid Build Coastguard Worker]
327*48a54d36SAndroid Build Coastguard Worker
328*48a54d36SAndroid Build Coastguard Workerinterface IDNSSDService : IDispatch{
329*48a54d36SAndroid Build Coastguard Worker
330*48a54d36SAndroid Build Coastguard Worker	[id(1), helpstring("method EnumerateDomains")] HRESULT EnumerateDomains([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
331*48a54d36SAndroid Build Coastguard Worker
332*48a54d36SAndroid Build Coastguard Worker	[id(2), helpstring("method Browse"), local] HRESULT Browse([in] DNSSDFlags flags, [in] ULONG interfaceIndex, [in] BSTR regtype, [in] BSTR domain, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** sdref);
333*48a54d36SAndroid Build Coastguard Worker
334*48a54d36SAndroid Build Coastguard Worker	[id(3), helpstring("method Resolve")] HRESULT Resolve([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR serviceName, [in] BSTR regType, [in] BSTR domain, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
335*48a54d36SAndroid Build Coastguard Worker
336*48a54d36SAndroid Build Coastguard Worker	[id(4), helpstring("method Register")] HRESULT Register([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR name, [in] BSTR regType, [in] BSTR domain, [in] BSTR host, [in] USHORT port, [in] ITXTRecord* record, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
337*48a54d36SAndroid Build Coastguard Worker
338*48a54d36SAndroid Build Coastguard Worker	[id(5), helpstring("method QueryRecord")] HRESULT QueryRecord([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullname, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
339*48a54d36SAndroid Build Coastguard Worker
340*48a54d36SAndroid Build Coastguard Worker	[id(6), helpstring("method RegisterRecord")] HRESULT RegisterRecord([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullname, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] VARIANT rdata, [in] ULONG ttl, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDRecord** record);
341*48a54d36SAndroid Build Coastguard Worker
342*48a54d36SAndroid Build Coastguard Worker	[id(7), helpstring("method AddRecord")] HRESULT AddRecord([in] DNSSDFlags flags, [in] DNSSDRRType rrtype, [in] VARIANT rdata, [in] ULONG ttl, [out,retval] IDNSSDRecord** record);
343*48a54d36SAndroid Build Coastguard Worker
344*48a54d36SAndroid Build Coastguard Worker	[id(8), helpstring("method ReconfirmRecord")] HRESULT ReconfirmRecord([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullname, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] VARIANT rdata);
345*48a54d36SAndroid Build Coastguard Worker
346*48a54d36SAndroid Build Coastguard Worker	[id(9), helpstring("method GetProperty")] HRESULT GetProperty([in] BSTR prop, [in,out] VARIANT * value );
347*48a54d36SAndroid Build Coastguard Worker
348*48a54d36SAndroid Build Coastguard Worker	[id(10), helpstring("method GetAddrInfo")] HRESULT GetAddrInfo([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] DNSSDAddressFamily addressFamily, [in] BSTR hostname, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
349*48a54d36SAndroid Build Coastguard Worker
350*48a54d36SAndroid Build Coastguard Worker	[id(11), helpstring("method NATPortMappingCreate")] HRESULT NATPortMappingCreate([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] DNSSDAddressFamily addressFamily, [in] DNSSDProtocol protocol, [in] USHORT internalPort, [in] USHORT externalPort, [in] ULONG ttl, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service);
351*48a54d36SAndroid Build Coastguard Worker
352*48a54d36SAndroid Build Coastguard Worker	[id(12), helpstring("method Stop"), local] HRESULT Stop(void);
353*48a54d36SAndroid Build Coastguard Worker
354*48a54d36SAndroid Build Coastguard Worker};
355*48a54d36SAndroid Build Coastguard Worker
356*48a54d36SAndroid Build Coastguard Worker[
357*48a54d36SAndroid Build Coastguard Worker
358*48a54d36SAndroid Build Coastguard Worker	uuid(18FBED6D-F2B7-4EC8-A4A4-46282E635308),
359*48a54d36SAndroid Build Coastguard Worker
360*48a54d36SAndroid Build Coastguard Worker	version(1.0),
361*48a54d36SAndroid Build Coastguard Worker
362*48a54d36SAndroid Build Coastguard Worker	helpstring("Apple Bonjour Library 1.0")
363*48a54d36SAndroid Build Coastguard Worker
364*48a54d36SAndroid Build Coastguard Worker]
365*48a54d36SAndroid Build Coastguard Worker
366*48a54d36SAndroid Build Coastguard Workerlibrary Bonjour
367*48a54d36SAndroid Build Coastguard Worker
368*48a54d36SAndroid Build Coastguard Worker{
369*48a54d36SAndroid Build Coastguard Worker
370*48a54d36SAndroid Build Coastguard Worker	importlib("stdole2.tlb");
371*48a54d36SAndroid Build Coastguard Worker
372*48a54d36SAndroid Build Coastguard Worker	[
373*48a54d36SAndroid Build Coastguard Worker
374*48a54d36SAndroid Build Coastguard Worker		uuid(21AE8D7F-D5FE-45cf-B632-CFA2C2C6B498),
375*48a54d36SAndroid Build Coastguard Worker
376*48a54d36SAndroid Build Coastguard Worker		helpstring("_IDNSSDEvents Interface")
377*48a54d36SAndroid Build Coastguard Worker
378*48a54d36SAndroid Build Coastguard Worker	]
379*48a54d36SAndroid Build Coastguard Worker
380*48a54d36SAndroid Build Coastguard Worker	dispinterface _IDNSSDEvents
381*48a54d36SAndroid Build Coastguard Worker
382*48a54d36SAndroid Build Coastguard Worker	{
383*48a54d36SAndroid Build Coastguard Worker
384*48a54d36SAndroid Build Coastguard Worker		properties:
385*48a54d36SAndroid Build Coastguard Worker
386*48a54d36SAndroid Build Coastguard Worker		methods:
387*48a54d36SAndroid Build Coastguard Worker
388*48a54d36SAndroid Build Coastguard Worker		[id(1), helpstring("method DomainFound")] void DomainFound([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR domain);
389*48a54d36SAndroid Build Coastguard Worker
390*48a54d36SAndroid Build Coastguard Worker		[id(2), helpstring("method DomainLost")] void DomainLost([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR domain);
391*48a54d36SAndroid Build Coastguard Worker
392*48a54d36SAndroid Build Coastguard Worker		[id(3), helpstring("method ServiceFound")] void ServiceFound([in] IDNSSDService* browser, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR serviceName, [in] BSTR regType, [in] BSTR domain);
393*48a54d36SAndroid Build Coastguard Worker
394*48a54d36SAndroid Build Coastguard Worker		[id(4), helpstring("method ServiceLost")] void ServiceLost([in] IDNSSDService* browser, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR serviceName, [in] BSTR regType, [in] BSTR domain);
395*48a54d36SAndroid Build Coastguard Worker
396*48a54d36SAndroid Build Coastguard Worker		[id(5), helpstring("method ServiceResolved")] void ServiceResolved([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullName, [in] BSTR hostName, [in] USHORT port, [in] ITXTRecord* record);
397*48a54d36SAndroid Build Coastguard Worker
398*48a54d36SAndroid Build Coastguard Worker		[id(6), helpstring("method ServiceRegistered")] void ServiceRegistered([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] BSTR name, [in] BSTR regType, [in] BSTR domain);
399*48a54d36SAndroid Build Coastguard Worker
400*48a54d36SAndroid Build Coastguard Worker		[id(7), helpstring("method QueryRecordAnswered")] void QueryRecordAnswered([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR fullName, [in] DNSSDRRType rrtype, [in] DNSSDRRClass rrclass, [in] VARIANT rdata, [in] ULONG ttl);
401*48a54d36SAndroid Build Coastguard Worker
402*48a54d36SAndroid Build Coastguard Worker		[id(8), helpstring("method RecordRegistered")] void RecordRegistered([in] IDNSSDRecord* record, [in] DNSSDFlags flags);
403*48a54d36SAndroid Build Coastguard Worker
404*48a54d36SAndroid Build Coastguard Worker		[id(9), helpstring("method AddressFound")] void AddressFound([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR hostname, [in] DNSSDAddressFamily addressFamily, [in] BSTR address, [in] ULONG ttl);
405*48a54d36SAndroid Build Coastguard Worker
406*48a54d36SAndroid Build Coastguard Worker		[id(10), helpstring("method MappingCreated")] void MappingCreated([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] ULONG externalAddress, [in] DNSSDAddressFamily addressFamily, [in] DNSSDProtocol protocol, [in] USHORT internalPort, [in] USHORT externalPort, [in] ULONG ttl);
407*48a54d36SAndroid Build Coastguard Worker
408*48a54d36SAndroid Build Coastguard Worker		[id(11), helpstring("method OperationFailed")] void OperationFailed([in] IDNSSDService* service, [in] DNSSDError error);
409*48a54d36SAndroid Build Coastguard Worker
410*48a54d36SAndroid Build Coastguard Worker	};
411*48a54d36SAndroid Build Coastguard Worker
412*48a54d36SAndroid Build Coastguard Worker	[
413*48a54d36SAndroid Build Coastguard Worker
414*48a54d36SAndroid Build Coastguard Worker		uuid(24CD4DE9-FF84-4701-9DC1-9B69E0D1090A),
415*48a54d36SAndroid Build Coastguard Worker
416*48a54d36SAndroid Build Coastguard Worker		helpstring("DNSSDService Class")
417*48a54d36SAndroid Build Coastguard Worker
418*48a54d36SAndroid Build Coastguard Worker	]
419*48a54d36SAndroid Build Coastguard Worker
420*48a54d36SAndroid Build Coastguard Worker	coclass DNSSDService
421*48a54d36SAndroid Build Coastguard Worker
422*48a54d36SAndroid Build Coastguard Worker	{
423*48a54d36SAndroid Build Coastguard Worker
424*48a54d36SAndroid Build Coastguard Worker		[default] interface IDNSSDService;
425*48a54d36SAndroid Build Coastguard Worker
426*48a54d36SAndroid Build Coastguard Worker	};
427*48a54d36SAndroid Build Coastguard Worker
428*48a54d36SAndroid Build Coastguard Worker	[
429*48a54d36SAndroid Build Coastguard Worker
430*48a54d36SAndroid Build Coastguard Worker		uuid(AFEE063C-05BA-4248-A26E-168477F49734),
431*48a54d36SAndroid Build Coastguard Worker
432*48a54d36SAndroid Build Coastguard Worker		helpstring("TXTRecord Class")
433*48a54d36SAndroid Build Coastguard Worker
434*48a54d36SAndroid Build Coastguard Worker	]
435*48a54d36SAndroid Build Coastguard Worker
436*48a54d36SAndroid Build Coastguard Worker	coclass TXTRecord
437*48a54d36SAndroid Build Coastguard Worker
438*48a54d36SAndroid Build Coastguard Worker	{
439*48a54d36SAndroid Build Coastguard Worker
440*48a54d36SAndroid Build Coastguard Worker		[default] interface ITXTRecord;
441*48a54d36SAndroid Build Coastguard Worker
442*48a54d36SAndroid Build Coastguard Worker	};
443*48a54d36SAndroid Build Coastguard Worker
444*48a54d36SAndroid Build Coastguard Worker	[
445*48a54d36SAndroid Build Coastguard Worker
446*48a54d36SAndroid Build Coastguard Worker		uuid(5E93C5A9-7516-4259-A67B-41A656F6E01C),
447*48a54d36SAndroid Build Coastguard Worker
448*48a54d36SAndroid Build Coastguard Worker		helpstring("DNSSDRecord Class")
449*48a54d36SAndroid Build Coastguard Worker
450*48a54d36SAndroid Build Coastguard Worker	]
451*48a54d36SAndroid Build Coastguard Worker
452*48a54d36SAndroid Build Coastguard Worker	coclass DNSSDRecord
453*48a54d36SAndroid Build Coastguard Worker
454*48a54d36SAndroid Build Coastguard Worker	{
455*48a54d36SAndroid Build Coastguard Worker
456*48a54d36SAndroid Build Coastguard Worker		[default] interface IDNSSDRecord;
457*48a54d36SAndroid Build Coastguard Worker
458*48a54d36SAndroid Build Coastguard Worker	};
459*48a54d36SAndroid Build Coastguard Worker
460*48a54d36SAndroid Build Coastguard Worker	[
461*48a54d36SAndroid Build Coastguard Worker
462*48a54d36SAndroid Build Coastguard Worker		uuid(BEEB932A-8D4A-4619-AEFE-A836F988B221),
463*48a54d36SAndroid Build Coastguard Worker
464*48a54d36SAndroid Build Coastguard Worker		helpstring("DNSSDEventManager Class")
465*48a54d36SAndroid Build Coastguard Worker
466*48a54d36SAndroid Build Coastguard Worker	]
467*48a54d36SAndroid Build Coastguard Worker
468*48a54d36SAndroid Build Coastguard Worker	coclass DNSSDEventManager
469*48a54d36SAndroid Build Coastguard Worker
470*48a54d36SAndroid Build Coastguard Worker	{
471*48a54d36SAndroid Build Coastguard Worker
472*48a54d36SAndroid Build Coastguard Worker		[default] interface IDNSSDEventManager;
473*48a54d36SAndroid Build Coastguard Worker
474*48a54d36SAndroid Build Coastguard Worker		[default, source] dispinterface _IDNSSDEvents;
475*48a54d36SAndroid Build Coastguard Worker
476*48a54d36SAndroid Build Coastguard Worker	};
477*48a54d36SAndroid Build Coastguard Worker
478*48a54d36SAndroid Build Coastguard Worker	enum DNSSDFlags;
479*48a54d36SAndroid Build Coastguard Worker
480*48a54d36SAndroid Build Coastguard Worker	enum DNSSDAddressFamily;
481*48a54d36SAndroid Build Coastguard Worker
482*48a54d36SAndroid Build Coastguard Worker	enum DNSSDProtocol;
483*48a54d36SAndroid Build Coastguard Worker
484*48a54d36SAndroid Build Coastguard Worker	enum DNSSDRRClass;
485*48a54d36SAndroid Build Coastguard Worker
486*48a54d36SAndroid Build Coastguard Worker	enum DNSSDRRType;
487*48a54d36SAndroid Build Coastguard Worker
488*48a54d36SAndroid Build Coastguard Worker	enum DNSSDError;
489*48a54d36SAndroid Build Coastguard Worker
490*48a54d36SAndroid Build Coastguard Worker};
491*48a54d36SAndroid Build Coastguard Worker
492