1
/* Copyright (c) 2002-2009 Dovecot Sieve authors, see the included COPYING file
4
#ifndef __SIEVE_ADDRESS_H
5
#define __SIEVE_ADDRESS_H
11
* Generic address representation
14
struct sieve_address {
15
const char *local_part;
19
static inline const char *sieve_address_to_string(const struct sieve_address *address)
21
if ( address == NULL || address->local_part == NULL || address->domain == NULL )
24
return t_strconcat(address->local_part, "@", address->domain, NULL);
31
bool sieve_rfc2822_mailbox_validate
32
(const char *address, const char **error_r);
33
const char *sieve_rfc2822_mailbox_normalize
34
(const char *address, const char **error_r);
37
const char *sieve_address_normalize
38
(string_t *address, const char **error_r);
39
bool sieve_address_validate
40
(string_t *address, const char **error_r);
42
int sieve_address_compare
43
(const char *address1, const char *address2, bool normalized);
46
* RFC 2821 addresses (paths)
49
const struct sieve_address *sieve_address_parse_envelope_path
50
(pool_t pool, const char *field_value);