1 /*
2 
3                           Firewall Builder
4 
5                  Copyright (C) 2007 NetCitadel, LLC
6 
7   Author:  Vadim Kurland     vadim@vk.crocodile.org
8 
9   $Id$
10 
11   This program is free software which we release under the GNU General Public
12   License. You may redistribute and/or modify this program under the terms
13   of that license as published by the Free Software Foundation; either
14   version 2 of the License, or (at your option) any later version.
15 
16   This program is distributed in the hope that it will be useful,
17   but WITHOUT ANY WARRANTY; without even the implied warranty of
18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   GNU General Public License for more details.
20 
21   To get a copy of the GNU General Public License, write to the Free Software
22   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23 
24 
25 */
26 
27 #ifndef _OSNETWORKCONFIGURATOR_NXOS_HH
28 #define _OSNETWORKCONFIGURATOR_NXOS_HH
29 
30 #include "config.h"
31 
32 #include "fwcompiler/OSConfigurator.h"
33 
34 #include <map>
35 
36 namespace fwcompiler {
37 
38     class OSConfigurator_nxos : public OSConfigurator {
39 
40         std::string _printNameif();
41         std::string _printIPAddress();
42         std::string _printLogging();
43 
44 	public:
45 
~OSConfigurator_nxos()46 	virtual ~OSConfigurator_nxos() {};
OSConfigurator_nxos(libfwbuilder::FWObjectDatabase * _db,libfwbuilder::Firewall * fw,bool ipv6_policy)47 	OSConfigurator_nxos(libfwbuilder::FWObjectDatabase *_db,
48                            libfwbuilder::Firewall *fw,
49                            bool ipv6_policy) : OSConfigurator(_db, fw, ipv6_policy) {}
50 
51 	virtual int  prolog();
52 
53 	virtual std::string myPlatformName();
54 	virtual void processFirewallOptions();
55 	virtual void addVirtualAddressForNAT(const libfwbuilder::Address   *addr);
56 	virtual void addVirtualAddressForNAT(const libfwbuilder::Network   *nw);
57     };
58 };
59 
60 #endif
61