forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
textsearch: fix kernel-doc warnings and add kernel-api section
Make lib/textsearch.c usable as kernel-doc. Add textsearch() function family to kernel-api documentation. Fix kernel-doc warnings in <linux/textsearch.h>: ../include/linux/textsearch.h:65: warning: Incorrect use of kernel-doc format: * get_next_block - fetch next block of data ../include/linux/textsearch.h:82: warning: Incorrect use of kernel-doc format: * finish - finalize/clean a series of get_next_block() calls Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: David S. Miller <[email protected]>
- Loading branch information
Showing
3 changed files
with
38 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,10 @@ | |
* Pablo Neira Ayuso <[email protected]> | ||
* | ||
* ========================================================================== | ||
* | ||
*/ | ||
|
||
/** | ||
* 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,17 +67,18 @@ | |
* 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. | ||
* | ||
* 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) | ||
|