503a863a317acba125a4e46435694e35fad769e4Timo Sirainen/* Copyright (c) 2005-2018 Dovecot authors, see the included COPYING file */
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#include "lib.h"
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#include "settings-parser.h"
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#include "mail-storage-settings.h"
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#include "maildir-settings.h"
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#include <stddef.h>
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#undef DEF
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen#define DEF(type, name) \
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen { type, #name, offsetof(struct maildir_settings, name), NULL }
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainenstatic const struct setting_define maildir_setting_defines[] = {
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen DEF(SET_BOOL, maildir_copy_with_hardlinks),
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen DEF(SET_BOOL, maildir_very_dirty_syncs),
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen DEF(SET_BOOL, maildir_broken_filename_sizes),
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen DEF(SET_BOOL, maildir_empty_new),
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen SETTING_DEFINE_LIST_END
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen};
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainenstatic const struct maildir_settings maildir_default_settings = {
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .maildir_copy_with_hardlinks = TRUE,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .maildir_very_dirty_syncs = FALSE,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .maildir_broken_filename_sizes = FALSE,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .maildir_empty_new = FALSE
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen};
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainenstatic const struct setting_parser_info maildir_setting_parser_info = {
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .module_name = "maildir",
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .defines = maildir_setting_defines,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .defaults = &maildir_default_settings,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .type_offset = (size_t)-1,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .struct_size = sizeof(struct maildir_settings),
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .parent_offset = (size_t)-1,
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen .parent = &mail_user_setting_parser_info
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen};
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainenconst struct setting_parser_info *maildir_get_setting_parser_info(void)
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen{
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen return &maildir_setting_parser_info;
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen}
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen
503a863a317acba125a4e46435694e35fad769e4Timo Sirainen