Tidying
[exim.git] / src / src / routers / redirect.h
CommitLineData
0756eb3c
PH
1/*************************************************
2* Exim - an Internet mail transport agent *
3*************************************************/
4
0a49a7a4 5/* Copyright (c) University of Cambridge 1995 - 2009 */
0756eb3c
PH
6/* See the file NOTICE for conditions of use and distribution. */
7
8/* Header for the redirect router */
9
10/* Private structure for the private options. */
11
12typedef struct {
13 transport_instance *directory_transport;
14 transport_instance *file_transport;
15 transport_instance *pipe_transport;
16 transport_instance *reply_transport;
17
18 uschar *data;
19 uschar *directory_transport_name;
20 uschar *file;
21 uschar *file_dir;
22 uschar *file_transport_name;
23 uschar *include_directory;
24 uschar *pipe_transport_name;
25 uschar *reply_transport_name;
e4a89c47
PH
26 uschar *sieve_subaddress;
27 uschar *sieve_useraddress;
0756eb3c 28 uschar *sieve_vacation_directory;
efd9a422 29 uschar *sieve_enotify_mailto_owner;
0756eb3c
PH
30 uschar *syntax_errors_text;
31 uschar *syntax_errors_to;
32 uschar *qualify_domain;
33
34 uid_t *owners;
35 gid_t *owngroups;
36
8523533c
TK
37#ifdef EXPERIMENTAL_SRS
38 uschar *srs;
8523533c 39 uschar *srs_alias;
384152a6
TK
40 uschar *srs_condition;
41 uschar *srs_dbinsert;
42 uschar *srs_dbselect;
8523533c
TK
43#endif
44
0756eb3c
PH
45 int modemask;
46 int bit_options;
47 BOOL check_ancestor;
48 BOOL check_group;
49 BOOL check_owner;
50 BOOL forbid_file;
51 BOOL forbid_filter_reply;
52 BOOL forbid_pipe;
a5bd321b 53 BOOL forbid_smtp_code;
0756eb3c
PH
54 BOOL hide_child_in_errmsg;
55 BOOL one_time;
56 BOOL qualify_preserve_domain;
57 BOOL skip_syntax_errors;
58} redirect_router_options_block;
59
60/* Data for reading the private options. */
61
62extern optionlist redirect_router_options[];
63extern int redirect_router_options_count;
64
65/* Block containing default values. */
66
67extern redirect_router_options_block redirect_router_option_defaults;
68
69/* The main and initialization entry points for the router */
70
71extern int redirect_router_entry(router_instance *, address_item *,
fd6de02e 72 struct passwd *, int, address_item **, address_item **,
0756eb3c
PH
73 address_item **, address_item **);
74
75extern void redirect_router_init(router_instance *);
76
77/* End of routers/redirect.h */