#ifndef IMAPC_SETTINGS_H #define IMAPC_SETTINGS_H #include "net.h" /* */ enum imapc_features { IMAPC_FEATURE_RFC822_SIZE = 0x01, IMAPC_FEATURE_GUID_FORCED = 0x02, IMAPC_FEATURE_FETCH_HEADERS = 0x04, IMAPC_FEATURE_GMAIL_MIGRATION = 0x08, IMAPC_FEATURE_SEARCH = 0x10, IMAPC_FEATURE_ZIMBRA_WORKAROUNDS = 0x20, IMAPC_FEATURE_NO_EXAMINE = 0x40, IMAPC_FEATURE_PROXYAUTH = 0x80, IMAPC_FEATURE_FETCH_MSN_WORKAROUNDS = 0x100, IMAPC_FEATURE_FETCH_FIX_BROKEN_MAILS = 0x200, IMAPC_FEATURE_MODSEQ = 0x400, IMAPC_FEATURE_DELAY_LOGIN = 0x800, IMAPC_FEATURE_FETCH_BODYSTRUCTURE = 0x1000, IMAPC_FEATURE_SEND_ID = 0x2000, IMAPC_FEATURE_FETCH_EMPTY_IS_EXPUNGED = 0x4000, IMAPC_FEATURE_NO_MSN_UPDATES = 0x8000, IMAPC_FEATURE_ACL = 0x10000, }; /* */ /* * NOTE: Any additions here should be reflected in imapc_storage_create's * serialization of settings. */ struct imapc_settings { const char *imapc_host; in_port_t imapc_port; const char *imapc_user; const char *imapc_master_user; const char *imapc_password; const char *imapc_sasl_mechanisms; const char *imapc_ssl; bool imapc_ssl_verify; const char *imapc_features; const char *imapc_rawlog_dir; const char *imapc_list_prefix; unsigned int imapc_cmd_timeout; unsigned int imapc_max_idle_time; unsigned int imapc_connection_retry_count; unsigned int imapc_connection_retry_interval; uoff_t imapc_max_line_length; const char *pop3_deleted_flag; enum imapc_features parsed_features; unsigned int throttle_init_msecs; unsigned int throttle_max_msecs; unsigned int throttle_shrink_min_msecs; }; const struct setting_parser_info *imapc_get_setting_parser_info(void); #endif