]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/capture/cap_nf/cap_nf.h
Fixed "always online" parameter.
[stg.git] / projects / stargazer / plugins / capture / cap_nf / cap_nf.h
index 3b5313530bc9d020e9af674aad0283f9f9812007..23f7d7db2e18fc4f4f176581dce105c507b65949 100644 (file)
@@ -37,10 +37,11 @@ $Author: faust $
 #include "stg/os_int.h"
 #include "stg/plugin.h"
 #include "stg/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 VERSION "CAP_NF v. 0.4"
-#define START_POS 10
-#define STOP_POS 10
+#define START_POS 40
+#define STOP_POS 40
 
 class USERS;
 class USER;
 
 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
     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
 
 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
     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))
 
 
 #define BUF_SIZE (sizeof(NF_HEADER) + 30 * sizeof(NF_DATA))
 
@@ -101,11 +102,14 @@ public:
     int             Reload() { return 0; }
     bool            IsRunning() { return runningTCP || runningUDP; }
     const std::string & GetStrError() const { return errorStr; }
     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:
     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;
     TRAFFCOUNTER * traffCnt;
     MODULE_SETTINGS settings;
     pthread_t tidTCP;
@@ -119,10 +123,11 @@ private:
     int sockTCP;
     int sockUDP;
     mutable std::string errorStr;
     int sockTCP;
     int sockUDP;
     mutable std::string errorStr;
+    PLUGIN_LOGGER logger;
 
     static void * RunUDP(void *);
     static void * RunTCP(void *);
 
     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();
 
     bool OpenTCP();
     bool OpenUDP();
@@ -130,6 +135,4 @@ private:
     void CloseUDP() { close(sockUDP); }
 };
 
     void CloseUDP() { close(sockUDP); }
 };
 
-extern "C" PLUGIN * GetPlugin();
-
 #endif
 #endif