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