AnyConnect Secure Mobility Client 4.4.00243

include/FirewallInfo.h

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