summaryrefslogtreecommitdiffstats
path: root/src/plugins/fts/fts-indexer.h
blob: 7ccbc7e8017d3eb1632650be6f59290fe2647bac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef FTS_BUILD_H
#define FTS_BUILD_H

struct fts_backend;
struct fts_indexer_context;

/* Initialize indexing the given mailbox via indexer service. Returns 1 if
   indexing started, 0 if there was no need to index or -1 if error. */
int fts_indexer_init(struct fts_backend *backend, struct mailbox *box,
		     struct fts_indexer_context **ctx_r);
/* Returns 0 if ok, -1 if error. */
int fts_indexer_deinit(struct fts_indexer_context **ctx);

/* Build more. Returns 1 if finished, 0 if this function needs to be called
   again, -1 if error. */
int fts_indexer_more(struct fts_indexer_context *ctx);

/* Returns fd, which you can either read from or close. */
int fts_indexer_cmd(struct mail_user *user, const char *cmd,
		    const char **path_r);

#endif