From bcbe4ae756f44109f858475e1e5dc1e465c515cb Mon Sep 17 00:00:00 2001 From: Owen Rudge Date: Tue, 30 May 2017 23:06:06 +0100 Subject: [PATCH] include: Add definitions for IWSDUdpAddress, IWSDTransportAddress. Signed-off-by: Owen Rudge Signed-off-by: Alexandre Julliard --- include/wsdbase.idl | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/include/wsdbase.idl b/include/wsdbase.idl index c93262daa88..099dc874d0d 100644 --- a/include/wsdbase.idl +++ b/include/wsdbase.idl @@ -22,8 +22,21 @@ cpp_quote("#define WSDAPI_ADDRESSFAMILY_IPV4 1") cpp_quote("#define WSDAPI_ADDRESSFAMILY_IPV6 2") interface IWSDAddress; +interface IWSDUdpAddress; interface IWSDMessageParameters; +cpp_quote("HRESULT WINAPI WSDCreateUdpAddress(IWSDUdpAddress **ppAddress);") + +#ifndef SOCKADDR_STORAGE +cpp_quote("#if 1") +cpp_quote("#ifndef __CSADDR_DEFINED__") +cpp_quote("typedef struct SOCKADDR_STORAGE SOCKADDR_STORAGE;") +cpp_quote("#endif") +cpp_quote("#else") +typedef void SOCKADDR_STORAGE; +cpp_quote("#endif") +#endif + [ uuid(b9574c6c-12a6-4f74-93a1-3318ff605759), object, @@ -35,6 +48,45 @@ interface IWSDAddress : IUnknown HRESULT Deserialize([in] LPCWSTR pszBuffer); } +[ +uuid(70d23498-4ee6-4340-a3df-d845d2235467), +object, +local +] +interface IWSDTransportAddress : IWSDAddress +{ + HRESULT GetPort([out] WORD *pwPort); + HRESULT SetPort([in] WORD wPort); + HRESULT GetTransportAddress([out] LPCWSTR *ppszAddress); + HRESULT GetTransportAddressEx([in] BOOL fSafe, [out] LPCWSTR *ppszAddress); + HRESULT SetTransportAddress([in] LPCWSTR pszAddress); +} + +typedef enum _WSDUdpMessageType +{ + ONE_WAY, + TWO_WAY +} WSDUdpMessageType; + +[ +uuid(74d6124a-a441-4f78-a1eb-97a8d1996893), +object, +local +] +interface IWSDUdpAddress : IWSDTransportAddress +{ + HRESULT SetSockaddr([in] const SOCKADDR_STORAGE *pSockAddr); + HRESULT GetSockaddr([out] SOCKADDR_STORAGE *pSockAddr); + HRESULT SetExclusive(BOOL fExclusive); + HRESULT GetExclusive(); + HRESULT SetMessageType([in] WSDUdpMessageType messageType); + HRESULT GetMessageType([out] WSDUdpMessageType* pMessageType); + HRESULT SetTTL([in] DWORD dwTTL); + HRESULT GetTTL([out] DWORD *pdwTTL); + HRESULT SetAlias([in] const GUID* pAlias); + HRESULT GetAlias([out] GUID *pAlias); +} + [ uuid(1fafe8a2-e6fc-4b80-b6cf-b7d45c416d7c), object