diff options
Diffstat (limited to 'lib/textsearch.c')
| -rw-r--r-- | lib/textsearch.c | 40 | 
1 files changed, 23 insertions, 17 deletions
diff --git a/lib/textsearch.c b/lib/textsearch.c index 0b79908dfe89..5939549c0e7b 100644 --- a/lib/textsearch.c +++ b/lib/textsearch.c @@ -10,7 +10,10 @@   * 		Pablo Neira Ayuso <pablo@netfilter.org>   *   * ========================================================================== - * + */ + +/** + * DOC: ts_intro   * INTRODUCTION   *   *   The textsearch infrastructure provides text searching facilities for @@ -19,7 +22,9 @@   *   * ARCHITECTURE   * - *      User + * .. code-block:: none + * + *     User   *     +----------------+   *     |        finish()|<--------------(6)-----------------+   *     |get_next_block()|<--------------(5)---------------+ | @@ -33,21 +38,21 @@   *     |             (3)|----->| find()/next() |-----------+          |   *     |             (7)|----->| destroy()     |----------------------+   *     +----------------+      +---------------+ - *   - *   (1) User configures a search by calling _prepare() specifying the - *       search parameters such as the pattern and algorithm name. + * + *   (1) User configures a search by calling textsearch_prepare() specifying + *       the search parameters such as the pattern and algorithm name.   *   (2) Core requests the algorithm to allocate and initialize a search   *       configuration according to the specified parameters. - *   (3) User starts the search(es) by calling _find() or _next() to - *       fetch subsequent occurrences. A state variable is provided - *       to the algorithm to store persistent variables. + *   (3) User starts the search(es) by calling textsearch_find() or + *       textsearch_next() to fetch subsequent occurrences. A state variable + *       is provided to the algorithm to store persistent variables.   *   (4) Core eventually resets the search offset and forwards the find()   *       request to the algorithm.   *   (5) Algorithm calls get_next_block() provided by the user continuously   *       to fetch the data to be searched in block by block.   *   (6) Algorithm invokes finish() after the last call to get_next_block   *       to clean up any leftovers from get_next_block. (Optional) - *   (7) User destroys the configuration by calling _destroy(). + *   (7) User destroys the configuration by calling textsearch_destroy().   *   (8) Core notifies the algorithm to destroy algorithm specific   *       allocations. (Optional)   * @@ -62,9 +67,10 @@   *   amount of times and even in parallel as long as a separate struct   *   ts_state variable is provided to every instance.   * - *   The actual search is performed by either calling textsearch_find_- - *   continuous() for linear data or by providing an own get_next_block() - *   implementation and calling textsearch_find(). Both functions return + *   The actual search is performed by either calling + *   textsearch_find_continuous() for linear data or by providing + *   an own get_next_block() implementation and + *   calling textsearch_find(). Both functions return   *   the position of the first occurrence of the pattern or UINT_MAX if   *   no match was found. Subsequent occurrences can be found by calling   *   textsearch_next() regardless of the linearity of the data. @@ -72,7 +78,7 @@   *   Once you're done using a configuration it must be given back via   *   textsearch_destroy.   * - * EXAMPLE + * EXAMPLE::   *   *   int pos;   *   struct ts_config *conf; @@ -87,13 +93,13 @@   *       goto errout;   *   }   * - *   pos = textsearch_find_continuous(conf, &state, example, strlen(example)); + *   pos = textsearch_find_continuous(conf, \&state, example, strlen(example));   *   if (pos != UINT_MAX) - *       panic("Oh my god, dancing chickens at %d\n", pos); + *       panic("Oh my god, dancing chickens at \%d\n", pos);   *   *   textsearch_destroy(conf); - * ==========================================================================   */ +/* ========================================================================== */  #include <linux/module.h>  #include <linux/types.h> @@ -225,7 +231,7 @@ static unsigned int get_linear_data(unsigned int consumed, const u8 **dst,   *   * Returns the position of first occurrence of the pattern or   * %UINT_MAX if no occurrence was found. - */  + */  unsigned int textsearch_find_continuous(struct ts_config *conf,  					struct ts_state *state,  					const void *data, unsigned int len)  | 
