summaryrefslogtreecommitdiffstats
path: root/pigeonhole/src/lib-sieve/sieve-runtime.h
blob: fa5060299ed97bf4a11c3b6f009359fd6701b010 (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
#ifndef SIEVE_RUNTIME_H
#define SIEVE_RUNTIME_H

#include "sieve-common.h"
#include "sieve-execute.h"

/*
 * Runtime environment
 */

struct sieve_runtime_env {
	const struct sieve_execute_env *exec_env;
	struct event *event;

	/* Interpreter */
	struct sieve_interpreter *interp;
	struct sieve_error_handler *ehandler;

	/* Executing script */
	struct sieve_script *script;

	/* Executing binary */
	struct sieve_binary *sbin;
	struct sieve_binary_block *sblock;

	/* Current code */
	sieve_size_t pc;
	const struct sieve_operation *oprtn;

	/* Tested message */
	struct sieve_message_context *msgctx;

	/* Filter result */
	struct sieve_result *result;

	/* Runtime tracing */
	struct sieve_runtime_trace *trace;
};

#endif