Start
[exim.git] / src / src / routers / redirect.h
1 /* $Cambridge: exim/src/src/routers/redirect.h,v 1.1 2004/10/07 13:10:02 ph10 Exp $ */
2
3 /*************************************************
4 * Exim - an Internet mail transport agent *
5 *************************************************/
6
7 /* Copyright (c) University of Cambridge 1995 - 2004 */
8 /* See the file NOTICE for conditions of use and distribution. */
9
10 /* Header for the redirect router */
11
12 /* Private structure for the private options. */
13
14 typedef struct {
15 transport_instance *directory_transport;
16 transport_instance *file_transport;
17 transport_instance *pipe_transport;
18 transport_instance *reply_transport;
19
20 uschar *data;
21 uschar *directory_transport_name;
22 uschar *file;
23 uschar *file_dir;
24 uschar *file_transport_name;
25 uschar *include_directory;
26 uschar *pipe_transport_name;
27 uschar *reply_transport_name;
28 uschar *sieve_vacation_directory;
29 uschar *syntax_errors_text;
30 uschar *syntax_errors_to;
31 uschar *qualify_domain;
32
33 uid_t *owners;
34 gid_t *owngroups;
35
36 int modemask;
37 int bit_options;
38 BOOL check_ancestor;
39 BOOL check_group;
40 BOOL check_owner;
41 BOOL forbid_file;
42 BOOL forbid_filter_reply;
43 BOOL forbid_pipe;
44 BOOL hide_child_in_errmsg;
45 BOOL one_time;
46 BOOL qualify_preserve_domain;
47 BOOL skip_syntax_errors;
48 } redirect_router_options_block;
49
50 /* Data for reading the private options. */
51
52 extern optionlist redirect_router_options[];
53 extern int redirect_router_options_count;
54
55 /* Block containing default values. */
56
57 extern redirect_router_options_block redirect_router_option_defaults;
58
59 /* The main and initialization entry points for the router */
60
61 extern int redirect_router_entry(router_instance *, address_item *,
62 struct passwd *, BOOL, address_item **, address_item **,
63 address_item **, address_item **);
64
65 extern void redirect_router_init(router_instance *);
66
67 /* End of routers/redirect.h */