diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-04-21 16:25:51 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-04-21 16:25:51 +0100 |
commit | 61555065f3d1c8badcc9573691232f1b6e42988c (patch) | |
tree | 563d5b7cb8c468530f7e79c4da0a75267b1184e1 /src/trie.h | |
parent | ad5bf825b7f33bc10311673991f0cc888e69c0b1 (diff) | |
download | rspamd-61555065f3d1c8badcc9573691232f1b6e42988c.tar.gz rspamd-61555065f3d1c8badcc9573691232f1b6e42988c.zip |
Rework project structure, remove trash files.
Diffstat (limited to 'src/trie.h')
-rw-r--r-- | src/trie.h | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/trie.h b/src/trie.h deleted file mode 100644 index 2792ee4a5..000000000 --- a/src/trie.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (c) 2010, Vsevolod Stakhov - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY Rambler media ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL Rambler BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef TRIE_H_ -#define TRIE_H_ - -#include "config.h" -#include "mem_pool.h" - -/* - * Rspamd implements basic bitwise prefixed trie structure - */ - -struct rspamd_trie_match; - -struct rspamd_trie_state { - struct rspamd_trie_state *next; - struct rspamd_trie_state *fail; - struct rspamd_trie_match *match; - guint final; - gint id; -}; - -struct rspamd_trie_match { - struct rspamd_trie_match *next; - struct rspamd_trie_state *state; - gchar c; -}; - -typedef struct rspamd_trie_s { - struct rspamd_trie_state root; - GPtrArray *fail_states; - gboolean icase; - rspamd_mempool_t *pool; -} rspamd_trie_t; - -/* - * Create a new suffix trie - */ -rspamd_trie_t* rspamd_trie_create (gboolean icase); - -/* - * Insert a pattern into the trie - * @param trie suffix trie - * @param pattern text of element - * @param pattern_id id of element - */ -void rspamd_trie_insert (rspamd_trie_t *trie, const gchar *pattern, gint pattern_id); - -/* - * Search for a text using suffix trie - * @param trie suffix trie - * @param buffer a text where to search for trie patterns - * @param buflen a length of text - * @param mached_id on a successfull search here would be stored id of pattern found - * @return Position in a text where pattern was found or NULL if no patterns were found - */ -const gchar* rspamd_trie_lookup (rspamd_trie_t *trie, const gchar *buffer, gsize buflen, gint *matched_id); - -/* - * Deallocate suffix trie - */ -void rspamd_trie_free (rspamd_trie_t *trie); - -#endif /* TRIE_H_ */ |