summaryrefslogtreecommitdiffstats
path: root/pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h
blob: 8a6cc362f56416c28e9346001497be037114ffec (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
43
44
45
46
47
48
#ifndef EXT_EDITHEADER_COMMON_H
#define EXT_EDITHEADER_COMMON_H

/*
 * Commands
 */

extern const struct sieve_command_def addheader_command;
extern const struct sieve_command_def deleteheader_command;

/*
 * Operations
 */

enum ext_imap4flags_opcode {
	EXT_EDITHEADER_OPERATION_ADDHEADER,
	EXT_EDITHEADER_OPERATION_DELETEHEADER,
};

extern const struct sieve_operation_def addheader_operation;
extern const struct sieve_operation_def deleteheader_operation;

/*
 * Extension
 */

extern const struct sieve_extension_def editheader_extension;

bool ext_editheader_load(const struct sieve_extension *ext, void **context);
void ext_editheader_unload(const struct sieve_extension *ext);

/*
 * Protected headers
 */

bool ext_editheader_header_allow_add(const struct sieve_extension *ext,
				     const char *hname);
bool ext_editheader_header_allow_delete(const struct sieve_extension *ext,
					const char *hname);

/*
 * Limits
 */

bool ext_editheader_header_too_large(const struct sieve_extension *ext,
				     size_t size);

#endif