blob: 8af182b43061b4b1cfe10276145c041f65584f6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#ifndef SIEVE_EXECUTE_H
#define SIEVE_EXECUTE_H
#include "sieve-common.h"
struct sieve_execute_state;
struct sieve_execute_env {
struct sieve_instance *svinst;
pool_t pool;
enum sieve_execute_flags flags;
struct event *event;
const struct sieve_message_data *msgdata;
const struct sieve_script_env *scriptenv;
struct sieve_execute_state *state;
struct sieve_exec_status *exec_status;
};
void sieve_execute_init(struct sieve_execute_env *eenv,
struct sieve_instance *svinst, pool_t pool,
const struct sieve_message_data *msgdata,
const struct sieve_script_env *senv,
enum sieve_execute_flags flags);
void sieve_execute_finish(struct sieve_execute_env *eenv, int status);
void sieve_execute_deinit(struct sieve_execute_env *eenv);
/*
* Checking for duplicates
*/
bool sieve_execute_duplicate_check_available(
const struct sieve_execute_env *eenv);
int sieve_execute_duplicate_check(const struct sieve_execute_env *eenv,
const void *id, size_t id_size,
bool *duplicate_r);
void sieve_execute_duplicate_mark(const struct sieve_execute_env *eenv,
const void *id, size_t id_size, time_t time);
#endif
|