ReactOS  0.4.14-dev-323-g6fe6a88
natupnp.idl
Go to the documentation of this file.
1 /*
2  * Copyright 2018 Alistair Leslie-Hughes
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 import "oaidl.idl";
19 import "ocidl.idl";
20 
21 #if !defined(progid) && !defined(__WIDL__)
22 #define threading(model)
23 #define progid(str)
24 #define vi_progid(str)
25 #endif
26 
27 [
28  object,
29  uuid(6F10711F-729B-41E5-93B8-F21D0F818DF1),
30  dual,
32 ]
34 {
35  [propget, id(1)]
36  HRESULT ExternalIPAddress ([out, retval] BSTR *value);
37 
38  [propget, id(2)]
39  HRESULT ExternalPort([out, retval] long *value);
40 
41  [propget, id(3)]
42  HRESULT InternalPort([out, retval] long *value);
43 
44  [propget, id(4)]
45  HRESULT Protocol([out, retval] BSTR *value);
46 
47  [propget, id(5)]
48  HRESULT InternalClient([out, retval] BSTR *value);
49 
50  [propget, id(6)]
51  HRESULT Enabled([out, retval] VARIANT_BOOL *value);
52 
53  [propget, id(7)]
54  HRESULT Description([out, retval] BSTR *value);
55 
56  [id(8)]
58 
59  [id(9)]
61 
62  [id(10)]
64 
65  [id(11)]
67 };
68 
69 [
70  object,
71  uuid(cd1f3e77-66d6-4664-82c7-36dbb641d0f1),
72  dual,
74 ]
76 {
77  [propget, id(DISPID_NEWENUM), hidden, restricted]
78  HRESULT _NewEnum([out, retval] IUnknown **value);
79 
80  [propget, id(DISPID_VALUE)]
81  HRESULT Item([in] long port, [in] BSTR protocol, [out, retval] IStaticPortMapping **mapping);
82 
83  [propget, id(1)]
84  HRESULT Count([out, retval] long *value);
85 
86  [id(2)]
87  HRESULT Remove([in] long port, [in] BSTR protocol);
88 
89  [id(3)]
90  HRESULT Add([in] long external, [in] BSTR protocol, [in] long internal, [in] BSTR client,
92 };
93 
94 [
95  object,
96  uuid(4FC80282-23B6-4378-9A27-CD8F17C9400C),
97  dual,
99 ]
101 {
102  [propget, id(1)]
103  HRESULT ExternalIPAddress ([out, retval] BSTR *value);
104 
105  [propget, id(2)]
106  HRESULT RemoteHost ([out, retval] BSTR *value);
107 
108  [propget, id(3)]
109  HRESULT ExternalPort([out, retval] long *value);
110 
111  [propget, id(4)]
112  HRESULT Protocol([out, retval] BSTR *value);
113 
114  [propget, id(5)]
115  HRESULT InternalPort([out, retval] long *value);
116 
117  [propget, id(6)]
118  HRESULT InternalClient([out, retval] BSTR *value);
119 
120  [propget, id(7)]
121  HRESULT Enabled([out, retval] VARIANT_BOOL *value);
122 
123  [propget, id(8)]
124  HRESULT Description([out, retval] BSTR *value);
125 
126  [propget, id(9)]
127  HRESULT LeaseDuration([out, retval] long *value);
128 
129  [id(10)]
130  HRESULT RenewLease([in] long desired, [out, retval] long *duration);
131 
132  [id(11)]
134 
135  [id(12)]
137 
138  [id(13)]
140 
141  [id(14)]
142  HRESULT EditInternalPort ([in] long port);
143 };
144 
145 [
146  object,
147  uuid(b60de00f-156e-4e8d-9ec1-3a2342c10899),
148  dual,
150 ]
152 {
153  [propget, id(DISPID_NEWENUM), hidden, restricted]
154  HRESULT _NewEnum([out, retval] IUnknown **value);
155 
156  [propget, id(DISPID_VALUE)]
157  HRESULT Item([in] BSTR host, [in] long port, [in] BSTR orotocol,
158  [out, retval] IDynamicPortMapping **mapping);
159 
160  [propget, id(1)]
161  HRESULT Count([out, retval] long *value);
162 
163  [id(2)]
164  HRESULT Remove([in] BSTR host, [in] long port, [in] BSTR protocol);
165 
166  [id(3)]
167  HRESULT Add([in] BSTR host, [in] long port, [in] BSTR protocol, [in] long internal,
169  [in] long duration, [out, retval] IDynamicPortMapping **mapping);
170 };
171 
172 [
173  object,
174  uuid(624bd588-9060-4109-b0b0-1adbbcac32df),
175  dual,
177 ]
179 {
180  [id(1), propput]
182 
183  [id(2), propput]
185 };
186 
187 [
188  object,
189  uuid(b171c812-cc76-485a-94d8-b6b3a2794e99),
190  dual,
192 ]
193 interface IUPnPNAT : IDispatch
194 {
195  [propget, id(1)]
197 
198  [propget, id(2)]
200 
201  [propget, id(3)]
202  HRESULT NATEventManager ([out, retval] INATEventManager **manager);
203 };
204 
205 [
206  id(2),
207  uuid(1c565858-f302-471e-b409-f180aa4abec6),
208  version(1.0)
209 ]
211 {
212  importlib("stdole2.tlb");
213 
214  [
215  vi_progid("HNetCfg.NATUPnP"),
216  progid("HNetCfg.NATUPnP.1"),
218  uuid(ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1)
219  ]
220  coclass UPnPNAT
221  {
222  [default] interface IUPnPNAT;
223  };
224 };
IUnknown ExternalIPAddressCallback
HRESULT EditDescription([in] BSTR description)
coclass SHDocVw::ShellWindows dual
Definition: exdisp.idl:631
IStaticPortMapping Item([in] long port, [in] BSTR protocol)
int desired
Definition: jpeglib.h:1116
char * host
Definition: whois.c:55
OLECHAR * BSTR
Definition: compat.h:1934
static const WCHAR Description[]
Definition: oid.c:1266
const char * description
Definition: directx.c:2497
FT_Library library
Definition: cffdrivr.c:654
const DISPID DISPID_VALUE
Definition: oaidl.idl:573
IStaticPortMappingCollection StaticPortMappingCollection
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
short VARIANT_BOOL
Definition: compat.h:1931
__u32 hidden
Definition: mkdosfs.c:371
HRESULT Enable([in] VARIANT_BOOL enabled)
#define e
Definition: ke_i.h:82
const DISPID DISPID_NEWENUM
Definition: oaidl.idl:575
#define progid(str)
Definition: natupnp.idl:23
HRESULT EditInternalClient([in] BSTR client)
static const WCHAR version[]
Definition: asmname.c:66
VARIANT_BOOL Enabled
HRESULT EditInternalPort([in] long port)
LONG HRESULT
Definition: typedefs.h:77
const GLubyte * c
Definition: glext.h:8905
static FILE * client
Definition: client.c:41
static FILE * out
Definition: regtests2xml.c:44
HRESULT EditDescription([in] BSTR description)
GLenum GLenum GLenum GLenum mapping
Definition: glext.h:9031
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)
HRESULT Remove([in] long port, [in] BSTR protocol)
IUnknown NumberOfEntriesCallback
#define threading(model)
Definition: natupnp.idl:22
IDynamicPortMappingCollection DynamicPortMappingCollection
VARIANT_BOOL Enabled
#define vi_progid(str)
Definition: natupnp.idl:24
GLboolean enable
Definition: glext.h:11120
HRESULT RenewLease([in] long desired, [out, retval] long *duration)
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)
GLuint in
Definition: glext.h:9616
static unsigned char pointer_default
Definition: parser.tab.c:114
static ICollection collection
Definition: typelib.c:184
#define B(row, col)
HRESULT EditInternalClient([in] BSTR client)
IDynamicPortMapping Item([in] BSTR host, [in] long port, [in] BSTR orotocol)
importlib("stdole2.tlb")
GLenum GLuint id
Definition: glext.h:5579
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
HRESULT Remove([in] BSTR host, [in] long port, [in] BSTR protocol)
USHORT port
Definition: uri.c:227
void * object
Definition: jmemsys.h:48
INATEventManager NATEventManager
HRESULT EditInternalPort([in] long port)
HRESULT Enable([in] VARIANT_BOOL enable)