summaryrefslogtreecommitdiffstats
path: root/src/submission/submission-recipient.h
blob: d80046f0e50b06144c3f24b2a0768c948912757e (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
#ifndef SUBMISSION_RECIPIENT_H
#define SUBMISSION_RECIPIENT_H

struct submission_backend;
struct client;

struct submission_recipient {
	struct smtp_server_recipient *rcpt;

	struct submission_backend *backend;
	void *backend_context;

	/* Module-specific contexts. */
	ARRAY(union submission_recipient_module_context *) module_contexts;

	bool anonymous_allowed:1;
};

struct submission_recipient_module_register {
	unsigned int id;
};

union submission_recipient_module_context {
	struct submission_recipient_module_register *reg;
};
extern struct submission_recipient_module_register
submission_recipient_module_register;

struct submission_recipient *
submission_recipient_create(struct client *client,
			    struct smtp_server_recipient *rcpt);

#endif