1 #ifndef IMAPC_SETTINGS_H 2 #define IMAPC_SETTINGS_H 3 4 #include "net.h" 5 6 /* <settings checks> */ 7 enum imapc_features { 8 IMAPC_FEATURE_RFC822_SIZE = 0x01, 9 IMAPC_FEATURE_GUID_FORCED = 0x02, 10 IMAPC_FEATURE_FETCH_HEADERS = 0x04, 11 IMAPC_FEATURE_GMAIL_MIGRATION = 0x08, 12 IMAPC_FEATURE_SEARCH = 0x10, 13 IMAPC_FEATURE_ZIMBRA_WORKAROUNDS = 0x20, 14 IMAPC_FEATURE_NO_EXAMINE = 0x40, 15 IMAPC_FEATURE_PROXYAUTH = 0x80, 16 IMAPC_FEATURE_FETCH_MSN_WORKAROUNDS = 0x100, 17 IMAPC_FEATURE_FETCH_FIX_BROKEN_MAILS = 0x200, 18 IMAPC_FEATURE_MODSEQ = 0x400, 19 IMAPC_FEATURE_DELAY_LOGIN = 0x800, 20 IMAPC_FEATURE_FETCH_BODYSTRUCTURE = 0x1000, 21 IMAPC_FEATURE_SEND_ID = 0x2000, 22 IMAPC_FEATURE_FETCH_EMPTY_IS_EXPUNGED = 0x4000, 23 IMAPC_FEATURE_NO_MSN_UPDATES = 0x8000, 24 IMAPC_FEATURE_ACL = 0x10000, 25 }; 26 /* </settings checks> */ 27 28 /* 29 * NOTE: Any additions here should be reflected in imapc_storage_create's 30 * serialization of settings. 31 */ 32 struct imapc_settings { 33 const char *imapc_host; 34 in_port_t imapc_port; 35 36 const char *imapc_user; 37 const char *imapc_master_user; 38 const char *imapc_password; 39 const char *imapc_sasl_mechanisms; 40 41 const char *imapc_ssl; 42 bool imapc_ssl_verify; 43 44 const char *imapc_features; 45 const char *imapc_rawlog_dir; 46 const char *imapc_list_prefix; 47 unsigned int imapc_cmd_timeout; 48 unsigned int imapc_max_idle_time; 49 unsigned int imapc_connection_retry_count; 50 unsigned int imapc_connection_retry_interval; 51 uoff_t imapc_max_line_length; 52 53 const char *pop3_deleted_flag; 54 55 enum imapc_features parsed_features; 56 unsigned int throttle_init_msecs; 57 unsigned int throttle_max_msecs; 58 unsigned int throttle_shrink_min_msecs; 59 }; 60 61 const struct setting_parser_info *imapc_get_setting_parser_info(void); 62 63 #endif 64