]> jfr.im git - irc/quakenet/newserv.git/blob - patriciasearch/patriciasearch.h
New module: nickwatch
[irc/quakenet/newserv.git] / patriciasearch / patriciasearch.h
1 #include "../newsearch/newsearch.h"
2 #include "../patricia/patricia.h"
3 #include "../patricianick/patricianick.h"
4 #include "../newsearch/parser.h"
5
6 typedef void (*NodeDisplayFunc)(struct searchCtx *, nick *, patricia_node_t *);
7
8 void printnode(searchCtx *, nick *, patricia_node_t *);
9
10 void pnodesearch_exe(struct searchNode *search, searchCtx *ctx, patricia_node_t *subset);
11
12 int do_pnodesearch_real(replyFunc reply, wallFunc wall, void *source, int cargc, char **cargv);
13
14 int ast_nodesearch(searchASTExpr *tree, replyFunc reply, void *sender, wallFunc wall, NodeDisplayFunc display, HeaderFunc header, void *headerarg, int limit, patricia_node_t *target);
15
16 void regpnodedisp(const char *name, NodeDisplayFunc handler);
17 void unregpnodedisp(const char *name, NodeDisplayFunc handler);
18
19 extern NodeDisplayFunc defaultpnodefn;
20 extern searchCmd *reg_nodesearch;
21
22 struct searchNode *ps_nick_parse(searchCtx *ctx, int argc, char **argv);
23 struct searchNode *ps_users_parse(searchCtx *ctx, int argc, char **argv);
24 struct searchNode *ps_ipv6_parse(searchCtx *ctx, int argc, char **argv);