Details
enum filter_category_t
typedef enum {
FILTER_CATEGORY_REPORTING = 0,
FILTER_CATEGORY_DATABASE = 1, /* soon to go with reporting thought libpreludedb */
FILTER_CATEGORY_RELAYING = 2,
FILTER_CATEGORY_PLUGIN = 3,
FILTER_CATEGORY_END = 4, /* should be the latest, do not remove */
} filter_category_t;
filter_entry_t
typedef struct {
/*
* What category/plugin should this entry be hooked at.
*/
filter_category_t category;
plugin_generic_t *plugin;
/*
* private data associated with an entry.
*/
void *private_data;
} filter_entry_t;
plugin_filter_t
typedef struct {
PLUGIN_GENERIC;
filter_entry_t *category;
int (*run)(const idmef_message_t *message, void *data);
} plugin_filter_t;
plugin_run_func()
#define plugin_run_func(p)
plugin_close_func()
#define plugin_close_func(p)
plugin_set_running_func()
#define plugin_set_running_func(p, f)
plugin_set_closing_func()
#define plugin_set_closing_func(p, f)
filter_plugins_init ()
int filter_plugins_init (const char *dirname,
int argc,
char **argv);
filter_plugins_run_by_category ()
int filter_plugins_run_by_category (const idmef_message_t *msg,
filter_category_t cat);
filter_plugins_run_by_plugin ()
int filter_plugins_run_by_plugin (const idmef_message_t *message,
plugin_generic_t *plugin);
plugin_init ()
plugin_generic_t* plugin_init (int argc,
char **argv);