nfmod/ruleset.hpp
#pragma once
#include "common.hpp"
#include "nfq.hpp"
#include "match.hpp"
#include "stream.hpp"
#define MAX_QUEUE_NUM 255
class Ruleset {
public:
typedef struct {
NFQ* queue;
Match* match;
} ruleset_t;
private:
Ruleset(ruleset_t*, const char*);
ruleset_t* const ruleset;
char* const fn;
static void cb(unsigned char*, size_t, NFQ::result_t&, void*); ///< parses packet and calls matches, @see NFQ:cb_t
public:
static Ruleset* getInst(const char*); ///< parses ruleset file and creates needed queues
bool reload();
~Ruleset();
};