diff options
Diffstat (limited to 'mDNSResponder/mDNSWindows/DLLX/DLLX.idl')
-rwxr-xr-x | mDNSResponder/mDNSWindows/DLLX/DLLX.idl | 491 |
1 files changed, 491 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSWindows/DLLX/DLLX.idl b/mDNSResponder/mDNSWindows/DLLX/DLLX.idl new file mode 100755 index 00000000..e44865b8 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DLLX/DLLX.idl @@ -0,0 +1,491 @@ +/* -*- Mode: C; tab-width: 4 -*- + * + * Copyright (c) 2009-2013 Apple Computer, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +// This file will be processed by the MIDL tool to + +// produce the type library (DLLComponent.tlb) and marshalling code. + + + +typedef [ uuid(4085DD59-D0E1-4efe-B6EE-DDBF7631B9C0) ] + +enum DNSSDFlags + +{ + + kDNSSDFlagsMoreComing = 0x0001, + + kDNSSDFlagsDefault = 0x0004, + + kDNSSDFlagsNoAutoRename = 0x0008, + + kDNSSDFlagsShared = 0x0010, + + kDNSSDFlagsUnique = 0x0020, + + kDNSSDFlagsBrowseDomains = 0x0040, + + kDNSSDFlagsRegistrationDomains = 0x0080, + + kDNSSDFlagsLongLivedQuery = 0x0100, + + kDNSSDFlagsAllowRemoteQuery = 0x0200, + + kDNSSDFlagsForceMulticast = 0x0400, + + kDNSSDFlagsForce = 0x0800, + + kDNSSDFlagsReturnIntermediates = 0x1000, + + kDNSSDFlagsNonBrowsable = 0x2000 + +} DNSSDFlags; + + + + + +typedef [ uuid(30CDF335-CA52-4b17-AFF2-E83C64C450D4) ] + +enum DNSSDAddressFamily + +{ + + kDNSSDAddressFamily_IPv4 = 0x1, + + kDNSSDAddressFamily_IPv6 = 0x2 + +} DNSSDAddressFamily; + + + + + +typedef [ uuid(98FB4702-7374-4b16-A8DB-AD35BFB8364D) ] + +enum DNSSDProtocol + +{ + + kDNSSDProtocol_UDP = 0x10, + + kDNSSDProtocol_TCP = 0x20 + +} DNSSDProtocol; + + + + + +typedef [ uuid(72BF3EC3-19BC-47e5-8D95-3B73FF37D893) ] + +enum DNSSDRRClass + +{ + + kDNSSDClass_IN = 1 + +} DNSSDRRClass; + + + + + +typedef [ uuid(08E362DF-5468-4c9a-AC66-FD4747B917BD) ] + +enum DNSSDRRType + +{ + + kDNSSDType_A = 1, + kDNSSDType_NS = 2, + kDNSSDType_MD = 3, + kDNSSDType_MF = 4, + kDNSSDType_CNAME = 5, + kDNSSDType_SOA = 6, + kDNSSDType_MB = 7, + kDNSSDType_MG = 8, + kDNSSDType_MR = 9, + kDNSSDType_NULL = 10, + kDNSSDType_WKS = 11, + kDNSSDType_PTR = 12, + kDNSSDType_HINFO = 13, + kDNSSDType_MINFO = 14, + kDNSSDType_MX = 15, + kDNSSDType_TXT = 16, + kDNSSDType_RP = 17, + kDNSSDType_AFSDB = 18, + kDNSSDType_X25 = 19, + kDNSSDType_ISDN = 20, + kDNSSDType_RT = 21, + kDNSSDType_NSAP = 22, + kDNSSDType_NSAP_PTR = 23, + kDNSSDType_SIG = 24, + kDNSSDType_KEY = 25, + kDNSSDType_PX = 26, + kDNSSDType_GPOS = 27, + kDNSSDType_AAAA = 28, + kDNSSDType_LOC = 29, + kDNSSDType_NXT = 30, + kDNSSDType_EID = 31, + kDNSSDType_NIMLOC = 32, + kDNSSDType_SRV = 33, + kDNSSDType_ATMA = 34, + kDNSSDType_NAPTR = 35, + kDNSSDType_KX = 36, + kDNSSDType_CERT = 37, + kDNSSDType_A6 = 38, + kDNSSDType_DNAME = 39, + kDNSSDType_SINK = 40, + kDNSSDType_OPT = 41, + kDNSSDType_APL = 42, + kDNSSDType_DS = 43, + kDNSSDType_SSHFP = 44, + kDNSSDType_IPSECKEY = 45, + kDNSSDType_RRSIG = 46, + kDNSSDType_NSEC = 47, + kDNSSDType_DNSKEY = 48, + kDNSSDType_DHCID = 49, + kDNSSDType_NSEC3 = 50, + kDNSSDType_NSEC3PARAM= 51, + kDNSSDType_HIP = 55, + kDNSSDType_SPF = 99, + kDNSSDType_UINFO = 100, + kDNSSDType_UID = 101, + kDNSSDType_GID = 102, + kDNSSDType_UNSPEC = 103, + kDNSSDType_TKEY = 249, + kDNSSDType_TSIG = 250, + kDNSSDType_IXFR = 251, + kDNSSDType_AXFR = 252, + kDNSSDType_MAILB = 253, + kDNSSDType_MAILA = 254, + kDNSSDType_ANY = 255 + +} DNSSDRRType; + + + + + +typedef [ uuid(3B0059E7-5297-4301-9AAB-1522F31EC8A7) ] + +enum DNSSDError +{ + kDNSSDError_NoError = 0, + kDNSSDError_Unknown = -65537, + kDNSSDError_NoSuchName = -65538, + kDNSSDError_NoMemory = -65539, + kDNSSDError_BadParam = -65540, + kDNSSDError_BadReference = -65541, + kDNSSDError_BadState = -65542, + kDNSSDError_BadFlags = -65543, + kDNSSDError_Unsupported = -65544, + kDNSSDError_NotInitialized = -65545, + kDNSSDError_AlreadyRegistered = -65547, + kDNSSDError_NameConflict = -65548, + kDNSSDError_Invalid = -65549, + kDNSSDError_Firewall = -65550, + kDNSSDError_Incompatible = -65551, + kDNSSDError_BadInterfaceIndex = -65552, + kDNSSDError_Refused = -65553, + kDNSSDError_NoSuchRecord = -65554, + kDNSSDError_NoAuth = -65555, + kDNSSDError_NoSuchKey = -65556, + kDNSSDError_NATTraversal = -65557, + kDNSSDError_DoubleNAT = -65558, + kDNSSDError_BadTime = -65559, + kDNSSDError_BadSig = -65560, + kDNSSDError_BadKey = -65561, + kDNSSDError_Transient = -65562, + kDNSSDError_ServiceNotRunning = -65563, /* Background daemon not running */ + kDNSSDError_NATPortMappingUnsupported = -65564, /* NAT doesn't support PCP, NAT-PMP or UPnP */ + kDNSSDError_NATPortMappingDisabled = -65565, /* NAT supports PCP, NAT-PMP or UPnP, but it's disabled by the administrator */ + kDNSSDError_NoRouter = -65566, /* No router currently configured (probably no network connectivity) */ + kDNSSDError_PollingMode = -65567 +} DNSSDError; + + + +import "oaidl.idl"; + +import "ocidl.idl"; + + + + + +[ + + object, + + uuid(8FA0889C-5973-4FC9-970B-EC15C925D0CE), + + dual, + + nonextensible, + + helpstring("ITXTRecord Interface"), + + pointer_default(unique) + +] + +interface ITXTRecord : IDispatch{ + + [id(1), helpstring("method SetValue")] HRESULT SetValue([in] BSTR key, [in] VARIANT value); + + [id(2), helpstring("method RemoveValue")] HRESULT RemoveValue([in] BSTR key); + + [id(3), helpstring("method ContainsKey")] HRESULT ContainsKey([in] BSTR key, [out,retval] VARIANT_BOOL* retval); + + [id(4), helpstring("method GetValueForKey")] HRESULT GetValueForKey([in] BSTR key, [out,retval] VARIANT* value); + + [id(5), helpstring("method GetCount")] HRESULT GetCount([out,retval] ULONG* count); + + [id(6), helpstring("method GetKeyAtIndex")] HRESULT GetKeyAtIndex([in] ULONG index, [out,retval] BSTR* retval); + + [id(7), helpstring("method GetValueAtIndex")] HRESULT GetValueAtIndex([in] ULONG index, [out,retval] VARIANT* retval); + +}; + +[ + + object, + + uuid(9CE603A0-3365-4DA0-86D1-3F780ECBA110), + + dual, + + nonextensible, + + helpstring("IDNSSDRecord Interface"), + + pointer_default(unique) + +] + +interface IDNSSDRecord : IDispatch{ + + [id(1), helpstring("method Update")] HRESULT Update([in] DNSSDFlags flags, [in] VARIANT rdata, [in] ULONG ttl); + + [id(2), helpstring("method Remove")] HRESULT Remove([in] DNSSDFlags flags); + +}; + +[ + + object, + + uuid(7FD72324-63E1-45AD-B337-4D525BD98DAD), + + dual, + + nonextensible, + + helpstring("IDNSSDEventManager Interface"), + + pointer_default(unique) + +] + +interface IDNSSDEventManager : IDispatch{ + +}; + +[ + + object, + + uuid(29DE265F-8402-474F-833A-D4653B23458F), + + dual, + + nonextensible, + + helpstring("IDNSSDService Interface"), + + pointer_default(unique) + +] + +interface IDNSSDService : IDispatch{ + + [id(1), helpstring("method EnumerateDomains")] HRESULT EnumerateDomains([in] DNSSDFlags flags, [in] ULONG ifIndex, [in] IDNSSDEventManager* eventManager, [out,retval] IDNSSDService** service); + + [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); + + [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); + + [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); + + [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); + + [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); + + [id(7), helpstring("method AddRecord")] HRESULT AddRecord([in] DNSSDFlags flags, [in] DNSSDRRType rrtype, [in] VARIANT rdata, [in] ULONG ttl, [out,retval] IDNSSDRecord** record); + + [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); + + [id(9), helpstring("method GetProperty")] HRESULT GetProperty([in] BSTR prop, [in,out] VARIANT * value ); + + [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); + + [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); + + [id(12), helpstring("method Stop"), local] HRESULT Stop(void); + +}; + +[ + + uuid(18FBED6D-F2B7-4EC8-A4A4-46282E635308), + + version(1.0), + + helpstring("Apple Bonjour Library 1.0") + +] + +library Bonjour + +{ + + importlib("stdole2.tlb"); + + [ + + uuid(21AE8D7F-D5FE-45cf-B632-CFA2C2C6B498), + + helpstring("_IDNSSDEvents Interface") + + ] + + dispinterface _IDNSSDEvents + + { + + properties: + + methods: + + [id(1), helpstring("method DomainFound")] void DomainFound([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR domain); + + [id(2), helpstring("method DomainLost")] void DomainLost([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] ULONG ifIndex, [in] BSTR domain); + + [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); + + [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); + + [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); + + [id(6), helpstring("method ServiceRegistered")] void ServiceRegistered([in] IDNSSDService* service, [in] DNSSDFlags flags, [in] BSTR name, [in] BSTR regType, [in] BSTR domain); + + [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); + + [id(8), helpstring("method RecordRegistered")] void RecordRegistered([in] IDNSSDRecord* record, [in] DNSSDFlags flags); + + [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); + + [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); + + [id(11), helpstring("method OperationFailed")] void OperationFailed([in] IDNSSDService* service, [in] DNSSDError error); + + }; + + [ + + uuid(24CD4DE9-FF84-4701-9DC1-9B69E0D1090A), + + helpstring("DNSSDService Class") + + ] + + coclass DNSSDService + + { + + [default] interface IDNSSDService; + + }; + + [ + + uuid(AFEE063C-05BA-4248-A26E-168477F49734), + + helpstring("TXTRecord Class") + + ] + + coclass TXTRecord + + { + + [default] interface ITXTRecord; + + }; + + [ + + uuid(5E93C5A9-7516-4259-A67B-41A656F6E01C), + + helpstring("DNSSDRecord Class") + + ] + + coclass DNSSDRecord + + { + + [default] interface IDNSSDRecord; + + }; + + [ + + uuid(BEEB932A-8D4A-4619-AEFE-A836F988B221), + + helpstring("DNSSDEventManager Class") + + ] + + coclass DNSSDEventManager + + { + + [default] interface IDNSSDEventManager; + + [default, source] dispinterface _IDNSSDEvents; + + }; + + enum DNSSDFlags; + + enum DNSSDAddressFamily; + + enum DNSSDProtocol; + + enum DNSSDRRClass; + + enum DNSSDRRType; + + enum DNSSDError; + +}; + |