![]() |
AnyConnect Secure Mobility Client 4.4.00243
|
00001 00002 /************************************************************************** 00003 * Copyright (c) 2009, Cisco Systems, All Rights Reserved 00004 *************************************************************************** 00005 * 00006 * File: FirewallInfo.h 00007 * Author: Vishwa Krishnamurthy 00008 * Date: 12/06/2009 00009 * 00010 ***************************************************************************/ 00011 00012 00013 #ifndef _FIREWALLINFO_ 00014 #define _FIREWALLINFO_ 00015 00016 #include <iostream> 00017 #include <stdint.h> 00018 00019 #include "GlobalEnums.h" 00020 #include "api.h" 00021 00022 class VPN_VPNAPI FirewallInfo 00023 { 00024 public: 00025 /** 00026 * Constructor used to create a firewall instance. This method is not 00027 * intended for public use. 00028 */ 00029 FirewallInfo(FW_Interface fwInterface, 00030 FW_Permission fwPermission, 00031 FW_Protocol fwProtocol, 00032 uint16_t fwSrcPortLowerBound, 00033 uint16_t fwSrcPortUpperBound, 00034 uint16_t fwDstPortLowerBound, 00035 uint16_t fwDstPortUpperBound, 00036 tstring fwDstAddress, 00037 uint32_t fwDstAddressPrefixLength); 00038 00039 /** 00040 * Constructor used to copy a firewall instance. This method is not 00041 * intended for public use. 00042 */ 00043 FirewallInfo(const FirewallInfo &fwInfo); 00044 ~FirewallInfo() {} 00045 00046 tstring getPermission(); 00047 tstring getProtocol(); 00048 tstring getInterface(); 00049 tstring getSrcPortRange(); 00050 tstring getDstPortRange(); 00051 tstring getDstAddr(); 00052 00053 private: 00054 FW_Interface nInterface; 00055 FW_Permission nPermission; 00056 FW_Protocol nProtocol; 00057 uint32_t nSrcPortLowerBound; 00058 uint32_t nSrcPortUpperBound; 00059 uint32_t nDstPortLowerBound; 00060 uint32_t nDstPortUpperBound; 00061 tstring szDstAddress; 00062 uint32_t nPrefixLength; 00063 00064 }; 00065 00066 tostream& operator <<(tostream &outStream, FirewallInfo &fwRule); 00067 00068 #endif // _FIREWALLINFO_ 00069