Current File : /home/inlingua/public_html/decay_sym/root/usr/local/apps/dovecot/include/dovecot/lmtp-recipient.h |
#ifndef LMTP_RECIPIENT_H
#define LMTP_RECIPIENT_H
struct smtp_address;
struct smtp_server_cmd_ctx;
struct smtp_server_cmd_rcpt;
struct smtp_server_recipient;
union lmtp_recipient_module_context;
struct client;
enum lmtp_recipient_type {
LMTP_RECIPIENT_TYPE_LOCAL,
LMTP_RECIPIENT_TYPE_PROXY,
};
struct lmtp_recipient {
struct client *client;
struct smtp_server_recipient *rcpt;
enum lmtp_recipient_type type;
void *backend_context;
const char *session_id;
const char *forward_fields;
/* Module-specific contexts. */
ARRAY(union lmtp_recipient_module_context *) module_contexts;
};
struct lmtp_recipient_module_register {
unsigned int id;
};
union lmtp_recipient_module_context {
struct lmtp_recipient_module_register *reg;
};
extern struct lmtp_recipient_module_register lmtp_recipient_module_register;
struct lmtp_recipient *
lmtp_recipient_create(struct client *client,
struct smtp_server_transaction *trans,
struct smtp_server_recipient *rcpt);
struct lmtp_recipient *
lmtp_recipient_find_duplicate(struct lmtp_recipient *lrcpt,
struct smtp_server_transaction *trans);
#endif