EpcTools
An event based multi-threaded C++ development framework.
Classes | Typedefs | Functions
eip.h File Reference

Defines the EIpAddress and EIpFilterRule classes. More...

#include <arpa/inet.h>
#include <netinet/in.h>
#include <list>
#include <unordered_map>
#include <vector>
#include "epctools.h"
#include "ehash.h"

Go to the source code of this file.

Classes

class  EIpAddress
 Represents an IP address with mask. More...
 
struct  std::hash< EIpAddress >
 Calculates a hash value for the EIpAddress object. More...
 
class  EIpFilterRule
 Represents an IPFilterRule as defined by RFC 6733. More...
 
class  EIpFilterRule::Port
 Represents a single port or a range of ports. More...
 
class  EIpFilterRule::Option
 The base class for IPFilterRule options. More...
 
class  EIpFilterRule::Fragment
 Represents an IPFilterRule "frag" option. More...
 
class  EIpFilterRule::IpOptions
 Represents an IPFilterRule "ipoptions" option. More...
 
class  EIpFilterRule::TcpOptions
 Represents an IPFilterRule "tcpoptions" option. More...
 
class  EIpFilterRule::Established
 Represents an IPFilterRule "established" option. More...
 
class  EIpFilterRule::Setup
 Represents an IPFilterRule "setup" option. More...
 
class  EIpFilterRule::TcpFlags
 Represents an IPFilterRule "tcpflags" option. More...
 
class  EIpFilterRule::IcmpTypes
 Represents an IPFilterRule "icmptypes" option. More...
 
struct  std::hash< EIpFilterRule::Port >
 Generates a hash value for the EIpFilterRule::Port object. More...
 
struct  std::hash< EIpFilterRule::PortVec >
 Generates a hash value for the EIpFilterRule::PortVec object. More...
 
struct  std::hash< EIpFilterRule::Option >
 Generates a hash value for the EIpFilterRule::Option object. More...
 
struct  std::hash< EIpFilterRule::OptionPtrVec >
 Generates a hash value for the EIpFilterRule::OptionPrtVec object. More...
 
struct  std::hash< EIpFilterRule >
 Generates a hash value for the EIpFilterRule object. More...
 

Typedefs

typedef std::shared_ptr< EIpFilterRulestd::EIpFilterRulePtr
 
typedef std::list< EIpFilterRulestd::EIpFilterRuleList
 
typedef std::list< EIpFilterRulePtrstd::EIpFilterRulePtrList
 

Functions

 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidAction)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidDirection)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidProtocol)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidIpAddress)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidMaskWidth)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidPort)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidOption)
 
 DECLARE_ERROR_ADVANCED4 (EIpFilterRule_InvalidOptionMissingSpec)
 

Detailed Description

Defines the EIpAddress and EIpFilterRule classes.

Typedef Documentation

typedef std::shared_ptr<EIpFilterRule> std::EIpFilterRulePtr

Function Documentation

DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidAction  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidDirection  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidProtocol  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidIpAddress  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidMaskWidth  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidPort  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidOption  )
DECLARE_ERROR_ADVANCED4 ( EIpFilterRule_InvalidOptionMissingSpec  )