148846fae6f96955abf589eb0e87803fbe75df40
[exim.git] / src / src / routers / queryprogram.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 /* SPDX-License-Identifier: GPL-2.0-only */
8
9
10 /* Private structure for the private options. */
11
12 typedef struct {
13   uschar *command;
14   int timeout;
15   uid_t cmd_uid;
16   gid_t cmd_gid;
17   BOOL cmd_uid_set;
18   BOOL cmd_gid_set;
19   uschar *current_directory;
20   uschar *expand_cmd_gid;
21   uschar *expand_cmd_uid;
22 } queryprogram_router_options_block;
23
24 /* Data for reading the private options. */
25
26 extern optionlist queryprogram_router_options[];
27 extern int queryprogram_router_options_count;
28
29 /* Block containing default values. */
30
31 extern queryprogram_router_options_block queryprogram_router_option_defaults;
32
33 /* The main and initialization entry points for the router */
34
35 extern int queryprogram_router_entry(router_instance *, address_item *,
36   struct passwd *, int, address_item **, address_item **,
37   address_item **, address_item **);
38
39 extern void queryprogram_router_init(router_instance *);
40
41 /* End of routers/queryprogram.h */