416569608b461ec5d381b14e436c29644bffca26
[exim.git] / src / src / transports / pipe.h
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) University of Cambridge 1995 - 2014 */
6 /* See the file NOTICE for conditions of use and distribution. */
7 /* SPDX-License-Identifier: GPL-2.0-only */
8
9 /* Private structure for the private options. */
10
11 typedef struct {
12   uschar *cmd;
13   uschar *allow_commands;
14   uschar *environment;
15   uschar *path;
16   uschar *message_prefix;
17   uschar *message_suffix;
18   uschar *temp_errors;
19   uschar *check_string;
20   uschar *escape_string;
21   int   umask;
22   int   max_output;
23   int   timeout;
24   int   options;
25   BOOL  force_command;
26   BOOL  freeze_exec_fail;
27   BOOL  freeze_signal;
28   BOOL  ignore_status;
29   BOOL  permit_coredump;
30   BOOL  restrict_to_path;
31   BOOL  timeout_defer;
32   BOOL  use_shell;
33   BOOL  use_bsmtp;
34   BOOL  use_classresources;
35   BOOL  use_crlf;
36 } pipe_transport_options_block;
37
38 /* Data for reading the private options. */
39
40 extern optionlist pipe_transport_options[];
41 extern int pipe_transport_options_count;
42
43 /* Block containing default values. */
44
45 extern pipe_transport_options_block pipe_transport_option_defaults;
46
47 /* The main and init entry points for the transport */
48
49 extern BOOL pipe_transport_entry(transport_instance *, address_item *);
50 extern void pipe_transport_init(transport_instance *);
51
52 /* End of transports/pipe.h */