summaryrefslogtreecommitdiffstats
path: root/pigeonhole/src/lib-sieve/plugins/include/ext-include-variables.h
blob: d5927b29748d905254b9e830d404e21d6fd3c6bc (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
#ifndef EXT_INCLUDE_VARIABLES_H
#define EXT_INCLUDE_VARIABLES_H

#include "sieve-common.h"

#include "sieve-ext-variables.h"

#include "ext-include-common.h"

/*
 * Variable import-export
 */

struct sieve_variable *ext_include_variable_import_global
	(struct sieve_validator *valdtr, struct sieve_command *cmd,
		const char *variable);

/*
 * Binary symbol table
 */

bool ext_include_variables_save
	(struct sieve_binary_block *sblock,
		struct sieve_variable_scope_binary *global_vars,
		enum sieve_error *error_r);
bool ext_include_variables_load
	(const struct sieve_extension *this_ext, struct sieve_binary_block *sblock,
		sieve_size_t *offset, struct sieve_variable_scope_binary **global_vars_r);
bool ext_include_variables_dump
	(struct sieve_dumptime_env *denv,
		struct sieve_variable_scope_binary *global_vars);

/*
 * Validation
 */

void ext_include_variables_global_namespace_init
	(const struct sieve_extension *this_ext, struct sieve_validator *valdtr);

#endif