1 /*************************************************
2 * Exim - an Internet mail transport agent *
3 *************************************************/
5 /* Copyright (c) University of Cambridge 1995 - 2018 */
6 /* Copyright (c) The Exim Maintainers 2021 */
7 /* See the file NOTICE for conditions of use and distribution. */
9 /* Private structure for the private options. */
15 uschar *message_prefix;
16 uschar *message_suffix;
17 uschar *create_file_string;
19 uschar *quota_directory;
20 uschar *quota_filecount;
21 uschar *quota_size_regex;
22 uschar *quota_warn_threshold;
23 uschar *mailbox_size_string;
24 uschar *mailbox_filecount_string;
25 uschar *expand_maildir_use_size_file;
26 uschar *maildir_dir_regex;
28 uschar *maildirfolder_create_regex;
29 uschar *mailstore_prefix;
30 uschar *mailstore_suffix;
32 uschar *escape_string;
35 off_t quota_warn_threshold_value;
36 off_t mailbox_size_value;
37 int mailbox_filecount_value;
38 int quota_filecount_value;
43 int lock_fcntl_timeout;
44 int lock_flock_timeout;
54 BOOL create_directory;
57 BOOL set_use_lockfile;
63 BOOL set_use_mbx_lock;
67 BOOL mode_fail_narrower;
69 BOOL maildir_use_size_file;
70 BOOL mailstore_format;
72 BOOL quota_warn_threshold_is_percent;
73 BOOL quota_is_inclusive;
75 BOOL quota_filecount_no_check;
76 } appendfile_transport_options_block;
78 /* Restricted creation options */
80 enum { create_anywhere, create_belowhome, create_inhome };
82 /* Data for reading the private options. */
84 extern optionlist appendfile_transport_options[];
85 extern int appendfile_transport_options_count;
87 /* Block containing default values. */
89 extern appendfile_transport_options_block appendfile_transport_option_defaults;
91 /* The main and init entry points for the transport */
93 extern BOOL appendfile_transport_entry(transport_instance *, address_item *);
94 extern void appendfile_transport_init(transport_instance *);
96 /* Function that is shared with tf_maildir.c */
98 extern off_t check_dir_size(const uschar *, int *, const pcre2_code *);
100 /* End of transports/appendfile.h */