![Thomas Graf](/assets/img/avatar_default.png)
A finite state machine consists of n states (struct ts_fsm_token) representing the pattern as a finite automation. The data is read sequentially on a octet basis. Every state token specifies the number of recurrences and the type of value accepted which can be either a specific character or ctype based set of characters. The available type of recurrences include 1, (0|1), [0 n], and [1 n]. The algorithm differs between strict/non-strict mode specyfing whether the pattern has to start at the first octect. Strict mode is enabled by default and can be disabled by inserting TS_FSM_HEAD_IGNORE as the first token in the chain. The runtime performance of the algorithm should be around O(n), however while in strict mode the average runtime can be better. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
95 lines
2.1 KiB
Plaintext
95 lines
2.1 KiB
Plaintext
#
|
|
# Library configuration
|
|
#
|
|
|
|
menu "Library routines"
|
|
|
|
config CRC_CCITT
|
|
tristate "CRC-CCITT functions"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC-CCITT functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC-CCITT
|
|
functions require M here.
|
|
|
|
config CRC32
|
|
tristate "CRC32 functions"
|
|
default y
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC32 functions, but a module built outside the
|
|
kernel tree does. Such modules that use library CRC32 functions
|
|
require M here.
|
|
|
|
config LIBCRC32C
|
|
tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC32c functions, but a module built outside the
|
|
kernel tree does. Such modules that use library CRC32c functions
|
|
require M here. See Castagnoli93.
|
|
Module will be libcrc32c.
|
|
|
|
#
|
|
# compression support is select'ed if needed
|
|
#
|
|
config ZLIB_INFLATE
|
|
tristate
|
|
|
|
config ZLIB_DEFLATE
|
|
tristate
|
|
|
|
#
|
|
# Generic allocator support is selected if needed
|
|
#
|
|
config GENERIC_ALLOCATOR
|
|
boolean
|
|
|
|
#
|
|
# reed solomon support is select'ed if needed
|
|
#
|
|
config REED_SOLOMON
|
|
tristate
|
|
|
|
config REED_SOLOMON_ENC8
|
|
boolean
|
|
|
|
config REED_SOLOMON_DEC8
|
|
boolean
|
|
|
|
config REED_SOLOMON_ENC16
|
|
boolean
|
|
|
|
config REED_SOLOMON_DEC16
|
|
boolean
|
|
|
|
config TEXTSEARCH
|
|
boolean "Textsearch infrastructure"
|
|
default y
|
|
help
|
|
Say Y here if you want to provide a textsearch infrastructure
|
|
to other subsystems.
|
|
|
|
config TEXTSEARCH_KMP
|
|
depends on TEXTSEARCH
|
|
tristate "Knuth-Morris-Pratt"
|
|
help
|
|
Say Y here if you want to be able to search text using the
|
|
Knuth-Morris-Pratt textsearch algorithm.
|
|
|
|
To compile this code as a module, choose M here: the
|
|
module will be called ts_kmp.
|
|
|
|
config TEXTSEARCH_FSM
|
|
depends on TEXTSEARCH
|
|
tristate "Finite state machine"
|
|
help
|
|
Say Y here if you want to be able to search text using a
|
|
naive finite state machine approach implementing a subset
|
|
of regular expressions.
|
|
|
|
To compile this code as a module, choose M here: the
|
|
module will be called ts_fsm.
|
|
|
|
endmenu
|