diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2008-11-01 18:01:05 +0300 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2008-11-01 18:01:05 +0300 |
commit | 2aa9c74f1c449da92f6faf870f8cc801a83bb08b (patch) | |
tree | 33f0f941f08583fd0c4c3653cadde8d6ce8426c2 /src/filter.h | |
parent | cc5343692b448c27485a24ea7f1b24d714bb82f6 (diff) | |
download | rspamd-2aa9c74f1c449da92f6faf870f8cc801a83bb08b.tar.gz rspamd-2aa9c74f1c449da92f6faf870f8cc801a83bb08b.zip |
* Reorganize structure of source files
* Adopt build system for new structure
--HG--
rename : cfg_file.h => src/cfg_file.h
rename : cfg_file.l => src/cfg_file.l
rename : cfg_file.y => src/cfg_file.y
rename : cfg_utils.c => src/cfg_utils.c
rename : controller.c => src/controller.c
rename : filter.c => src/filter.c
rename : filter.h => src/filter.h
rename : fstring.c => src/fstring.c
rename : fstring.h => src/fstring.h
rename : main.c => src/main.c
rename : main.h => src/main.h
rename : mem_pool.c => src/mem_pool.c
rename : mem_pool.h => src/mem_pool.h
rename : memcached-test.c => src/memcached-test.c
rename : memcached.c => src/memcached.c
rename : memcached.h => src/memcached.h
rename : perl.c => src/perl.c
rename : perl.h => src/perl.h
rename : plugins/regexp.c => src/plugins/regexp.c
rename : plugins/surbl.c => src/plugins/surbl.c
rename : protocol.c => src/protocol.c
rename : protocol.h => src/protocol.h
rename : upstream.c => src/upstream.c
rename : upstream.h => src/upstream.h
rename : url.c => src/url.c
rename : url.h => src/url.h
rename : util.c => src/util.c
rename : util.h => src/util.h
rename : worker.c => src/worker.c
Diffstat (limited to 'src/filter.h')
-rw-r--r-- | src/filter.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/filter.h b/src/filter.h new file mode 100644 index 000000000..ce8be7ecd --- /dev/null +++ b/src/filter.h @@ -0,0 +1,43 @@ +#ifndef RSPAMD_FILTER_H +#define RSPAMD_FILTER_H + +#include <sys/types.h> +#ifndef HAVE_OWN_QUEUE_H +#include <sys/queue.h> +#else +#include "queue.h" +#endif +#include <glib.h> + +struct worker_task; + +typedef double (*metric_cons_func)(struct worker_task *task, const char *metric_name); +typedef void (*filter_func)(struct worker_task *task); + +enum filter_type { C_FILTER, PERL_FILTER }; + +struct filter { + char *func_name; + enum filter_type type; + LIST_ENTRY (filter) next; +}; + +struct metric { + char *name; + char *func_name; + metric_cons_func func; + double required_score; +}; + +struct metric_result { + struct metric *metric; + double score; + GHashTable *symbols; +}; + +int process_filters (struct worker_task *task); +void insert_result (struct worker_task *task, const char *metric_name, const char *symbol, u_char flag); +void make_composites (struct worker_task *task); +double factor_consolidation_func (struct worker_task *task, const char *metric_name); + +#endif |