Dico |
|
GNU Dictionary Server |
Sergey Poznyakoff |
6.2 Strategies
A search strategy is described by the following structure:
struct dico_strategy { char *name; /* Strategy name */ char *descr; /* Strategy description */ dico_select_t sel; /* Selector function */ void *closure; /* Additional data for SEL */ int is_default; /* True, if this is a default strategy */ dico_list_t stratcl; /* Strategy access control list */ };
The first two members are mandatory and must be defined for each strategy:
- member of struct dico_strategy:
char *
name Short name of the strategy. It is used as second argument to the
MATCH
command (see MATCH) and is displayed in the first column of output by theSHOW STRAT
command (see SHOW STRAT).
- member of struct dico_strategy:
char *
descr Strategy description. It is the string shown in the second column of
SHOW STRAT
output (see SHOW STRAT).
- member of struct dico_strategy: dico_select_t sel
-
A selector function, which is used in iterative matches to select matching headwords. The
sel
function is called for each headword in the database with the headword and search key as its arguments and returns 1 if the headword matches the key and 0 otherwise. Thedico_select_t
type is defined as:typedef int (*dico_select_t) (int, dico_key_t, const char *);
See Selector, for a detailed description.
- member of struct dico_strategy:
void *
closure An opaque data pointer intended for use by the selector function.
- member of struct dico_strategy: int is_default
This member is set to 1 by the server if this strategy is selected as the default one (see default strategy).
- member of struct dico_strategy: dico_list_t stratcl
A control list associated with this strategy. See Strategies and Default Searches.
This document was generated on September 4, 2020 using makeinfo.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.