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