File: sieve-ext-imap4flags.h

package info (click to toggle)
dovecot 1%3A2.2.27-3%2Bdeb9u2~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 48,520 kB
  • sloc: ansic: 430,475; sh: 17,438; makefile: 6,587; cpp: 1,557; perl: 295; python: 67; xml: 44; pascal: 27
file content (71 lines) | stat: -rw-r--r-- 1,716 bytes parent folder | download | duplicates (3)
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
/* Copyright (c) 2002-2016 Pigeonhole authors, see the included COPYING file
 */

#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;

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

/*
 * 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