AnyConnect Secure Mobility Client  4.0.00061
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 "GlobalEnums.h"
00018 #include "api.h"
00019 
00020 #ifdef _WIN32
00021 typedef unsigned short  uint16_t;
00022 typedef unsigned long   uint32_t;
00023 #else
00024 #include <stdint.h>
00025 #endif
00026 
00027 class VPN_VPNAPI FirewallInfo
00028 {
00029 public:
00030     /**
00031      * Constructor used to create a firewall instance.  This method is not
00032      * intended for public use.
00033      */
00034     FirewallInfo(FW_Interface fwInterface,
00035                  FW_Permission fwPermission,
00036                  FW_Protocol fwProtocol,
00037                  uint16_t fwSrcPortLowerBound,
00038                  uint16_t fwSrcPortUpperBound,
00039                  uint16_t fwDstPortLowerBound,
00040                  uint16_t fwDstPortUpperBound,
00041                  tstring  fwDstAddress,
00042                  uint32_t fwDstAddressPrefixLength);
00043 
00044     /**
00045      * Constructor used to copy a firewall instance.  This method is not
00046      * intended for public use.
00047      */
00048     FirewallInfo(const FirewallInfo &fwInfo);
00049     ~FirewallInfo() {}
00050 
00051     tstring getPermission();
00052     tstring getProtocol();
00053     tstring getInterface();
00054     tstring getSrcPortRange();
00055     tstring getDstPortRange();
00056     tstring getDstAddr();
00057 
00058 private:
00059     FW_Interface  nInterface;
00060     FW_Permission nPermission;
00061     FW_Protocol   nProtocol;
00062     uint32_t      nSrcPortLowerBound;
00063     uint32_t      nSrcPortUpperBound;
00064     uint32_t      nDstPortLowerBound;
00065     uint32_t      nDstPortUpperBound;
00066     tstring       szDstAddress;
00067     uint32_t      nPrefixLength;
00068 
00069 };
00070 
00071 tostream& operator <<(tostream &outStream, FirewallInfo &fwRule);
00072 
00073 #endif // _FIREWALLINFO_
00074