X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8c7e6453aff765245cc5c28f37543f13d92dbe74..8c7a6befad791ac242f15233365893b18953a627:/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp diff --git a/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp b/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp index aebca059..28984686 100644 --- a/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp +++ b/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp @@ -22,6 +22,22 @@ $Revision: 1.13 $ $Date: 2010/09/10 06:43:03 $ */ + +#include "divert_cap.h" + +#include "stg/traffcounter.h" +#include "stg/raw_ip_packet.h" +#include "stg/common.h" + +#include +#include + +#include +#include +#include +#include +#include + #include #include #include @@ -34,20 +50,6 @@ $Date: 2010/09/10 06:43:03 $ #include #include -#include -#include -#include -#include -#include - -#include -#include - -#include "stg/common.h" -#include "stg/traffcounter.h" -#include "stg/plugin_creator.h" -#include "divert_cap.h" - #define BUFF_LEN (16384) /* max mtu -> lo=16436 TODO why?*/ //----------------------------------------------------------------------------- @@ -62,18 +64,11 @@ DIVERT_DATA cddiv; //capture data //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -namespace -{ -PLUGIN_CREATOR dcc; -} -extern "C" PLUGIN * GetPlugin(); -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -PLUGIN * GetPlugin() +extern "C" STG::Plugin* GetPlugin() { -return dcc.GetPlugin(); + static DIVERT_CAP plugin; + return &plugin; } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -89,7 +84,7 @@ DIVERT_CAP::DIVERT_CAP() nonstop(false), isRunning(false), traffCnt(NULL), - logger(GetPluginLogger(GetStgLogger(), "cap_divert")) + logger(STG::PluginLogger::get("cap_divert")) { } //----------------------------------------------------------------------------- @@ -162,18 +157,18 @@ pthread_sigmask(SIG_BLOCK, &signalSet, NULL); DIVERT_CAP * dc = static_cast(d); dc->isRunning = true; -char buffer[pcktSize + 14]; +char buffer[STG::packetSize + 14]; while (dc->nonstop) { - RAW_PACKET rp; + STG::RawPacket rp; dc->DivertCapRead(buffer, sizeof(buffer), NULL); if (buffer[12] != 0x8) continue; - memcpy(rp.rawPacket.pckt, &buffer[14], pcktSize); + memcpy(&rp.rawPacket, &buffer[14], STG::packetSize); - dc->traffCnt->Process(rp); + dc->traffCnt->process(rp); } dc->isRunning = false; @@ -282,8 +277,8 @@ return 0; int DIVERT_CAP::ParseSettings() { int p; -PARAM_VALUE pv; -std::vector::const_iterator pvi; +STG::ParamValue pv; +std::vector::const_iterator pvi; pv.param = "Port"; pvi = std::find(settings.moduleParams.begin(), settings.moduleParams.end(), pv);