mail-storage-settings.h revision 872d122a6f570e462f40341b7dd581dbd7d59f90
0N/A#ifndef MAIL_STORAGE_SETTINGS_H
0N/A#define MAIL_STORAGE_SETTINGS_H
0N/A
0N/A#include "file-lock.h"
0N/A#include "fsync-mode.h"
0N/A
0N/A#define MAIL_STORAGE_SET_DRIVER_NAME "MAIL"
0N/A
0N/Astruct mail_user;
0N/Astruct mail_storage;
0N/A
0N/Astruct mail_storage_settings {
0N/A const char *mail_location;
0N/A const char *mail_attachment_fs;
0N/A const char *mail_attachment_dir;
0N/A const char *mail_attachment_hash;
0N/A uoff_t mail_attachment_min_size;
0N/A const char *mail_attribute_dict;
0N/A unsigned int mail_prefetch_count;
0N/A const char *mail_cache_fields;
0N/A const char *mail_always_cache_fields;
0N/A const char *mail_never_cache_fields;
0N/A unsigned int mail_cache_min_mail_count;
0N/A unsigned int mailbox_idle_check_interval;
0N/A unsigned int mail_max_keyword_length;
0N/A unsigned int mail_max_lock_timeout;
0N/A unsigned int mail_temp_scan_interval;
0N/A bool mail_save_crlf;
0N/A const char *mail_fsync;
0N/A bool mmap_disable;
58N/A bool dotlock_use_excl;
0N/A bool mail_nfs_storage;
0N/A bool mail_nfs_index;
0N/A bool mailbox_list_index;
0N/A bool mail_debug;
0N/A bool mail_full_filesystem_access;
0N/A bool maildir_stat_dirs;
0N/A bool mail_shared_explicit_inbox;
0N/A const char *lock_method;
58N/A const char *pop3_uidl_format;
99N/A
99N/A const char *ssl_client_ca_dir;
99N/A const char *ssl_client_ca_file;
0N/A const char *ssl_crypto_device;
0N/A
0N/A enum file_lock_method parsed_lock_method;
0N/A enum fsync_mode parsed_fsync_mode;
0N/A};
0N/A
0N/Astruct mail_namespace_settings {
0N/A const char *name;
0N/A const char *type;
0N/A const char *separator;
0N/A const char *prefix;
0N/A const char *location;
58N/A const char *alias_for;
58N/A
58N/A bool inbox;
58N/A bool hidden;
98N/A const char *list;
98N/A bool subscriptions;
98N/A bool ignore_on_failure;
98N/A bool disabled;
98N/A
98N/A ARRAY(struct mailbox_settings *) mailboxes;
98N/A struct mail_user_settings *user_set;
98N/A};
98N/A
98N/A/* <settings checks> */
98N/A#define MAILBOX_SET_AUTO_NO "no"
98N/A#define MAILBOX_SET_AUTO_CREATE "create"
98N/A#define MAILBOX_SET_AUTO_SUBSCRIBE "subscribe"
98N/A/* </settings checks> */
98N/Astruct mailbox_settings {
98N/A const char *name;
98N/A const char *autocreate;
98N/A const char *special_use;
98N/A};
98N/A
98N/Astruct mail_user_settings {
98N/A const char *base_dir;
98N/A const char *auth_socket_path;
98N/A const char *mail_temp_dir;
98N/A
98N/A const char *mail_uid;
98N/A const char *mail_gid;
98N/A const char *mail_home;
98N/A const char *mail_chroot;
98N/A const char *mail_access_groups;
58N/A const char *mail_privileged_group;
0N/A const char *valid_chroot_dirs;
0N/A
0N/A unsigned int first_valid_uid, last_valid_uid;
0N/A unsigned int first_valid_gid, last_valid_gid;
0N/A
0N/A const char *mail_plugins;
0N/A const char *mail_plugin_dir;
0N/A
73N/A const char *mail_log_prefix;
0N/A
0N/A ARRAY(struct mail_namespace_settings *) namespaces;
0N/A ARRAY(const char *) plugin_envs;
0N/A};
0N/A
0N/Aextern const struct setting_parser_info mail_user_setting_parser_info;
0N/Aextern const struct setting_parser_info mail_namespace_setting_parser_info;
0N/Aextern const struct setting_parser_info mail_storage_setting_parser_info;
0N/Aextern const struct mail_namespace_settings mail_namespace_default_settings;
0N/Aextern const struct mailbox_settings mailbox_default_settings;
0N/A
0N/Aconst void *
0N/Amail_user_set_get_driver_settings(const struct setting_parser_info *info,
0N/A const struct mail_user_settings *set,
58N/A const char *driver);
0N/Aconst struct mail_storage_settings *
0N/Amail_user_set_get_storage_set(struct mail_user *user);
0N/Aconst void *mail_storage_get_driver_settings(struct mail_storage *storage);
0N/A
0N/Aconst struct dynamic_settings_parser *
0N/Amail_storage_get_dynamic_parsers(pool_t pool);
0N/A
0N/A#endif
0N/A