]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/capture/cap_nf/cap_nf.h
Configuration library refactoring (AUTH_BY)
[stg.git] / projects / stargazer / plugins / capture / cap_nf / cap_nf.h
index 43d6e0987a77521b82d7b92691e970ccf39ba56a..23f7d7db2e18fc4f4f176581dce105c507b65949 100644 (file)
@@ -37,6 +37,7 @@ $Author: faust $
 #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 40
@@ -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))
 
@@ -101,7 +102,7 @@ public:
     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; }
 
@@ -122,10 +123,11 @@ 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();
@@ -133,6 +135,4 @@ private:
     void CloseUDP() { close(sockUDP); }
 };
 
-extern "C" PLUGIN * GetPlugin();
-
 #endif