#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 10
-#define STOP_POS 10
+#define VERSION "cap_nf v. 0.4"
+#define START_POS 40
+#define STOP_POS 40
class USERS;
class USER;
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
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))
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();
int Reload() { return 0; }
bool IsRunning() { return runningTCP || runningUDP; }
const std::string & GetStrError() const { return errorStr; }
- const std::string GetVersion() const { return VERSION; }
+ 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;
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