summaryrefslogtreecommitdiffstats
path: root/src/lmtp/lmtp-local.h
blob: 8ef942fcadcdb4dae2461f4a637cacccbb86a0f8 (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
#ifndef LMTP_LOCAL_H
#define LMTP_LOCAL_H

#include "net.h"

struct mail_deliver_session;
struct smtp_server_cmd_ctx;
struct smtp_server_cmd_rcpt;
struct lmtp_local;
struct client;

void lmtp_local_deinit(struct lmtp_local **_local);

int lmtp_local_rcpt(struct client *client,
		    struct smtp_server_cmd_ctx *cmd,
		    struct lmtp_recipient *lrcpt, const char *username,
		    const char *detail);

void lmtp_local_add_headers(struct lmtp_local *local,
			    struct smtp_server_transaction *trans,
			    string_t *headers);

int lmtp_local_default_deliver(struct client *client,
			       struct lmtp_recipient *lrcpt,
			       struct smtp_server_cmd_ctx *cmd,
			       struct smtp_server_transaction *trans,
			       struct lmtp_local_deliver_context *lldctx);

void lmtp_local_data(struct client *client,
		     struct smtp_server_cmd_ctx *cmd,
		     struct smtp_server_transaction *trans,
		     struct istream *input);

#endif