| 1 | /* $Cambridge: exim/src/src/routers/queryprogram.h,v 1.6 2009/11/16 19:50:38 nm4 Exp $ */ |
| 2 | |
| 3 | /************************************************* |
| 4 | * Exim - an Internet mail transport agent * |
| 5 | *************************************************/ |
| 6 | |
| 7 | /* Copyright (c) University of Cambridge 1995 - 2009 */ |
| 8 | /* See the file NOTICE for conditions of use and distribution. */ |
| 9 | |
| 10 | |
| 11 | /* Private structure for the private options. */ |
| 12 | |
| 13 | typedef struct { |
| 14 | uschar *command; |
| 15 | int timeout; |
| 16 | uid_t cmd_uid; |
| 17 | gid_t cmd_gid; |
| 18 | BOOL cmd_uid_set; |
| 19 | BOOL cmd_gid_set; |
| 20 | uschar *current_directory; |
| 21 | uschar *expand_cmd_gid; |
| 22 | uschar *expand_cmd_uid; |
| 23 | } queryprogram_router_options_block; |
| 24 | |
| 25 | /* Data for reading the private options. */ |
| 26 | |
| 27 | extern optionlist queryprogram_router_options[]; |
| 28 | extern int queryprogram_router_options_count; |
| 29 | |
| 30 | /* Block containing default values. */ |
| 31 | |
| 32 | extern queryprogram_router_options_block queryprogram_router_option_defaults; |
| 33 | |
| 34 | /* The main and initialization entry points for the router */ |
| 35 | |
| 36 | extern int queryprogram_router_entry(router_instance *, address_item *, |
| 37 | struct passwd *, int, address_item **, address_item **, |
| 38 | address_item **, address_item **); |
| 39 | |
| 40 | extern void queryprogram_router_init(router_instance *); |
| 41 | |
| 42 | /* End of routers/queryprogram.h */ |