ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

netfw.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2007 Jeff Latimer
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  *
00018  *****************************************************************************
00019  *
00020  * The firewall management interface
00021  *
00022  */
00023 
00024 import "icftypes.idl";
00025 import "oaidl.idl";
00026 
00027 [
00028    object,
00029    uuid(A6207B2E-7CDD-426A-951E-5E1CBC5AFEAD),
00030    dual
00031 ]
00032 interface INetFwIcmpSettings : IDispatch
00033 {
00034     [id(1), propget]
00035     HRESULT AllowOutboundDestinationUnreachable([out, retval] VARIANT_BOOL* allow);
00036 
00037     [id(1), propput]
00038     HRESULT AllowOutboundDestinationUnreachable( [in] VARIANT_BOOL allow );
00039 
00040     [id(2), propget]
00041     HRESULT AllowRedirect( [out, retval] VARIANT_BOOL* allow );
00042 
00043     [id(2), propput]
00044     HRESULT AllowRedirect( [in] VARIANT_BOOL allow );
00045 
00046     [id(3), propget]
00047     HRESULT AllowInboundEchoRequest( [out, retval] VARIANT_BOOL* allow );
00048 
00049     [id(3), propput]
00050     HRESULT AllowInboundEchoRequest( [in] VARIANT_BOOL allow );
00051 
00052     [id(4), propget]
00053     HRESULT AllowOutboundTimeExceeded( [out, retval] VARIANT_BOOL* allow );
00054 
00055     [id(4), propput]
00056     HRESULT AllowOutboundTimeExceeded( [in] VARIANT_BOOL allow );
00057 
00058     [id(5), propget]
00059     HRESULT AllowOutboundParameterProblem( [out, retval] VARIANT_BOOL* allow );
00060 
00061     [id(5), propput]
00062     HRESULT AllowOutboundParameterProblem( [in] VARIANT_BOOL allow );
00063 
00064     [id(6), propget]
00065     HRESULT AllowOutboundSourceQuench( [out, retval] VARIANT_BOOL* allow );
00066 
00067     [id(6), propput]
00068     HRESULT AllowOutboundSourceQuench( [in] VARIANT_BOOL allow );
00069 
00070     [id(7), propget]
00071     HRESULT AllowInboundRouterRequest( [out, retval] VARIANT_BOOL* allow );
00072 
00073     [id(7), propput]
00074     HRESULT AllowInboundRouterRequest( [in] VARIANT_BOOL allow );
00075 
00076     [id(8), propget]
00077     HRESULT AllowInboundTimestampRequest( [out, retval] VARIANT_BOOL* allow );
00078 
00079     [id(8), propput]
00080     HRESULT AllowInboundTimestampRequest( [in] VARIANT_BOOL allow );
00081 
00082     [id(9), propget]
00083     HRESULT AllowInboundMaskRequest( [out, retval] VARIANT_BOOL* allow );
00084 
00085     [id(9), propput]
00086     HRESULT AllowInboundMaskRequest( [in] VARIANT_BOOL allow );
00087 
00088     [id(10), propget]
00089     HRESULT AllowOutboundPacketTooBig( [out, retval] VARIANT_BOOL* allow );
00090 
00091     [id(10), propput]
00092     HRESULT AllowOutboundPacketTooBig( [in] VARIANT_BOOL allow );
00093 }
00094 
00095 [
00096     object,
00097     uuid(E0483BA0-47FF-4D9C-A6D6-7741D0B195F7),
00098     dual
00099 ]
00100 interface INetFwOpenPort : IDispatch
00101 {
00102     [id(1), propget]
00103     HRESULT Name( [out, retval] BSTR* name );
00104 
00105     [id(1), propput]
00106     HRESULT Name( [in] BSTR name );
00107 
00108     [id(2), propget]
00109     HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
00110 
00111     [id(2), propput]
00112     HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
00113 
00114     [id(3), propget]
00115     HRESULT Protocol( [out, retval] NET_FW_IP_PROTOCOL* ipProtocol );
00116 
00117     [id(3), propput]
00118     HRESULT Protocol( [in] NET_FW_IP_PROTOCOL ipProtocol );
00119 
00120     [id(4), propget]
00121     HRESULT Port( [out, retval] LONG* portNumber );
00122 
00123     [id(4), propput]
00124     HRESULT Port( [in] LONG portNumber );
00125 
00126     [id(5), propget]
00127     HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
00128 
00129     [id(5), propput]
00130     HRESULT Scope( [in] NET_FW_SCOPE scope );
00131 
00132     [id(6), propget]
00133     HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
00134 
00135     [id(6), propput]
00136     HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
00137 
00138     [id(7), propget]
00139     HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
00140 
00141     [id(7), propput]
00142     HRESULT Enabled( [in] VARIANT_BOOL enabled );
00143 
00144     [id(8), propget]
00145     HRESULT BuiltIn( [out, retval] VARIANT_BOOL* builtIn );
00146 }
00147 
00148 [
00149     object,
00150     uuid(C0E9D7FA-E07E-430A-B19A-090CE82D92E2),
00151     dual
00152 ]
00153 interface INetFwOpenPorts : IDispatch
00154 {
00155     [id(1), propget]
00156     HRESULT Count( [out, retval] long* count );
00157 
00158     [id(2)]
00159     HRESULT Add( [in] INetFwOpenPort* port );
00160 
00161     [id(3)]
00162     HRESULT Remove( [in] LONG portNumber, [in] NET_FW_IP_PROTOCOL ipProtocol );
00163 
00164     [id(4)]
00165     HRESULT Item( [in] LONG portNumber, [in] NET_FW_IP_PROTOCOL ipProtocol,
00166                   [out, retval] INetFwOpenPort** openPort );
00167 
00168     [id(DISPID_NEWENUM), propget, restricted]
00169     HRESULT _NewEnum( [out, retval] IUnknown** newEnum );
00170 }
00171 
00172 [
00173     object,
00174     uuid(79FD57C8-908E-4A36-9888-D5B3F0A444CF),
00175     dual
00176 ]
00177 interface INetFwService : IDispatch
00178 {
00179     [id(1), propget]
00180     HRESULT Name( [out, retval] BSTR* name );
00181 
00182     [id(2), propget]
00183     HRESULT Type( [out, retval] NET_FW_SERVICE_TYPE* type );
00184 
00185     [id(3), propget]
00186     HRESULT Customized( [out, retval] VARIANT_BOOL* customized );
00187 
00188     [id(4), propget]
00189     HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
00190 
00191     [id(4), propput]
00192     HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
00193 
00194     [id(5), propget]
00195     HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
00196 
00197     [id(5), propput]
00198     HRESULT Scope( [in] NET_FW_SCOPE scope );
00199 
00200     [id(6), propget]
00201     HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
00202 
00203     [id(6), propput]
00204     HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
00205 
00206     [id(7), propget]
00207     HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
00208 
00209     [id(7), propput]
00210     HRESULT Enabled( [in] VARIANT_BOOL enabled );
00211 
00212     [id(8), propget]
00213     HRESULT GloballyOpenPorts( [out, retval] INetFwOpenPorts** openPorts );
00214 }
00215 
00216 [
00217     object,
00218     uuid(79649BB4-903E-421B-94C9-79848E79F6EE),
00219     dual
00220 ]
00221 interface INetFwServices : IDispatch
00222 {
00223     [id(1), propget]
00224     HRESULT Count( [out, retval] long* count );
00225 
00226      [id(2)]
00227     HRESULT Item( [in] NET_FW_SERVICE_TYPE svcType,
00228                   [out, retval] INetFwService** service );
00229 
00230     [id(DISPID_NEWENUM), propget, restricted]
00231     HRESULT _NewEnum( [out, retval] IUnknown** newEnum );
00232 }
00233 
00234 [
00235     object,
00236     uuid(B5E64FFA-C2C5-444E-A301-FB5E00018050),
00237     dual
00238 ]
00239 interface INetFwAuthorizedApplication : IDispatch
00240 {
00241     [id(1), propget]
00242     HRESULT Name( [out, retval] BSTR* name );
00243 
00244     [id(1), propput]
00245     HRESULT Name( [in] BSTR name );
00246 
00247     [id(2), propget]
00248     HRESULT ProcessImageFileName( [out, retval] BSTR* imageFileName );
00249 
00250     [id(2), propput]
00251     HRESULT ProcessImageFileName( [in] BSTR imageFileName );
00252 
00253     [id(3), propget]
00254     HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
00255 
00256     [id(3), propput]
00257     HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
00258 
00259     [id(4), propget]
00260     HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
00261 
00262     [id(4), propput]
00263     HRESULT Scope( [in] NET_FW_SCOPE scope );
00264 
00265     [id(5), propget]
00266     HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
00267 
00268     [id(5), propput]
00269     HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
00270 
00271     [id(6), propget]
00272     HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
00273 
00274     [id(6), propput]
00275     HRESULT Enabled( [in] VARIANT_BOOL enabled );
00276 }
00277 
00278 [
00279     object,
00280     uuid(D4BECDDF-6F73-4A83-B832-9C66874CD20E),
00281     dual
00282 ]
00283 interface INetFwRemoteAdminSettings : IDispatch
00284 {
00285     [id(1), propget]
00286     HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion );
00287 
00288     [id(1), propput]
00289     HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion );
00290 
00291     [id(2), propget]
00292     HRESULT Scope( [out, retval] NET_FW_SCOPE* scope );
00293 
00294     [id(2), propput]
00295     HRESULT Scope( [in] NET_FW_SCOPE scope );
00296 
00297     [id(3), propget]
00298     HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs );
00299 
00300     [id(3), propput]
00301     HRESULT RemoteAddresses( [in] BSTR remoteAddrs );
00302 
00303     [id(4), propget]
00304     HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled );
00305 
00306     [id(4), propput]
00307     HRESULT Enabled( [in] VARIANT_BOOL enabled );
00308 }
00309 
00310 
00311 [
00312     object,
00313     uuid(644EFD52-CCF9-486C-97A2-39F352570B30),
00314     dual
00315 ]
00316 interface INetFwAuthorizedApplications : IDispatch
00317 {
00318     [id(1), propget]
00319     HRESULT Count( [out, retval] long* count );
00320 
00321     [id(2)]
00322     HRESULT Add( [in] INetFwAuthorizedApplication* app );
00323 
00324     [id(3)]
00325     HRESULT Remove( [in] BSTR imageFileName );
00326 
00327     [id(4)]
00328     HRESULT Item( [in] BSTR imageFileName,
00329                   [out, retval] INetFwAuthorizedApplication** app );
00330 
00331     [id(DISPID_NEWENUM), propget, restricted]
00332     HRESULT _NewEnum( [out, retval] IUnknown** newEnum );
00333 }
00334 
00335 [
00336      object,
00337      uuid(174A0DDA-E9F9-449D-993B-21AB667CA456),
00338      dual
00339 ]
00340 interface INetFwProfile : IDispatch
00341 {
00342     [id(1), propget]
00343     HRESULT Type( [out, retval] NET_FW_PROFILE_TYPE* type );
00344 
00345     [id(2), propget]
00346     HRESULT FirewallEnabled( [out, retval] VARIANT_BOOL* enabled );
00347 
00348     [id(2), propput]
00349     HRESULT FirewallEnabled( [in] VARIANT_BOOL enabled );
00350 
00351     [id(3), propget]
00352     HRESULT ExceptionsNotAllowed( [out, retval] VARIANT_BOOL* notAllowed );
00353 
00354     [id(3), propput]
00355     HRESULT ExceptionsNotAllowed( [in] VARIANT_BOOL notAllowed );
00356 
00357     [id(4), propget]
00358     HRESULT NotificationsDisabled( [out, retval] VARIANT_BOOL* disabled );
00359 
00360     [id(4), propput]
00361     HRESULT NotificationsDisabled( [in] VARIANT_BOOL disabled );
00362 
00363     [id(5), propget]
00364     HRESULT UnicastResponsesToMulticastBroadcastDisabled( [out, retval] VARIANT_BOOL* disabled );
00365 
00366     [id(5), propput]
00367     HRESULT UnicastResponsesToMulticastBroadcastDisabled( [in] VARIANT_BOOL disabled );
00368 
00369     [id(6), propget]
00370     HRESULT RemoteAdminSettings( [out, retval] INetFwRemoteAdminSettings** remoteAdminSettings );
00371 
00372     [id(7), propget]
00373     HRESULT IcmpSettings( [out, retval] INetFwIcmpSettings** icmpSettings );
00374 
00375     [id(8), propget]
00376     HRESULT GloballyOpenPorts( [out, retval] INetFwOpenPorts** openPorts );
00377 
00378     [id(9), propget]
00379     HRESULT Services( [out, retval] INetFwServices** services );
00380 
00381     [id(10), propget]
00382     HRESULT AuthorizedApplications( [out, retval] INetFwAuthorizedApplications** apps );
00383 }
00384 
00385 [
00386      object,
00387      uuid(D46D2478-9AC9-4008-9DC7-5563CE5536CC),
00388      dual
00389 ]
00390 interface INetFwPolicy : IDispatch
00391 {
00392     [id(1), propget]
00393     HRESULT CurrentProfile( [out, retval] INetFwProfile** profile );
00394 
00395     [id(2)]
00396     HRESULT GetProfileByType( [in] NET_FW_PROFILE_TYPE profileType,
00397                               [out, retval] INetFwProfile** profile );
00398 }
00399 
00400 [
00401     object,
00402     uuid(F7898AF5-CAC4-4632-A2EC-DA06E5111AF2),
00403     dual
00404 ]
00405 interface INetFwMgr : IDispatch
00406 {
00407     [id(1), propget]
00408     HRESULT LocalPolicy( [out, retval] INetFwPolicy** localPolicy );
00409 
00410     [id(2), propget]
00411     HRESULT CurrentProfileType( [out, retval] NET_FW_PROFILE_TYPE* profileType );
00412 
00413     [id(3)]
00414     HRESULT RestoreDefaults();
00415 
00416     [id(4)]
00417     HRESULT IsPortAllowed( [in] BSTR imageFileName, [in] NET_FW_IP_VERSION ipVersion,
00418                            [in] LONG portNumber, [in] BSTR localAddress,
00419                            [in] NET_FW_IP_PROTOCOL ipProtocol, [out] VARIANT* allowed,
00420                            [out] VARIANT* restricted );
00421 
00422     [id(5)]
00423     HRESULT IsIcmpTypeAllowed( [in] NET_FW_IP_VERSION ipVersion, [in] BSTR localAddress,
00424                                [in] BYTE type, [out] VARIANT* allowed,
00425                                [out] VARIANT* restricted );
00426 }
00427 
00428 [
00429     uuid(DB4F3345-3EF8-45ED-B976-25A6D3B81B71),
00430     version(1.0)
00431 ]
00432 library NetFwPublicTypeLib
00433 {
00434     importlib("stdole2.tlb");
00435     interface INetFwRemoteAdminSettings;
00436     interface INetFwIcmpSettings;
00437     interface INetFwOpenPort;
00438     interface INetFwOpenPorts;
00439     interface INetFwService;
00440     interface INetFwServices;
00441     interface INetFwAuthorizedApplication;
00442     interface INetFwAuthorizedApplications;
00443     interface INetFwProfile;
00444     interface INetFwPolicy;
00445     interface INetFwMgr;
00446 
00447     [
00448         uuid(0CA545C6-37AD-4A6C-BF92-9F7610067EF5)
00449     ]
00450     coclass NetFwOpenPort
00451     {
00452         [default] interface INetFwOpenPort;
00453     }
00454 
00455     [
00456         uuid(EC9846B3-2762-4A6B-A214-6ACB603462D2)
00457     ]
00458     coclass NetFwAuthorizedApplication
00459     {
00460         [default] interface INetFwAuthorizedApplication;
00461     }
00462 
00463     [
00464         uuid(304CE942-6E39-40D8-943A-B913C40C9CD4)
00465     ]
00466     coclass NetFwMgr
00467     {
00468         [default] interface INetFwMgr;
00469     }
00470 }

Generated on Sat May 26 2012 04:30:50 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.