1 | /*
|
---|
2 | * Copyright 2007 Jeff Latimer
|
---|
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 | *****************************************************************************
|
---|
19 | *
|
---|
20 | * The firewall management interface
|
---|
21 | *
|
---|
22 | */
|
---|
23 |
|
---|
24 | /*
|
---|
25 | * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
26 | * other than GPL or LGPL is available it will apply instead, Sun elects to use only
|
---|
27 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
28 | * a choice of LGPL license versions is made available with the language indicating
|
---|
29 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
30 | * of the LGPL is applied is otherwise unspecified.
|
---|
31 | */
|
---|
32 |
|
---|
33 | import "icftypes.idl";
|
---|
34 | import "oaidl.idl";
|
---|
35 |
|
---|
36 | [
|
---|
37 | object,
|
---|
38 | uuid(A6207B2E-7CDD-426A-951E-5E1CBC5AFEAD),
|
---|
39 | dual
|
---|
40 | ]
|
---|
41 | interface INetFwIcmpSettings : IDispatch
|
---|
42 | {
|
---|
43 | [id(1), propget]
|
---|
44 | HRESULT AllowOutboundDestinationUnreachable([out, retval] VARIANT_BOOL* allow);
|
---|
45 |
|
---|
46 | [id(1), propput]
|
---|
47 | HRESULT AllowOutboundDestinationUnreachable( [in] VARIANT_BOOL allow );
|
---|
48 |
|
---|
49 | [id(2), propget]
|
---|
50 | HRESULT AllowRedirect( [out, retval] VARIANT_BOOL* allow );
|
---|
51 |
|
---|
52 | [id(2), propput]
|
---|
53 | HRESULT AllowRedirect( [in] VARIANT_BOOL allow );
|
---|
54 |
|
---|
55 | [id(3), propget]
|
---|
56 | HRESULT AllowInboundEchoRequest( [out, retval] VARIANT_BOOL* allow );
|
---|
57 |
|
---|
58 | [id(3), propput]
|
---|
59 | HRESULT AllowInboundEchoRequest( [in] VARIANT_BOOL allow );
|
---|
60 |
|
---|
61 | [id(4), propget]
|
---|
62 | HRESULT AllowOutboundTimeExceeded( [out, retval] VARIANT_BOOL* allow );
|
---|
63 |
|
---|
64 | [id(4), propput]
|
---|
65 | HRESULT AllowOutboundTimeExceeded( [in] VARIANT_BOOL allow );
|
---|
66 |
|
---|
67 | [id(5), propget]
|
---|
68 | HRESULT AllowOutboundParameterProblem( [out, retval] VARIANT_BOOL* allow );
|
---|
69 |
|
---|
70 | [id(5), propput]
|
---|
71 | HRESULT AllowOutboundParameterProblem( [in] VARIANT_BOOL allow );
|
---|
72 |
|
---|
73 | [id(6), propget]
|
---|
74 | HRESULT AllowOutboundSourceQuench( [out, retval] VARIANT_BOOL* allow );
|
---|
75 |
|
---|
76 | [id(6), propput]
|
---|
77 | HRESULT AllowOutboundSourceQuench( [in] VARIANT_BOOL allow );
|
---|
78 |
|
---|
79 | [id(7), propget]
|
---|
80 | HRESULT AllowInboundRouterRequest( [out, retval] VARIANT_BOOL* allow );
|
---|
81 |
|
---|
82 | [id(7), propput]
|
---|
83 | HRESULT AllowInboundRouterRequest( [in] VARIANT_BOOL allow );
|
---|
84 |
|
---|
85 | [id(8), propget]
|
---|
86 | HRESULT AllowInboundTimestampRequest( [out, retval] VARIANT_BOOL* allow );
|
---|
87 |
|
---|
88 | [id(8), propput]
|
---|
89 | HRESULT AllowInboundTimestampRequest( [in] VARIANT_BOOL allow );
|
---|
90 |
|
---|
91 | [id(9), propget]
|
---|
92 | HRESULT AllowInboundMaskRequest( [out, retval] VARIANT_BOOL* allow );
|
---|
93 |
|
---|
94 | [id(9), propput]
|
---|
95 | HRESULT AllowInboundMaskRequest( [in] VARIANT_BOOL allow );
|
---|
96 |
|
---|
97 | [id(10), propget]
|
---|
98 | HRESULT AllowOutboundPacketTooBig( [out, retval] VARIANT_BOOL* allow );
|
---|
99 |
|
---|
100 | [id(10), propput]
|
---|
101 | HRESULT AllowOutboundPacketTooBig( [in] VARIANT_BOOL allow );
|
---|
102 | }
|
---|
103 |
|
---|
104 | [
|
---|
105 | object,
|
---|
106 | uuid(E0483BA0-47FF-4D9C-A6D6-7741D0B195F7),
|
---|
107 | dual
|
---|
108 | ]
|
---|
109 | interface INetFwOpenPort : IDispatch
|
---|
110 | {
|
---|
111 | [id(1), propget]
|
---|
112 | HRESULT Name( [out, retval] BSTR* name );
|
---|
113 |
|
---|
114 | [id(1), propput]
|
---|
115 | HRESULT Name( [in] BSTR name );
|
---|
116 |
|
---|
117 | [id(2), propget]
|
---|
118 | HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
|
---|
119 |
|
---|
120 | [id(2), propput]
|
---|
121 | HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
|
---|
122 |
|
---|
123 | [id(3), propget]
|
---|
124 | HRESULT Protocol( [out, retval] NET_FW_IP_PROTOCOL* ipProtocol );
|
---|
125 |
|
---|
126 | [id(3), propput]
|
---|
127 | HRESULT Protocol( [in] NET_FW_IP_PROTOCOL ipProtocol );
|
---|
128 |
|
---|
129 | [id(4), propget]
|
---|
130 | HRESULT Port( [out, retval] LONG* portNumber );
|
---|
131 |
|
---|
132 | [id(4), propput]
|
---|
133 | HRESULT Port( [in] LONG portNumber );
|
---|
134 |
|
---|
135 | [id(5), propget]
|
---|
136 | HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
|
---|
137 |
|
---|
138 | [id(5), propput]
|
---|
139 | HRESULT Scope( [in] NET_FW_SCOPE scope );
|
---|
140 |
|
---|
141 | [id(6), propget]
|
---|
142 | HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
|
---|
143 |
|
---|
144 | [id(6), propput]
|
---|
145 | HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
|
---|
146 |
|
---|
147 | [id(7), propget]
|
---|
148 | HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
|
---|
149 |
|
---|
150 | [id(7), propput]
|
---|
151 | HRESULT Enabled( [in] VARIANT_BOOL enabled );
|
---|
152 |
|
---|
153 | [id(8), propget]
|
---|
154 | HRESULT BuiltIn( [out, retval] VARIANT_BOOL* builtIn );
|
---|
155 | }
|
---|
156 |
|
---|
157 | [
|
---|
158 | object,
|
---|
159 | uuid(C0E9D7FA-E07E-430A-B19A-090CE82D92E2),
|
---|
160 | dual
|
---|
161 | ]
|
---|
162 | interface INetFwOpenPorts : IDispatch
|
---|
163 | {
|
---|
164 | [id(1), propget]
|
---|
165 | HRESULT Count( [out, retval] long* count );
|
---|
166 |
|
---|
167 | [id(2)]
|
---|
168 | HRESULT Add( [in] INetFwOpenPort* port );
|
---|
169 |
|
---|
170 | [id(3)]
|
---|
171 | HRESULT Remove( [in] LONG portNumber, [in] NET_FW_IP_PROTOCOL ipProtocol );
|
---|
172 |
|
---|
173 | [id(4)]
|
---|
174 | HRESULT Item( [in] LONG portNumber, [in] NET_FW_IP_PROTOCOL ipProtocol,
|
---|
175 | [out, retval] INetFwOpenPort** openPort );
|
---|
176 |
|
---|
177 | [id(DISPID_NEWENUM), propget, restricted]
|
---|
178 | HRESULT _NewEnum( [out, retval] IUnknown** newEnum );
|
---|
179 | }
|
---|
180 |
|
---|
181 | [
|
---|
182 | object,
|
---|
183 | uuid(79FD57C8-908E-4A36-9888-D5B3F0A444CF),
|
---|
184 | dual
|
---|
185 | ]
|
---|
186 | interface INetFwService : IDispatch
|
---|
187 | {
|
---|
188 | [id(1), propget]
|
---|
189 | HRESULT Name( [out, retval] BSTR* name );
|
---|
190 |
|
---|
191 | [id(2), propget]
|
---|
192 | HRESULT Type( [out, retval] NET_FW_SERVICE_TYPE* type );
|
---|
193 |
|
---|
194 | [id(3), propget]
|
---|
195 | HRESULT Customized( [out, retval] VARIANT_BOOL* customized );
|
---|
196 |
|
---|
197 | [id(4), propget]
|
---|
198 | HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
|
---|
199 |
|
---|
200 | [id(4), propput]
|
---|
201 | HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
|
---|
202 |
|
---|
203 | [id(5), propget]
|
---|
204 | HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
|
---|
205 |
|
---|
206 | [id(5), propput]
|
---|
207 | HRESULT Scope( [in] NET_FW_SCOPE scope );
|
---|
208 |
|
---|
209 | [id(6), propget]
|
---|
210 | HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
|
---|
211 |
|
---|
212 | [id(6), propput]
|
---|
213 | HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
|
---|
214 |
|
---|
215 | [id(7), propget]
|
---|
216 | HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
|
---|
217 |
|
---|
218 | [id(7), propput]
|
---|
219 | HRESULT Enabled( [in] VARIANT_BOOL enabled );
|
---|
220 |
|
---|
221 | [id(8), propget]
|
---|
222 | HRESULT GloballyOpenPorts( [out, retval] INetFwOpenPorts** openPorts );
|
---|
223 | }
|
---|
224 |
|
---|
225 | [
|
---|
226 | object,
|
---|
227 | uuid(79649BB4-903E-421B-94C9-79848E79F6EE),
|
---|
228 | dual
|
---|
229 | ]
|
---|
230 | interface INetFwServices : IDispatch
|
---|
231 | {
|
---|
232 | [id(1), propget]
|
---|
233 | HRESULT Count( [out, retval] long* count );
|
---|
234 |
|
---|
235 | [id(2)]
|
---|
236 | HRESULT Item( [in] NET_FW_SERVICE_TYPE svcType,
|
---|
237 | [out, retval] INetFwService** service );
|
---|
238 |
|
---|
239 | [id(DISPID_NEWENUM), propget, restricted]
|
---|
240 | HRESULT _NewEnum( [out, retval] IUnknown** newEnum );
|
---|
241 | }
|
---|
242 |
|
---|
243 | [
|
---|
244 | object,
|
---|
245 | uuid(B5E64FFA-C2C5-444E-A301-FB5E00018050),
|
---|
246 | dual
|
---|
247 | ]
|
---|
248 | interface INetFwAuthorizedApplication : IDispatch
|
---|
249 | {
|
---|
250 | [id(1), propget]
|
---|
251 | HRESULT Name( [out, retval] BSTR* name );
|
---|
252 |
|
---|
253 | [id(1), propput]
|
---|
254 | HRESULT Name( [in] BSTR name );
|
---|
255 |
|
---|
256 | [id(2), propget]
|
---|
257 | HRESULT ProcessImageFileName( [out, retval] BSTR* imageFileName );
|
---|
258 |
|
---|
259 | [id(2), propput]
|
---|
260 | HRESULT ProcessImageFileName( [in] BSTR imageFileName );
|
---|
261 |
|
---|
262 | [id(3), propget]
|
---|
263 | HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
|
---|
264 |
|
---|
265 | [id(3), propput]
|
---|
266 | HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
|
---|
267 |
|
---|
268 | [id(4), propget]
|
---|
269 | HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
|
---|
270 |
|
---|
271 | [id(4), propput]
|
---|
272 | HRESULT Scope( [in] NET_FW_SCOPE scope );
|
---|
273 |
|
---|
274 | [id(5), propget]
|
---|
275 | HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
|
---|
276 |
|
---|
277 | [id(5), propput]
|
---|
278 | HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
|
---|
279 |
|
---|
280 | [id(6), propget]
|
---|
281 | HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
|
---|
282 |
|
---|
283 | [id(6), propput]
|
---|
284 | HRESULT Enabled( [in] VARIANT_BOOL enabled );
|
---|
285 | }
|
---|
286 |
|
---|
287 | [
|
---|
288 | object,
|
---|
289 | uuid(D4BECDDF-6F73-4A83-B832-9C66874CD20E),
|
---|
290 | dual
|
---|
291 | ]
|
---|
292 | interface INetFwRemoteAdminSettings : IDispatch
|
---|
293 | {
|
---|
294 | [id(1), propget]
|
---|
295 | HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
|
---|
296 |
|
---|
297 | [id(1), propput]
|
---|
298 | HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
|
---|
299 |
|
---|
300 | [id(2), propget]
|
---|
301 | HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
|
---|
302 |
|
---|
303 | [id(2), propput]
|
---|
304 | HRESULT Scope( [in] NET_FW_SCOPE scope );
|
---|
305 |
|
---|
306 | [id(3), propget]
|
---|
307 | HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
|
---|
308 |
|
---|
309 | [id(3), propput]
|
---|
310 | HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
|
---|
311 |
|
---|
312 | [id(4), propget]
|
---|
313 | HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
|
---|
314 |
|
---|
315 | [id(4), propput]
|
---|
316 | HRESULT Enabled( [in] VARIANT_BOOL enabled );
|
---|
317 | }
|
---|
318 |
|
---|
319 |
|
---|
320 | [
|
---|
321 | object,
|
---|
322 | uuid(644EFD52-CCF9-486C-97A2-39F352570B30),
|
---|
323 | dual
|
---|
324 | ]
|
---|
325 | interface INetFwAuthorizedApplications : IDispatch
|
---|
326 | {
|
---|
327 | [id(1), propget]
|
---|
328 | HRESULT Count( [out, retval] long* count );
|
---|
329 |
|
---|
330 | [id(2)]
|
---|
331 | HRESULT Add( [in] INetFwAuthorizedApplication* app );
|
---|
332 |
|
---|
333 | [id(3)]
|
---|
334 | HRESULT Remove( [in] BSTR imageFileName );
|
---|
335 |
|
---|
336 | [id(4)]
|
---|
337 | HRESULT Item( [in] BSTR imageFileName,
|
---|
338 | [out, retval] INetFwAuthorizedApplication** app );
|
---|
339 |
|
---|
340 | [id(DISPID_NEWENUM), propget, restricted]
|
---|
341 | HRESULT _NewEnum( [out, retval] IUnknown** newEnum );
|
---|
342 | }
|
---|
343 |
|
---|
344 | [
|
---|
345 | object,
|
---|
346 | uuid(174A0DDA-E9F9-449D-993B-21AB667CA456),
|
---|
347 | dual
|
---|
348 | ]
|
---|
349 | interface INetFwProfile : IDispatch
|
---|
350 | {
|
---|
351 | [id(1), propget]
|
---|
352 | HRESULT Type( [out, retval] NET_FW_PROFILE_TYPE* type );
|
---|
353 |
|
---|
354 | [id(2), propget]
|
---|
355 | HRESULT FirewallEnabled( [out, retval] VARIANT_BOOL* enabled );
|
---|
356 |
|
---|
357 | [id(2), propput]
|
---|
358 | HRESULT FirewallEnabled( [in] VARIANT_BOOL enabled );
|
---|
359 |
|
---|
360 | [id(3), propget]
|
---|
361 | HRESULT ExceptionsNotAllowed( [out, retval] VARIANT_BOOL* notAllowed );
|
---|
362 |
|
---|
363 | [id(3), propput]
|
---|
364 | HRESULT ExceptionsNotAllowed( [in] VARIANT_BOOL notAllowed );
|
---|
365 |
|
---|
366 | [id(4), propget]
|
---|
367 | HRESULT NotificationsDisabled( [out, retval] VARIANT_BOOL* disabled );
|
---|
368 |
|
---|
369 | [id(4), propput]
|
---|
370 | HRESULT NotificationsDisabled( [in] VARIANT_BOOL disabled );
|
---|
371 |
|
---|
372 | [id(5), propget]
|
---|
373 | HRESULT UnicastResponsesToMulticastBroadcastDisabled( [out, retval] VARIANT_BOOL* disabled );
|
---|
374 |
|
---|
375 | [id(5), propput]
|
---|
376 | HRESULT UnicastResponsesToMulticastBroadcastDisabled( [in] VARIANT_BOOL disabled );
|
---|
377 |
|
---|
378 | [id(6), propget]
|
---|
379 | HRESULT RemoteAdminSettings( [out, retval] INetFwRemoteAdminSettings** remoteAdminSettings );
|
---|
380 |
|
---|
381 | [id(7), propget]
|
---|
382 | HRESULT IcmpSettings( [out, retval] INetFwIcmpSettings** icmpSettings );
|
---|
383 |
|
---|
384 | [id(8), propget]
|
---|
385 | HRESULT GloballyOpenPorts( [out, retval] INetFwOpenPorts** openPorts );
|
---|
386 |
|
---|
387 | [id(9), propget]
|
---|
388 | HRESULT Services( [out, retval] INetFwServices** services );
|
---|
389 |
|
---|
390 | [id(10), propget]
|
---|
391 | HRESULT AuthorizedApplications( [out, retval] INetFwAuthorizedApplications** apps );
|
---|
392 | }
|
---|
393 |
|
---|
394 | [
|
---|
395 | object,
|
---|
396 | uuid(D46D2478-9AC9-4008-9DC7-5563CE5536CC),
|
---|
397 | dual
|
---|
398 | ]
|
---|
399 | interface INetFwPolicy : IDispatch
|
---|
400 | {
|
---|
401 | [id(1), propget]
|
---|
402 | HRESULT CurrentProfile( [out, retval] INetFwProfile** profile );
|
---|
403 |
|
---|
404 | [id(2)]
|
---|
405 | HRESULT GetProfileByType( [in] NET_FW_PROFILE_TYPE profileType,
|
---|
406 | [out, retval] INetFwProfile** profile );
|
---|
407 | }
|
---|
408 |
|
---|
409 | [
|
---|
410 | object,
|
---|
411 | uuid(F7898AF5-CAC4-4632-A2EC-DA06E5111AF2),
|
---|
412 | dual
|
---|
413 | ]
|
---|
414 | interface INetFwMgr : IDispatch
|
---|
415 | {
|
---|
416 | [id(1), propget]
|
---|
417 | HRESULT LocalPolicy( [out, retval] INetFwPolicy** localPolicy );
|
---|
418 |
|
---|
419 | [id(2), propget]
|
---|
420 | HRESULT CurrentProfileType( [out, retval] NET_FW_PROFILE_TYPE* profileType );
|
---|
421 |
|
---|
422 | [id(3)]
|
---|
423 | HRESULT RestoreDefaults();
|
---|
424 |
|
---|
425 | [id(4)]
|
---|
426 | HRESULT IsPortAllowed( [in] BSTR imageFileName, [in] NET_FW_IP_VERSION ipVersion,
|
---|
427 | [in] LONG portNumber, [in] BSTR localAddress,
|
---|
428 | [in] NET_FW_IP_PROTOCOL ipProtocol, [out] VARIANT* allowed,
|
---|
429 | [out] VARIANT* restricted );
|
---|
430 |
|
---|
431 | [id(5)]
|
---|
432 | HRESULT IsIcmpTypeAllowed( [in] NET_FW_IP_VERSION ipVersion, [in] BSTR localAddress,
|
---|
433 | [in] BYTE type, [out] VARIANT* allowed,
|
---|
434 | [out] VARIANT* restricted );
|
---|
435 | }
|
---|
436 |
|
---|
437 | [
|
---|
438 | uuid(DB4F3345-3EF8-45ED-B976-25A6D3B81B71),
|
---|
439 | version(1.0)
|
---|
440 | ]
|
---|
441 | library NetFwPublicTypeLib
|
---|
442 | {
|
---|
443 | importlib("stdole2.tlb");
|
---|
444 | interface INetFwRemoteAdminSettings;
|
---|
445 | interface INetFwIcmpSettings;
|
---|
446 | interface INetFwOpenPort;
|
---|
447 | interface INetFwOpenPorts;
|
---|
448 | interface INetFwService;
|
---|
449 | interface INetFwServices;
|
---|
450 | interface INetFwAuthorizedApplication;
|
---|
451 | interface INetFwAuthorizedApplications;
|
---|
452 | interface INetFwProfile;
|
---|
453 | interface INetFwPolicy;
|
---|
454 | interface INetFwMgr;
|
---|
455 |
|
---|
456 | [
|
---|
457 | uuid(0CA545C6-37AD-4A6C-BF92-9F7610067EF5)
|
---|
458 | ]
|
---|
459 | coclass NetFwOpenPort
|
---|
460 | {
|
---|
461 | [default] interface INetFwOpenPort;
|
---|
462 | }
|
---|
463 |
|
---|
464 | [
|
---|
465 | uuid(EC9846B3-2762-4A6B-A214-6ACB603462D2)
|
---|
466 | ]
|
---|
467 | coclass NetFwAuthorizedApplication
|
---|
468 | {
|
---|
469 | [default] interface INetFwAuthorizedApplication;
|
---|
470 | }
|
---|
471 |
|
---|
472 | [
|
---|
473 | uuid(304CE942-6E39-40D8-943A-B913C40C9CD4)
|
---|
474 | ]
|
---|
475 | coclass NetFwMgr
|
---|
476 | {
|
---|
477 | [default] interface INetFwMgr;
|
---|
478 | }
|
---|
479 | }
|
---|