Commit | Line | Data |
---|---|---|
0756eb3c PH |
1 | /************************************************* |
2 | * Exim - an Internet mail transport agent * | |
3 | *************************************************/ | |
4 | ||
f9ba5e22 | 5 | /* Copyright (c) University of Cambridge 1995 - 2018 */ |
0756eb3c PH |
6 | /* See the file NOTICE for conditions of use and distribution. */ |
7 | ||
8 | /* Private structure for the private options. */ | |
9 | ||
10 | typedef struct { | |
11 | uschar *filename; | |
12 | uschar *dirname; | |
13 | uschar *dirfilename; | |
14 | uschar *message_prefix; | |
15 | uschar *message_suffix; | |
16 | uschar *create_file_string; | |
17 | uschar *quota; | |
18 | uschar *quota_directory; | |
19 | uschar *quota_filecount; | |
20 | uschar *quota_size_regex; | |
21 | uschar *quota_warn_threshold; | |
22 | uschar *mailbox_size_string; | |
23 | uschar *mailbox_filecount_string; | |
555ae6af | 24 | uschar *expand_maildir_use_size_file; |
0756eb3c PH |
25 | uschar *maildir_dir_regex; |
26 | uschar *maildir_tag; | |
d6629cdc | 27 | uschar *maildirfolder_create_regex; |
0756eb3c PH |
28 | uschar *mailstore_prefix; |
29 | uschar *mailstore_suffix; | |
30 | uschar *check_string; | |
31 | uschar *escape_string; | |
32 | uschar *file_format; | |
0d7eb84a PH |
33 | off_t quota_value; |
34 | off_t quota_warn_threshold_value; | |
35 | off_t mailbox_size_value; | |
0756eb3c | 36 | int mailbox_filecount_value; |
0756eb3c | 37 | int quota_filecount_value; |
0756eb3c PH |
38 | int mode; |
39 | int dirmode; | |
40 | int lockfile_mode; | |
41 | int lockfile_timeout; | |
42 | int lock_fcntl_timeout; | |
43 | int lock_flock_timeout; | |
44 | int lock_retries; | |
45 | int lock_interval; | |
46 | int maildir_retries; | |
47 | int create_file; | |
48 | int options; | |
49 | BOOL allow_fifo; | |
50 | BOOL allow_symlink; | |
51 | BOOL check_group; | |
52 | BOOL check_owner; | |
53 | BOOL create_directory; | |
54 | BOOL notify_comsat; | |
55 | BOOL use_lockfile; | |
56 | BOOL set_use_lockfile; | |
57 | BOOL use_fcntl; | |
58 | BOOL set_use_fcntl; | |
59 | BOOL use_flock; | |
60 | BOOL set_use_flock; | |
61 | BOOL use_mbx_lock; | |
62 | BOOL set_use_mbx_lock; | |
63 | BOOL use_bsmtp; | |
64 | BOOL use_crlf; | |
65 | BOOL file_must_exist; | |
66 | BOOL mode_fail_narrower; | |
67 | BOOL maildir_format; | |
68 | BOOL maildir_use_size_file; | |
69 | BOOL mailstore_format; | |
70 | BOOL mbx_format; | |
71 | BOOL quota_warn_threshold_is_percent; | |
72 | BOOL quota_is_inclusive; | |
d291c767 HSHR |
73 | BOOL quota_no_check; |
74 | BOOL quota_filecount_no_check; | |
0756eb3c PH |
75 | } appendfile_transport_options_block; |
76 | ||
77 | /* Restricted creation options */ | |
78 | ||
79 | enum { create_anywhere, create_belowhome, create_inhome }; | |
80 | ||
81 | /* Data for reading the private options. */ | |
82 | ||
83 | extern optionlist appendfile_transport_options[]; | |
84 | extern int appendfile_transport_options_count; | |
85 | ||
86 | /* Block containing default values. */ | |
87 | ||
88 | extern appendfile_transport_options_block appendfile_transport_option_defaults; | |
89 | ||
90 | /* The main and init entry points for the transport */ | |
91 | ||
92 | extern BOOL appendfile_transport_entry(transport_instance *, address_item *); | |
93 | extern void appendfile_transport_init(transport_instance *); | |
94 | ||
95 | /* Function that is shared with tf_maildir.c */ | |
96 | ||
f3ebb786 | 97 | extern off_t check_dir_size(const uschar *, int *, const pcre *); |
0756eb3c PH |
98 | |
99 | /* End of transports/appendfile.h */ |