summaryrefslogtreecommitdiffstats
path: root/src/routers/iplookup.h
blob: dbcb03c9e3cf8a64e0f1d7e2daf88959083f7c05 (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
35
36
37
38
39
40
41
42
/*************************************************
*     Exim - an Internet mail transport agent    *
*************************************************/

/* Copyright (c) University of Cambridge 1995 - 2009 */
/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */


/* Private structure for the private options. */

typedef struct {
  int   port;
  int   protocol;
  int   timeout;
  uschar *protocol_name;
  uschar *hosts;
  uschar *query;
  uschar *response_pattern;
  uschar *reroute;
  const pcre2_code *re_response_pattern;
  BOOL  optional;
} iplookup_router_options_block;

/* Data for reading the private options. */

extern optionlist iplookup_router_options[];
extern int iplookup_router_options_count;

/* Block containing default values. */

extern iplookup_router_options_block iplookup_router_option_defaults;

/* The main and initialization entry points for the router */

extern int iplookup_router_entry(router_instance *, address_item *,
  struct passwd *, int, address_item **, address_item **,
  address_item **, address_item **);

extern void iplookup_router_init(router_instance *);

/* End of routers/iplookup.h */