File: sieve-address-source.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 (39 lines) | stat: -rw-r--r-- 1,065 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
/* Copyright (c) 2002-2016 Pigeonhole authors, see the included COPYING file
 */

#ifndef __SIEVE_ADDRESS_SOURCE_H
#define __SIEVE_ADDRESS_SOURCE_H

#include "sieve-common.h"

enum sieve_address_source_type {
	SIEVE_ADDRESS_SOURCE_DEFAULT = 0,
	SIEVE_ADDRESS_SOURCE_SENDER,
	SIEVE_ADDRESS_SOURCE_RECIPIENT,
	SIEVE_ADDRESS_SOURCE_ORIG_RECIPIENT,
	SIEVE_ADDRESS_SOURCE_USER_EMAIL,
	SIEVE_ADDRESS_SOURCE_POSTMASTER,
	SIEVE_ADDRESS_SOURCE_EXPLICIT
};

struct sieve_address_source {
	enum sieve_address_source_type type;
	const struct sieve_address *address;
};

bool sieve_address_source_parse
	(pool_t pool, const char *value,
		struct sieve_address_source *asrc);
bool sieve_address_source_parse_from_setting
	(struct sieve_instance *svinst, pool_t pool,
		const char *setting, struct sieve_address_source *asrc);

int sieve_address_source_get_address
	(struct sieve_address_source *asrc,
		struct sieve_instance *svinst,
		const struct sieve_script_env *senv,
		struct sieve_message_context *msgctx,
		enum sieve_execute_flags flags,
		const char **addr_r);

#endif