File: sieve-ext-imap4flags.h

package info (click to toggle)
dovecot 1:2.3.4.1-5+deb10u1~bpo9+1
  • links: PTS, VCS
  • area: main
  • in suites: stretch-backports
  • size: 46,880 kB
  • sloc: ansic: 499,137; makefile: 7,352; sh: 5,592; cpp: 1,555; perl: 303; python: 73; xml: 44; pascal: 27
file content (74 lines) | stat: -rw-r--r-- 1,833 bytes parent folder | download | duplicates (4)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#ifndef SIEVE_EXT_IMAP4FLAGS_H
#define SIEVE_EXT_IMAP4FLAGS_H

struct sieve_variable_storage;

/*
 * Imap4flags extension
 */

/* FIXME: this is not suitable for future plugin support */

extern const struct sieve_extension_def imap4flags_extension;
extern const struct sieve_interpreter_extension
	imap4flags_interpreter_extension;

static inline const struct sieve_extension *
sieve_ext_imap4flags_require_extension
(struct sieve_instance *svinst)
{
	return sieve_extension_require
		(svinst, &imap4flags_extension, TRUE);
}

void sieve_ext_imap4flags_interpreter_load
(const struct sieve_extension *ext,
	const struct sieve_runtime_env *renv);

/*
 * Action side-effect
 */

void sieve_ext_imap4flags_register_side_effect
(struct sieve_validator *valdtr, const struct sieve_extension *flg_ext,
        const char *command);

/*
 * Flag syntax
 */

bool sieve_ext_imap4flags_flag_is_valid(const char *flag);

/*
 * Flag manipulation
 */

int sieve_ext_imap4flags_set_flags
(const struct sieve_runtime_env *renv,
	const struct sieve_extension *flg_ext,
	struct sieve_variable_storage *storage,
	unsigned int var_index,
	struct sieve_stringlist *flags) ATTR_NULL(3);
int sieve_ext_imap4flags_add_flags
(const struct sieve_runtime_env *renv,
	const struct sieve_extension *flg_ext,
	struct sieve_variable_storage *storage,
	unsigned int var_index,
	struct sieve_stringlist *flags) ATTR_NULL(3);
int sieve_ext_imap4flags_remove_flags
(const struct sieve_runtime_env *renv,
	const struct sieve_extension *flg_ext,
	struct sieve_variable_storage *storage,
	unsigned int var_index,
	struct sieve_stringlist *flags) ATTR_NULL(3);

/*
 * Flag retrieval
 */

struct sieve_stringlist *sieve_ext_imap4flags_get_flags
(const struct sieve_runtime_env *renv,
	const struct sieve_extension *flg_ext,
	struct sieve_stringlist *flags_list);

#endif