mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
257 lines
6.7 KiB
Diff
257 lines
6.7 KiB
Diff
From dec395793651dfe805fcfb7e1443a2a57fcfb4b5 Mon Sep 17 00:00:00 2001
|
|
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
|
Date: Fri, 31 Aug 2018 15:22:03 +1000
|
|
Subject: [PATCH 1/5] include: Add natupnp.idl
|
|
|
|
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
|
---
|
|
include/Makefile.in | 1 +
|
|
include/natupnp.idl | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
2 files changed, 224 insertions(+)
|
|
create mode 100644 include/natupnp.idl
|
|
|
|
diff --git a/include/Makefile.in b/include/Makefile.in
|
|
index ffecb98..741af54 100644
|
|
--- a/include/Makefile.in
|
|
+++ b/include/Makefile.in
|
|
@@ -453,6 +453,7 @@ SOURCES = \
|
|
msxmldid.h \
|
|
mtxdm.h \
|
|
multimon.h \
|
|
+ natupnp.idl \
|
|
nb30.h \
|
|
ncrypt.h \
|
|
ndrtypes.h \
|
|
diff --git a/include/natupnp.idl b/include/natupnp.idl
|
|
new file mode 100644
|
|
index 0000000..9dbccf2
|
|
--- /dev/null
|
|
+++ b/include/natupnp.idl
|
|
@@ -0,0 +1,223 @@
|
|
+/*
|
|
+ * Copyright 2018 Alistair Leslie-Hughes
|
|
+ *
|
|
+ * This library is free software; you can redistribute it and/or
|
|
+ * modify it under the terms of the GNU Lesser General Public
|
|
+ * License as published by the Free Software Foundation; either
|
|
+ * version 2.1 of the License, or (at your option) any later version.
|
|
+ *
|
|
+ * This library is distributed in the hope that it will be useful,
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
+ * Lesser General Public License for more details.
|
|
+ *
|
|
+ * You should have received a copy of the GNU Lesser General Public
|
|
+ * License along with this library; if not, write to the Free Software
|
|
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
+ */
|
|
+import "oaidl.idl";
|
|
+import "ocidl.idl";
|
|
+
|
|
+#if !defined(progid) && !defined(__WIDL__)
|
|
+#define threading(model)
|
|
+#define progid(str)
|
|
+#define vi_progid(str)
|
|
+#endif
|
|
+
|
|
+[
|
|
+ object,
|
|
+ uuid(6F10711F-729B-41E5-93B8-F21D0F818DF1),
|
|
+ dual,
|
|
+ pointer_default(unique)
|
|
+]
|
|
+interface IStaticPortMapping : IDispatch
|
|
+{
|
|
+ [propget, id(1)]
|
|
+ HRESULT ExternalIPAddress ([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(2)]
|
|
+ HRESULT ExternalPort([out, retval] long *value);
|
|
+
|
|
+ [propget, id(3)]
|
|
+ HRESULT InternalPort([out, retval] long *value);
|
|
+
|
|
+ [propget, id(4)]
|
|
+ HRESULT Protocol([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(5)]
|
|
+ HRESULT InternalClient([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(6)]
|
|
+ HRESULT Enabled([out, retval] VARIANT_BOOL *value);
|
|
+
|
|
+ [propget, id(7)]
|
|
+ HRESULT Description([out, retval] BSTR *value);
|
|
+
|
|
+ [id(8)]
|
|
+ HRESULT EditInternalClient ([in] BSTR client);
|
|
+
|
|
+ [id(9)]
|
|
+ HRESULT Enable ([in] VARIANT_BOOL enable);
|
|
+
|
|
+ [id(10)]
|
|
+ HRESULT EditDescription ([in] BSTR description);
|
|
+
|
|
+ [id(11)]
|
|
+ HRESULT EditInternalPort ([in] long port);
|
|
+};
|
|
+
|
|
+[
|
|
+ object,
|
|
+ uuid(cd1f3e77-66d6-4664-82c7-36dbb641d0f1),
|
|
+ dual,
|
|
+ pointer_default(unique)
|
|
+]
|
|
+interface IStaticPortMappingCollection : IDispatch
|
|
+{
|
|
+ [propget, id(DISPID_NEWENUM), hidden, restricted]
|
|
+ HRESULT _NewEnum([out, retval] IUnknown **value);
|
|
+
|
|
+ [propget, id(DISPID_VALUE)]
|
|
+ HRESULT Item([in] long port, [in] BSTR protocol, [out, retval] IStaticPortMapping **mapping);
|
|
+
|
|
+ [propget, id(1)]
|
|
+ HRESULT Count([out, retval] long *value);
|
|
+
|
|
+ [id(2)]
|
|
+ HRESULT Remove([in] long port, [in] BSTR protocol);
|
|
+
|
|
+ [id(3)]
|
|
+ HRESULT Add([in] long external, [in] BSTR protocol, [in] long internal, [in] BSTR client,
|
|
+ [in] VARIANT_BOOL enabled, [in] BSTR description, [out, retval] IStaticPortMapping **mapping);
|
|
+};
|
|
+
|
|
+[
|
|
+ object,
|
|
+ uuid(4FC80282-23B6-4378-9A27-CD8F17C9400C),
|
|
+ dual,
|
|
+ pointer_default(unique)
|
|
+]
|
|
+interface IDynamicPortMapping : IDispatch
|
|
+{
|
|
+ [propget, id(1)]
|
|
+ HRESULT ExternalIPAddress ([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(2)]
|
|
+ HRESULT RemoteHost ([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(3)]
|
|
+ HRESULT ExternalPort([out, retval] long *value);
|
|
+
|
|
+ [propget, id(4)]
|
|
+ HRESULT Protocol([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(5)]
|
|
+ HRESULT InternalPort([out, retval] long *value);
|
|
+
|
|
+ [propget, id(6)]
|
|
+ HRESULT InternalClient([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(7)]
|
|
+ HRESULT Enabled([out, retval] VARIANT_BOOL *value);
|
|
+
|
|
+ [propget, id(8)]
|
|
+ HRESULT Description([out, retval] BSTR *value);
|
|
+
|
|
+ [propget, id(9)]
|
|
+ HRESULT LeaseDuration([out, retval] long *value);
|
|
+
|
|
+ [id(10)]
|
|
+ HRESULT RenewLease([in] long desired, [out, retval] long *duration);
|
|
+
|
|
+ [id(11)]
|
|
+ HRESULT EditInternalClient ([in] BSTR client);
|
|
+
|
|
+ [id(12)]
|
|
+ HRESULT Enable ([in] VARIANT_BOOL enabled);
|
|
+
|
|
+ [id(13)]
|
|
+ HRESULT EditDescription ([in] BSTR description);
|
|
+
|
|
+ [id(14)]
|
|
+ HRESULT EditInternalPort ([in] long port);
|
|
+};
|
|
+
|
|
+[
|
|
+ object,
|
|
+ uuid(b60de00f-156e-4e8d-9ec1-3a2342c10899),
|
|
+ dual,
|
|
+ pointer_default(unique)
|
|
+]
|
|
+interface IDynamicPortMappingCollection : IDispatch
|
|
+{
|
|
+ [propget, id(DISPID_NEWENUM), hidden, restricted]
|
|
+ HRESULT _NewEnum([out, retval] IUnknown **value);
|
|
+
|
|
+ [propget, id(DISPID_VALUE)]
|
|
+ HRESULT Item([in] BSTR host, [in] long port, [in] BSTR orotocol,
|
|
+ [out, retval] IDynamicPortMapping **mapping);
|
|
+
|
|
+ [propget, id(1)]
|
|
+ HRESULT Count([out, retval] long *value);
|
|
+
|
|
+ [id(2)]
|
|
+ HRESULT Remove([in] BSTR host, [in] long port, [in] BSTR protocol);
|
|
+
|
|
+ [id(3)]
|
|
+ HRESULT Add([in] BSTR host, [in] long port, [in] BSTR protocol, [in] long internal,
|
|
+ [in] BSTR client, [in] VARIANT_BOOL enabled, [in] BSTR Description,
|
|
+ [in] long duration, [out, retval] IDynamicPortMapping **mapping);
|
|
+};
|
|
+
|
|
+[
|
|
+ object,
|
|
+ uuid(624bd588-9060-4109-b0b0-1adbbcac32df),
|
|
+ dual,
|
|
+ pointer_default(unique)
|
|
+]
|
|
+interface INATEventManager : IDispatch
|
|
+{
|
|
+ [id(1), propput]
|
|
+ HRESULT ExternalIPAddressCallback ([in] IUnknown *unk);
|
|
+
|
|
+ [id(2), propput]
|
|
+ HRESULT NumberOfEntriesCallback ([in] IUnknown *unk);
|
|
+};
|
|
+
|
|
+[
|
|
+ object,
|
|
+ uuid(b171c812-cc76-485a-94d8-b6b3a2794e99),
|
|
+ dual,
|
|
+ pointer_default(unique)
|
|
+]
|
|
+interface IUPnPNAT : IDispatch
|
|
+{
|
|
+ [propget, id(1)]
|
|
+ HRESULT StaticPortMappingCollection ([out, retval] IStaticPortMappingCollection **collection);
|
|
+
|
|
+ [propget, id(2)]
|
|
+ HRESULT DynamicPortMappingCollection ([out, retval] IDynamicPortMappingCollection **collection);
|
|
+
|
|
+ [propget, id(3)]
|
|
+ HRESULT NATEventManager ([out, retval] INATEventManager **manager);
|
|
+};
|
|
+
|
|
+[
|
|
+ uuid(1c565858-f302-471e-b409-f180aa4abec6),
|
|
+ version(1.0)
|
|
+]
|
|
+library NATUPNPLib
|
|
+{
|
|
+ importlib("stdole2.tlb");
|
|
+
|
|
+ [
|
|
+ vi_progid("HNetCfg.NATUPnP"),
|
|
+ progid("HNetCfg.NATUPnP.1"),
|
|
+ threading(both),
|
|
+ uuid(ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1)
|
|
+ ]
|
|
+ coclass UPnPNAT
|
|
+ {
|
|
+ [default] interface IUPnPNAT;
|
|
+ };
|
|
+};
|
|
--
|
|
1.9.1
|
|
|