X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/ede91934442fd804d7b818971a44e3ad795cb01f..a8690e044055da20e4cf7d7d7e51d182b5e09154:/projects/stargazer/plugins/capture/cap_nf/cap_nf.h?ds=inline diff --git a/projects/stargazer/plugins/capture/cap_nf/cap_nf.h b/projects/stargazer/plugins/capture/cap_nf/cap_nf.h index c778a663..bcb8b743 100644 --- a/projects/stargazer/plugins/capture/cap_nf/cap_nf.h +++ b/projects/stargazer/plugins/capture/cap_nf/cap_nf.h @@ -34,13 +34,14 @@ $Author: faust $ #include -#include "os_int.h" -#include "plugin.h" -#include "module_settings.h" +#include "stg/os_int.h" +#include "stg/plugin.h" +#include "stg/module_settings.h" +#include "stg/logger.h" -#define VERSION "CAP_NF v. 0.4" -#define START_POS 0 -#define STOP_POS 0 +#define VERSION "cap_nf v. 0.4" +#define START_POS 40 +#define STOP_POS 40 class USERS; class USER; @@ -60,7 +61,7 @@ struct NF_HEADER { uint8_t eType; // Engine type uint8_t eID; // Engine ID uint16_t sInterval; // Sampling mode and interval -} __attribute__ ((packed)); +}; struct NF_DATA { uint32_t srcAddr; // Flow source address @@ -83,7 +84,7 @@ struct NF_DATA { uint8_t srcMask; // Source address mask in "slash" notation uint8_t dstMask; // Destination address mask in "slash" notation uint16_t pad2; // 2-byte padding -} __attribute__ ((packed)); +}; #define BUF_SIZE (sizeof(NF_HEADER) + 30 * sizeof(NF_DATA)) @@ -92,12 +93,7 @@ public: NF_CAP(); ~NF_CAP(); - void SetUsers(USERS *) {} - void SetTariffs(TARIFFS *) {} - void SetAdmins(ADMINS *) {} void SetTraffcounter(TRAFFCOUNTER * tc) { traffCnt = tc; } - void SetStore(STORE *) {} - void SetStgSettings(const SETTINGS *) {} void SetSettings(const MODULE_SETTINGS & s) { settings = s; } int ParseSettings(); @@ -105,12 +101,15 @@ public: int Stop(); int Reload() { return 0; } bool IsRunning() { return runningTCP || runningUDP; } - const string & GetStrError() const { return errorStr; } - const string GetVersion() const { return VERSION; } + const std::string & GetStrError() const { return errorStr; } + 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; @@ -124,19 +123,16 @@ private: int sockTCP; int sockUDP; mutable std::string errorStr; + PLUGIN_LOGGER logger; static void * RunUDP(void *); static void * RunTCP(void *); - void ParseBuffer(uint8_t *, int); + void ParseBuffer(uint8_t * buf, ssize_t size); bool OpenTCP(); bool OpenUDP(); void CloseTCP() { close(sockTCP); } void CloseUDP() { close(sockUDP); } - - bool WaitPackets(int sd) const; }; -extern "C" PLUGIN * GetPlugin(); - #endif