#include "ether_cap.h"
#include "common.h"
#include "raw_ip_packet.h"
+#include "traffcounter.h"
//#define CAP_DEBUG 1
-
//-----------------------------------------------------------------------------
-class ETHER_CAP_CREATOR
-{
+class ETHER_CAP_CREATOR {
private:
ETHER_CAP * ec;
ETHER_CAP_CREATOR()
: ec(new ETHER_CAP())
{
- };
+ }
~ETHER_CAP_CREATOR()
{
delete ec;
- };
+ }
ETHER_CAP * GetCapturer()
{
return ec;
- };
+ }
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-BASE_PLUGIN * GetPlugin()
+PLUGIN * GetPlugin()
{
return ecc.GetCapturer();
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-const string ETHER_CAP::GetVersion() const
+const std::string ETHER_CAP::GetVersion() const
{
return "Ether_cap v.1.2";
}
//-----------------------------------------------------------------------------
ETHER_CAP::ETHER_CAP()
+ : nonstop(false),
+ isRunning(false),
+ capSock(-1),
+ traffCnt(NULL)
{
-isRunning = false;
-nonstop = false;
-}
-//-----------------------------------------------------------------------------
-void ETHER_CAP::SetTraffcounter(TRAFFCOUNTER * tc)
-{
-traffCnt = tc;
-}
-//-----------------------------------------------------------------------------
-const string & ETHER_CAP::GetStrError() const
-{
-return errorStr;
}
//-----------------------------------------------------------------------------
int ETHER_CAP::Start()
return 0;
}
//-----------------------------------------------------------------------------
-bool ETHER_CAP::IsRunning()
-{
-return isRunning;
-}
-//-----------------------------------------------------------------------------
void * ETHER_CAP::Run(void * d)
{
ETHER_CAP * dc = (ETHER_CAP *)d;
return NULL;
}
//-----------------------------------------------------------------------------
-uint16_t ETHER_CAP::GetStartPosition() const
-{
-return 10;
-}
-//-----------------------------------------------------------------------------
-uint16_t ETHER_CAP::GetStopPosition() const
-{
-return 10;
-}
-//-----------------------------------------------------------------------------
int ETHER_CAP::EthCapOpen()
{
capSock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));