Merge branch '4.next'
[exim.git] / src / src / routers / iplookup.h
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) University of Cambridge 1995 - 2009 */
6 /* See the file NOTICE for conditions of use and distribution. */
7
8
9 /* Private structure for the private options. */
10
11 typedef struct {
12   int   port;
13   int   protocol;
14   int   timeout;
15   uschar *protocol_name;
16   uschar *hosts;
17   uschar *query;
18   uschar *response_pattern;
19   uschar *reroute;
20   const pcre2_code *re_response_pattern;
21   BOOL  optional;
22 } iplookup_router_options_block;
23
24 /* Data for reading the private options. */
25
26 extern optionlist iplookup_router_options[];
27 extern int iplookup_router_options_count;
28
29 /* Block containing default values. */
30
31 extern iplookup_router_options_block iplookup_router_option_defaults;
32
33 /* The main and initialization entry points for the router */
34
35 extern int iplookup_router_entry(router_instance *, address_item *,
36   struct passwd *, int, address_item **, address_item **,
37   address_item **, address_item **);
38
39 extern void iplookup_router_init(router_instance *);
40
41 /* End of routers/iplookup.h */