X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..1df847bedf888087c3e91f2f7b961f18128986ae:/projects/stargazer/plugins/capture/cap_nf/cap_nf.h?ds=sidebyside diff --git a/projects/stargazer/plugins/capture/cap_nf/cap_nf.h b/projects/stargazer/plugins/capture/cap_nf/cap_nf.h index 6844fe2a..bf45cfea 100644 --- a/projects/stargazer/plugins/capture/cap_nf/cap_nf.h +++ b/projects/stargazer/plugins/capture/cap_nf/cap_nf.h @@ -30,18 +30,28 @@ $Author: faust $ #ifndef __CAP_NF_H__ #define __CAP_NF_H__ -#include #include -#include "os_int.h" -#include "base_plugin.h" +#include -#define VERSION "CAP_NF v. 0.4" -#define START_POS 0 -#define STOP_POS 0 +#include "stg/os_int.h" +#include "stg/plugin.h" +#include "stg/module_settings.h" +#include "stg/logger.h" -struct NF_HEADER -{ +#define VERSION "CAP_NF v. 0.4" +#define START_POS 40 +#define STOP_POS 40 + +class USERS; +class USER; +class TARIFFS; +class ADMINS; +class TRAFFCOUNTER; +class STORE; +class SETTINGS; + +struct NF_HEADER { uint16_t version; // Protocol version uint16_t count; // Flows count uint32_t uptime; // System uptime @@ -53,8 +63,7 @@ struct NF_HEADER uint16_t sInterval; // Sampling mode and interval } __attribute__ ((packed)); -struct NF_DATA -{ +struct NF_DATA { uint32_t srcAddr; // Flow source address uint32_t dstAddr; // Flow destination address uint32_t nextHop; // IP addres on next hop router @@ -79,31 +88,28 @@ struct NF_DATA #define BUF_SIZE (sizeof(NF_HEADER) + 30 * sizeof(NF_DATA)) -class NF_CAP : public BASE_PLUGIN -{ +class NF_CAP : public PLUGIN { public: NF_CAP(); ~NF_CAP(); - void SetUsers(USERS *) {}; - void SetTariffs(TARIFFS *) {}; - void SetAdmins(ADMINS *) {}; - void SetTraffcounter(TRAFFCOUNTER * tc) { traffCnt = tc; }; - void SetStore(BASE_STORE *) {}; - void SetStgSettings(const SETTINGS *) {}; - void SetSettings(const MODULE_SETTINGS & s) { settings = s; }; + void SetTraffcounter(TRAFFCOUNTER * tc) { traffCnt = tc; } + void SetSettings(const MODULE_SETTINGS & s) { settings = s; } int ParseSettings(); int Start(); int Stop(); - int Reload() { return 0; }; - bool IsRunning() { return runningTCP || runningUDP; }; - const string & GetStrError() const { return errorStr; }; - const string GetVersion() const { return VERSION; }; - uint16_t GetStartPosition() const { return START_POS; }; - uint16_t GetStopPosition() const { return STOP_POS; }; + int Reload() { return 0; } + bool IsRunning() { return runningTCP || runningUDP; } + const std::string & GetStrError() const { return errorStr; } + const std::string GetVersion() const { return VERSION; } + uint16_t GetStartPosition() const { return START_POS; } + uint16_t GetStopPosition() const { return STOP_POS; } private: + NF_CAP(const NF_CAP & rvalue); + NF_CAP & operator=(const NF_CAP & rvalue); + TRAFFCOUNTER * traffCnt; MODULE_SETTINGS settings; pthread_t tidTCP; @@ -117,6 +123,7 @@ private: int sockTCP; int sockUDP; mutable std::string errorStr; + PLUGIN_LOGGER logger; static void * RunUDP(void *); static void * RunTCP(void *); @@ -124,12 +131,10 @@ private: bool OpenTCP(); bool OpenUDP(); - void CloseTCP() { close(sockTCP); }; - void CloseUDP() { close(sockUDP); }; - - bool WaitPackets(int sd) const; + void CloseTCP() { close(sockTCP); } + void CloseUDP() { close(sockUDP); } }; -extern "C" BASE_PLUGIN * GetPlugin(); +extern "C" PLUGIN * GetPlugin(); #endif