/* auto-generated by config2header 1.17 */
#ifndef INCLUDED_IMAPOPTS_H
#define INCLUDED_IMAPOPTS_H

#include <stdint.h>

enum opttype {
  OPT_DURATION,
  OPT_BITFIELD,
  OPT_STRINGLIST,
  OPT_ENUM,
  OPT_SWITCH,
  OPT_INT,
  OPT_STRING,
  OPT_NOTOPT
};

enum imapopt {
  IMAPOPT_ZERO = 0,
  IMAPOPT_ADDRESSBOOKPREFIX,
  IMAPOPT_ADMINS,
  IMAPOPT_AFSPTS_LOCALREALMS,
  IMAPOPT_AFSPTS_MYCELL,
  IMAPOPT_ALLOWALLSUBSCRIBE,
  IMAPOPT_ALLOWANONYMOUSLOGIN,
  IMAPOPT_ALLOWAPOP,
  IMAPOPT_ALLOWDELETED,
  IMAPOPT_ALLOWNEWNEWS,
  IMAPOPT_ALLOWPLAINTEXT,
  IMAPOPT_ALLOWSETACL,
  IMAPOPT_ALLOWUSERMOVES,
  IMAPOPT_ALTNAMESPACE,
  IMAPOPT_ALTPREFIX,
  IMAPOPT_ANNOTATION_DB,
  IMAPOPT_ANNOTATION_DB_PATH,
  IMAPOPT_ANYONEUSERACL,
  IMAPOPT_ANNOTATION_ALLOW_UNDEFINED,
  IMAPOPT_ANNOTATION_DEFINITIONS,
  IMAPOPT_ANNOTATION_CALLOUT,
  IMAPOPT_ANNOTATION_CALLOUT_DISABLE_APPEND,
  IMAPOPT_ANNOTATION_ENABLE_LEGACY_COMMANDS,
  IMAPOPT_APS_TOPIC,
  IMAPOPT_APS_TOPIC_CALDAV,
  IMAPOPT_APS_TOPIC_CARDDAV,
  IMAPOPT_ARCHIVE_ENABLED,
  IMAPOPT_ARCHIVE_DAYS,
  IMAPOPT_ARCHIVE_AFTER,
  IMAPOPT_ARCHIVE_MAXSIZE,
  IMAPOPT_ARCHIVE_KEEPFLAGGED,
  IMAPOPT_AUDITLOG,
  IMAPOPT_AUTH_MECH,
  IMAPOPT_AUTOCREATEINBOXFOLDERS,
  IMAPOPT_AUTOCREATEQUOTA,
  IMAPOPT_AUTOCREATEQUOTAMSG,
  IMAPOPT_AUTOSIEVEFOLDERS,
  IMAPOPT_GENERATE_COMPILED_SIEVE_SCRIPT,
  IMAPOPT_AUTOCREATE_SIEVE_COMPILED_SCRIPT,
  IMAPOPT_AUTOSUBSCRIBEINBOXFOLDERS,
  IMAPOPT_AUTOSUBSCRIBESHAREDFOLDERS,
  IMAPOPT_AUTOSUBSCRIBE_ALL_SHAREDFOLDERS,
  IMAPOPT_AUTOCREATE_INBOX_FOLDERS,
  IMAPOPT_AUTOCREATE_POST,
  IMAPOPT_AUTOCREATE_QUOTA,
  IMAPOPT_AUTOCREATE_QUOTA_MESSAGES,
  IMAPOPT_AUTOCREATE_SIEVE_FOLDERS,
  IMAPOPT_AUTOCREATE_SIEVE_SCRIPT,
  IMAPOPT_AUTOCREATE_SIEVE_SCRIPT_COMPILE,
  IMAPOPT_AUTOCREATE_SIEVE_SCRIPT_COMPILED,
  IMAPOPT_AUTOCREATE_SUBSCRIBE_FOLDERS,
  IMAPOPT_AUTOCREATE_SUBSCRIBE_SHAREDFOLDERS,
  IMAPOPT_AUTOCREATE_SUBSCRIBE_SHAREDFOLDERS_ALL,
  IMAPOPT_AUTOCREATE_USERS,
  IMAPOPT_AUTOEXPUNGE,
  IMAPOPT_BACKUP_COMPACT_MINSIZE,
  IMAPOPT_BACKUP_COMPACT_MAXSIZE,
  IMAPOPT_BACKUP_COMPACT_WORK_THRESHOLD,
  IMAPOPT_BACKUP_STAGING_PATH,
  IMAPOPT_BACKUP_RETENTION_DAYS,
  IMAPOPT_BACKUP_RETENTION,
  IMAPOPT_BACKUP_DB,
  IMAPOPT_BACKUP_DB_PATH,
  IMAPOPT_BACKUP_KEEP_PREVIOUS,
  IMAPOPT_BOUNDARY_LIMIT,
  IMAPOPT_CALDAV_ALLOWATTACH,
  IMAPOPT_CALDAV_ALLOWCALENDARADMIN,
  IMAPOPT_CALDAV_ALLOWSCHEDULING,
  IMAPOPT_CALDAV_CREATE_ATTACH,
  IMAPOPT_CALDAV_CREATE_DEFAULT,
  IMAPOPT_CALDAV_CREATE_SCHED,
  IMAPOPT_CALDAV_HISTORICAL_AGE,
  IMAPOPT_CALDAV_MAXDATETIME,
  IMAPOPT_CALDAV_MINDATETIME,
  IMAPOPT_CALDAV_REALM,
  IMAPOPT_CALENDARPREFIX,
  IMAPOPT_CALENDAR_DEFAULT_DISPLAYNAME,
  IMAPOPT_CALENDAR_USER_ADDRESS_SET,
  IMAPOPT_CALENDAR_COMPONENT_SET,
  IMAPOPT_CARDDAV_ALLOWADDMEMBER,
  IMAPOPT_CARDDAV_ALLOWADDRESSBOOKADMIN,
  IMAPOPT_CARDDAV_REALM,
  IMAPOPT_CARDDAV_REPAIR_VCARD,
  IMAPOPT_CHATTY,
  IMAPOPT_CLIENT_BIND,
  IMAPOPT_CLIENT_BIND_NAME,
  IMAPOPT_CLIENT_TIMEOUT,
  IMAPOPT_COMMANDMINTIMER,
  IMAPOPT_CONFIGDIRECTORY,
  IMAPOPT_CREATEONPOST,
  IMAPOPT_CONVERSATIONS,
  IMAPOPT_CONVERSATIONS_COUNTED_FLAGS,
  IMAPOPT_CONVERSATIONS_DB,
  IMAPOPT_CONVERSATIONS_EXPIRE_DAYS,
  IMAPOPT_CONVERSATIONS_EXPIRE_AFTER,
  IMAPOPT_CONVERSATIONS_KEEP_EXISTING,
  IMAPOPT_CONVERSATIONS_MAX_THREAD,
  IMAPOPT_CONVERSATIONS_MAX_GUIDRECORDS,
  IMAPOPT_CONVERSATIONS_MAX_GUIDEXISTS,
  IMAPOPT_CONVERSATIONS_MAX_GUIDINFOLDER,
  IMAPOPT_CROSSDOMAINS,
  IMAPOPT_CROSSDOMAINS_ONLYOTHER,
  IMAPOPT_CYRUS_GROUP,
  IMAPOPT_CYRUS_USER,
  IMAPOPT_DAVDRIVEPREFIX,
  IMAPOPT_DAVNOTIFICATIONSPREFIX,
  IMAPOPT_DAV_REALM,
  IMAPOPT_DAV_LOCK_TIMEOUT,
  IMAPOPT_DEBUG_COMMAND,
  IMAPOPT_DEFAULTACL,
  IMAPOPT_DEFAULTDOMAIN,
  IMAPOPT_DEFAULTPARTITION,
  IMAPOPT_DEFAULTSEARCHTIER,
  IMAPOPT_DEFAULTSERVER,
  IMAPOPT_DELETEDPREFIX,
  IMAPOPT_DELETE_MODE,
  IMAPOPT_DELETE_UNSUBSCRIBE,
  IMAPOPT_DELETERIGHT,
  IMAPOPT_DISABLE_USER_NAMESPACE,
  IMAPOPT_DISABLE_SHARED_NAMESPACE,
  IMAPOPT_DISCONNECT_ON_VANISHED_MAILBOX,
  IMAPOPT_ISCHEDULE_DKIM_DOMAIN,
  IMAPOPT_ISCHEDULE_DKIM_KEY_FILE,
  IMAPOPT_ISCHEDULE_DKIM_REQUIRED,
  IMAPOPT_ISCHEDULE_DKIM_SELECTOR,
  IMAPOPT_DUPLICATE_DB,
  IMAPOPT_DUPLICATE_DB_PATH,
  IMAPOPT_DUPLICATESUPPRESSION,
  IMAPOPT_EVENT_CONTENT_INCLUSION_MODE,
  IMAPOPT_EVENT_CONTENT_SIZE,
  IMAPOPT_EVENT_EXCLUDE_FLAGS,
  IMAPOPT_EVENT_EXCLUDE_SPECIALUSE,
  IMAPOPT_EVENT_EXTRA_PARAMS,
  IMAPOPT_EVENT_GROUPS,
  IMAPOPT_EVENT_NOTIFIER,
  IMAPOPT_EXPUNGE_MODE,
  IMAPOPT_FAILEDLOGINPAUSE,
  IMAPOPT_FLUSHSEENSTATE,
  IMAPOPT_FOOLSTUPIDCLIENTS,
  IMAPOPT_FORCE_SASL_CLIENT_MECH,
  IMAPOPT_FULLDIRHASH,
  IMAPOPT_HASHIMAPSPOOL,
  IMAPOPT_DEBUG,
  IMAPOPT_HTTPALLOWCOMPRESS,
  IMAPOPT_HTTPALLOWCORS,
  IMAPOPT_HTTPALLOWTRACE,
  IMAPOPT_HTTPALLOWEDURLS,
  IMAPOPT_HTTPCONTENTMD5,
  IMAPOPT_HTTPDOCROOT,
  IMAPOPT_HTTPKEEPALIVE,
  IMAPOPT_HTTPLOGHEADERS,
  IMAPOPT_HTTPMODULES,
  IMAPOPT_HTTPPRETTYTELEMETRY,
  IMAPOPT_HTTPTIMEOUT,
  IMAPOPT_IDLESOCKET,
  IMAPOPT_IGNOREREFERENCE,
  IMAPOPT_IMAPIDLEPOLL,
  IMAPOPT_IMAPIDRESPONSE,
  IMAPOPT_IMAPMAGICPLUS,
  IMAPOPT_IMIPNOTIFIER,
  IMAPOPT_IMPLICIT_OWNER_RIGHTS,
  IMAPOPT_IMPROVED_MBOXLIST_SORT,
  IMAPOPT_JMAP_EMAILSEARCH_DB_PATH,
  IMAPOPT_JMAP_PREVIEW_ANNOT,
  IMAPOPT_JMAP_IMAGESIZE_ANNOT,
  IMAPOPT_JMAP_INLINEDCIDS_ANNOT,
  IMAPOPT_JMAP_PREVIEW_LENGTH,
  IMAPOPT_JMAP_MAX_SIZE_UPLOAD,
  IMAPOPT_JMAP_MAX_SIZE_BLOB_SET,
  IMAPOPT_JMAP_MAX_CONCURRENT_UPLOAD,
  IMAPOPT_JMAP_MAX_SIZE_REQUEST,
  IMAPOPT_JMAP_MAX_CONCURRENT_REQUESTS,
  IMAPOPT_JMAP_MAX_CALLS_IN_REQUEST,
  IMAPOPT_JMAP_MAX_DELAYED_SEND,
  IMAPOPT_JMAP_MAX_OBJECTS_IN_GET,
  IMAPOPT_JMAP_MAX_OBJECTS_IN_SET,
  IMAPOPT_JMAP_MAIL_MAX_SIZE_ATTACHMENTS_PER_EMAIL,
  IMAPOPT_JMAP_NONSTANDARD_EXTENSIONS,
  IMAPOPT_JMAP_SET_HAS_ATTACHMENT,
  IMAPOPT_JMAP_VACATION,
  IMAPOPT_JMAPUPLOADFOLDER,
  IMAPOPT_JMAPSUBMISSION_DELETEONSEND,
  IMAPOPT_JMAPSUBMISSIONFOLDER,
  IMAPOPT_JMAPPUSHSUBSCRIPTIONFOLDER,
  IMAPOPT_IOLOG,
  IMAPOPT_LDAP_AUTHZ,
  IMAPOPT_LDAP_BASE,
  IMAPOPT_LDAP_BIND_DN,
  IMAPOPT_LDAP_DEREF,
  IMAPOPT_LDAP_DOMAIN_BASE_DN,
  IMAPOPT_LDAP_DOMAIN_FILTER,
  IMAPOPT_LDAP_DOMAIN_NAME_ATTRIBUTE,
  IMAPOPT_LDAP_DOMAIN_SCOPE,
  IMAPOPT_LDAP_DOMAIN_RESULT_ATTRIBUTE,
  IMAPOPT_LDAP_FILTER,
  IMAPOPT_LDAP_GROUP_BASE,
  IMAPOPT_LDAP_GROUP_FILTER,
  IMAPOPT_LDAP_GROUP_SCOPE,
  IMAPOPT_LDAP_ID,
  IMAPOPT_LDAP_MECH,
  IMAPOPT_LDAP_USER_ATTRIBUTE,
  IMAPOPT_LDAP_MEMBER_ATTRIBUTE,
  IMAPOPT_LDAP_MEMBER_BASE,
  IMAPOPT_LDAP_MEMBER_FILTER,
  IMAPOPT_LDAP_MEMBER_METHOD,
  IMAPOPT_LDAP_MEMBER_SCOPE,
  IMAPOPT_LDAP_PASSWORD,
  IMAPOPT_LDAP_REALM,
  IMAPOPT_LDAP_REFERRALS,
  IMAPOPT_LDAP_RESTART,
  IMAPOPT_LDAP_SASL,
  IMAPOPT_LDAP_SASL_AUTHC,
  IMAPOPT_LDAP_SASL_AUTHZ,
  IMAPOPT_LDAP_SASL_MECH,
  IMAPOPT_LDAP_SASL_PASSWORD,
  IMAPOPT_LDAP_SASL_REALM,
  IMAPOPT_LDAP_SCOPE,
  IMAPOPT_LDAP_SERVERS,
  IMAPOPT_LDAP_SIZE_LIMIT,
  IMAPOPT_LDAP_START_TLS,
  IMAPOPT_LDAP_TIME_LIMIT,
  IMAPOPT_LDAP_TIMEOUT,
  IMAPOPT_LDAP_CA_DIR,
  IMAPOPT_LDAP_CA_FILE,
  IMAPOPT_LDAP_CIPHERS,
  IMAPOPT_LDAP_CLIENT_CERT,
  IMAPOPT_LDAP_CLIENT_KEY,
  IMAPOPT_LDAP_VERIFY_PEER,
  IMAPOPT_LDAP_TLS_CACERT_DIR,
  IMAPOPT_LDAP_TLS_CACERT_FILE,
  IMAPOPT_LDAP_TLS_CERT,
  IMAPOPT_LDAP_TLS_KEY,
  IMAPOPT_LDAP_TLS_CHECK_PEER,
  IMAPOPT_LDAP_TLS_CIPHERS,
  IMAPOPT_LDAP_URI,
  IMAPOPT_LDAP_VERSION,
  IMAPOPT_LITERALMINUS,
  IMAPOPT_LMTP_DOWNCASE_RCPT,
  IMAPOPT_LMTP_EXCLUDE_SPECIALUSE,
  IMAPOPT_LMTP_FUZZY_MAILBOX_MATCH,
  IMAPOPT_LMTP_OVER_QUOTA_PERM_FAILURE,
  IMAPOPT_LMTP_PREPARSE,
  IMAPOPT_LMTP_STRICT_QUOTA,
  IMAPOPT_LMTP_STRICT_RFC2821,
  IMAPOPT_LMTPSOCKET,
  IMAPOPT_LMTPTXN_TIMEOUT,
  IMAPOPT_LOCK_DEBUGTIME,
  IMAPOPT_LOGINREALMS,
  IMAPOPT_LOGINUSEACL,
  IMAPOPT_LOGTIMESTAMPS,
  IMAPOPT_MAILBOX_DEFAULT_OPTIONS,
  IMAPOPT_MAILBOX_INITIAL_FLAGS,
  IMAPOPT_MAILBOX_MAXMESSAGES_ADDRESSBOOK,
  IMAPOPT_MAILBOX_MAXMESSAGES_CALENDAR,
  IMAPOPT_MAILBOX_MAXMESSAGES_EMAIL,
  IMAPOPT_MAILNOTIFIER,
  IMAPOPT_MASTER_BIND_ERRORS_FATAL,
  IMAPOPT_MAXHEADERLINES,
  IMAPOPT_MAXLOGINS_PER_HOST,
  IMAPOPT_MAXLOGINS_PER_USER,
  IMAPOPT_MAXMESSAGESIZE,
  IMAPOPT_MAXQUOTED,
  IMAPOPT_MAXWORD,
  IMAPOPT_MBOXKEY_DB,
  IMAPOPT_MBOXLIST_DB,
  IMAPOPT_MBOXLIST_DB_PATH,
  IMAPOPT_MBOXNAME_LOCKPATH,
  IMAPOPT_METAPARTITION_FILES,
  IMAPOPT_MUPDATE_AUTHNAME,
  IMAPOPT_MUPDATE_CONFIG,
  IMAPOPT_MUNGE8BIT,
  IMAPOPT_MUPDATE_CONNECTIONS_MAX,
  IMAPOPT_MUPDATE_PASSWORD,
  IMAPOPT_MUPDATE_PORT,
  IMAPOPT_MUPDATE_REALM,
  IMAPOPT_MUPDATE_RETRY_DELAY,
  IMAPOPT_MUPDATE_SERVER,
  IMAPOPT_MUPDATE_USERNAME,
  IMAPOPT_MUPDATE_WORKERS_MAX,
  IMAPOPT_MUPDATE_WORKERS_MAXSPARE,
  IMAPOPT_MUPDATE_WORKERS_MINSPARE,
  IMAPOPT_MUPDATE_WORKERS_START,
  IMAPOPT_NETSCAPEURL,
  IMAPOPT_NEWSADDHEADERS,
  IMAPOPT_NEWSGROUPS,
  IMAPOPT_NEWSMASTER,
  IMAPOPT_NEWSPEER,
  IMAPOPT_NEWSPOSTUSER,
  IMAPOPT_NEWSPREFIX,
  IMAPOPT_NEWSRC_DB_PATH,
  IMAPOPT_NNTPTIMEOUT,
  IMAPOPT_NOTESMAILBOX,
  IMAPOPT_NOTIFYSOCKET,
  IMAPOPT_NOTIFY_EXTERNAL,
  IMAPOPT_PARTITION_SELECT_MODE,
  IMAPOPT_PARTITION_SELECT_EXCLUDE,
  IMAPOPT_PARTITION_SELECT_USAGE_REINIT,
  IMAPOPT_PARTITION_SELECT_SOFT_USAGE_LIMIT,
  IMAPOPT_PLAINTEXTLOGINPAUSE,
  IMAPOPT_PLAINTEXTLOGINALERT,
  IMAPOPT_POPEXPIRETIME,
  IMAPOPT_POPMINPOLL,
  IMAPOPT_POPSUBFOLDERS,
  IMAPOPT_POPPOLLPADDING,
  IMAPOPT_POPTIMEOUT,
  IMAPOPT_POPUSEACL,
  IMAPOPT_POPUSEIMAPFLAGS,
  IMAPOPT_POSTMASTER,
  IMAPOPT_POSTSPEC,
  IMAPOPT_POSTUSER,
  IMAPOPT_PROC_PATH,
  IMAPOPT_PROMETHEUS_ENABLED,
  IMAPOPT_PROMETHEUS_NEED_AUTH,
  IMAPOPT_PROMETHEUS_UPDATE_FREQ,
  IMAPOPT_PROMETHEUS_STATS_DIR,
  IMAPOPT_PROXY_AUTHNAME,
  IMAPOPT_PROXY_COMPRESS,
  IMAPOPT_PROXY_PASSWORD,
  IMAPOPT_PROXY_REALM,
  IMAPOPT_PROXYD_ALLOW_STATUS_REFERRAL,
  IMAPOPT_PROXYD_DISABLE_MAILBOX_REFERRALS,
  IMAPOPT_PROXYSERVERS,
  IMAPOPT_PTS_MODULE,
  IMAPOPT_PTLOADER_SOCK,
  IMAPOPT_PTSCACHE_DB,
  IMAPOPT_PTSCACHE_DB_PATH,
  IMAPOPT_PTSCACHE_TIMEOUT,
  IMAPOPT_PTSKRB5_CONVERT524,
  IMAPOPT_PTSKRB5_STRIP_DEFAULT_REALM,
  IMAPOPT_QOSMARKING,
  IMAPOPT_QUOTA_DB,
  IMAPOPT_QUOTA_DB_PATH,
  IMAPOPT_QUOTA_USE_CONVERSATIONS,
  IMAPOPT_QUOTAWARN,
  IMAPOPT_QUOTAWARNKB,
  IMAPOPT_QUOTAWARNMSG,
  IMAPOPT_READONLY,
  IMAPOPT_REJECT8BIT,
  IMAPOPT_RESTORE_AUTHNAME,
  IMAPOPT_RESTORE_PASSWORD,
  IMAPOPT_RESTORE_REALM,
  IMAPOPT_REVERSEACLS,
  IMAPOPT_REVERSEUNIQUEIDS,
  IMAPOPT_RFC2046_STRICT,
  IMAPOPT_RFC2047_UTF8,
  IMAPOPT_RFC3028_STRICT,
  IMAPOPT_RSS_FEEDLIST_TEMPLATE,
  IMAPOPT_RSS_FEEDS,
  IMAPOPT_RSS_MAXAGE,
  IMAPOPT_RSS_MAXITEMS,
  IMAPOPT_RSS_MAXSYNOPSIS,
  IMAPOPT_RSS_REALM,
  IMAPOPT_SASL_MAXIMUM_LAYER,
  IMAPOPT_SASL_MINIMUM_LAYER,
  IMAPOPT_SEARCH_BATCHSIZE,
  IMAPOPT_SEARCH_ATTACHMENT_EXTRACTOR_URL,
  IMAPOPT_SEARCH_INDEX_LANGUAGE,
  IMAPOPT_SEARCH_INDEX_PARTS,
  IMAPOPT_SEARCH_INDEX_SKIP_DOMAINS,
  IMAPOPT_SEARCH_INDEX_SKIP_USERS,
  IMAPOPT_SEARCH_QUERY_LANGUAGE,
  IMAPOPT_SEARCH_NORMALISATION_MAX,
  IMAPOPT_SEARCH_ENGINE,
  IMAPOPT_SEARCH_FUZZY_ALWAYS,
  IMAPOPT_SEARCH_INDEX_HEADERS,
  IMAPOPT_SEARCH_INDEXED_DB,
  IMAPOPT_SEARCH_MAXTIME,
  IMAPOPT_SEARCH_QUERYSCAN,
  IMAPOPT_SEARCH_SKIPDIACRIT,
  IMAPOPT_SEARCH_SKIPHTML,
  IMAPOPT_SEARCH_WHITESPACE,
  IMAPOPT_SEARCH_SNIPPET_LENGTH,
  IMAPOPT_SEARCH_STOPWORD_PATH,
  IMAPOPT_SEENSTATE_DB,
  IMAPOPT_SENDMAIL,
  IMAPOPT_SENDMAIL_AUTH_ID,
  IMAPOPT_SERVERLIST,
  IMAPOPT_SERVERLIST_SELECT_MODE,
  IMAPOPT_SERVERLIST_SELECT_USAGE_REINIT,
  IMAPOPT_SERVERLIST_SELECT_SOFT_USAGE_LIMIT,
  IMAPOPT_SERVERNAME,
  IMAPOPT_SERVERINFO,
  IMAPOPT_SHAREDPREFIX,
  IMAPOPT_SIEVE_ALLOWREFERRALS,
  IMAPOPT_SIEVE_DUPLICATE_MAX_EXPIRATION,
  IMAPOPT_SIEVE_EXTENSIONS,
  IMAPOPT_SIEVE_MAXSCRIPTSIZE,
  IMAPOPT_SIEVE_MAXSCRIPTS,
  IMAPOPT_SIEVE_UTF8FILEINTO,
  IMAPOPT_SIEVE_SASL_SEND_UNSOLICITED_CAPABILITY,
  IMAPOPT_SIEVE_USE_LMTP_REJECT,
  IMAPOPT_SIEVE_VACATION_MIN_RESPONSE,
  IMAPOPT_SIEVE_VACATION_MAX_RESPONSE,
  IMAPOPT_SIEVEDIR,
  IMAPOPT_SIEVENOTIFIER,
  IMAPOPT_SIEVEUSEHOMEDIR,
  IMAPOPT_ANYSIEVEFOLDER,
  IMAPOPT_SINGLEINSTANCESTORE,
  IMAPOPT_SKIPLIST_ALWAYS_CHECKPOINT,
  IMAPOPT_SKIPLIST_UNSAFE,
  IMAPOPT_SMTP_BACKEND,
  IMAPOPT_SMTP_HOST,
  IMAPOPT_SMTP_AUTH_AUTHNAME,
  IMAPOPT_SMTP_AUTH_PASSWORD,
  IMAPOPT_SMTP_AUTH_REALM,
  IMAPOPT_SOFT_NOAUTH,
  IMAPOPT_SORTCACHE_DB,
  IMAPOPT_SPECIALUSE_EXTRA,
  IMAPOPT_SPECIALUSE_PROTECT,
  IMAPOPT_SPECIALUSEALWAYS,
  IMAPOPT_SQL_DATABASE,
  IMAPOPT_SQL_ENGINE,
  IMAPOPT_SQL_HOSTNAMES,
  IMAPOPT_SQL_PASSWD,
  IMAPOPT_SQL_USER,
  IMAPOPT_SQL_USESSL,
  IMAPOPT_SRS_ALWAYSREWRITE,
  IMAPOPT_SRS_DOMAIN,
  IMAPOPT_SRS_HASHLENGTH,
  IMAPOPT_SRS_SECRETS,
  IMAPOPT_SRS_SEPARATOR,
  IMAPOPT_SRVTAB,
  IMAPOPT_SUBMITSERVERS,
  IMAPOPT_SUBSCRIPTION_DB,
  IMAPOPT_SUPPRESS_CAPABILITIES,
  IMAPOPT_STATUSCACHE,
  IMAPOPT_STATUSCACHE_DB,
  IMAPOPT_STATUSCACHE_DB_PATH,
  IMAPOPT_SYNC_AUTHNAME,
  IMAPOPT_SYNC_BATCHSIZE,
  IMAPOPT_SYNC_CACHE_DB,
  IMAPOPT_SYNC_CACHE_DB_PATH,
  IMAPOPT_SYNC_HOST,
  IMAPOPT_SYNC_LOG,
  IMAPOPT_SYNC_LOG_CHAIN,
  IMAPOPT_SYNC_LOG_CHANNELS,
  IMAPOPT_SYNC_LOG_UNSUPPRESSABLE_CHANNELS,
  IMAPOPT_SYNC_PASSWORD,
  IMAPOPT_SYNC_PORT,
  IMAPOPT_SYNC_REALM,
  IMAPOPT_SYNC_REPEAT_INTERVAL,
  IMAPOPT_SYNC_RIGHTNOW_CHANNEL,
  IMAPOPT_SYNC_SHUTDOWN_FILE,
  IMAPOPT_SYNC_TIMEOUT,
  IMAPOPT_SYNC_TRY_IMAP,
  IMAPOPT_SYSLOG_PREFIX,
  IMAPOPT_SYSLOG_FACILITY,
  IMAPOPT_TCP_KEEPALIVE,
  IMAPOPT_TCP_KEEPALIVE_CNT,
  IMAPOPT_TCP_KEEPALIVE_IDLE,
  IMAPOPT_TCP_KEEPALIVE_INTVL,
  IMAPOPT_TEMP_PATH,
  IMAPOPT_TELEMETRY_BYSESSIONID,
  IMAPOPT_TIMEOUT,
  IMAPOPT_IMAPIDLETIMEOUT,
  IMAPOPT_TLS_CA_FILE,
  IMAPOPT_TLS_CA_PATH,
  IMAPOPT_TLSCACHE_DB,
  IMAPOPT_TLSCACHE_DB_PATH,
  IMAPOPT_TLS_CERT_FILE,
  IMAPOPT_TLS_CIPHER_LIST,
  IMAPOPT_TLS_CIPHERS,
  IMAPOPT_TLS_CRL_FILE,
  IMAPOPT_TLS_CLIENT_CA_DIR,
  IMAPOPT_TLS_CLIENT_CA_FILE,
  IMAPOPT_TLS_CLIENT_CERT,
  IMAPOPT_TLS_CLIENT_CERTS,
  IMAPOPT_TLS_CLIENT_KEY,
  IMAPOPT_TLS_ECCURVE,
  IMAPOPT_TLS_KEY_FILE,
  IMAPOPT_TLS_REQUIRED,
  IMAPOPT_TLS_PREFER_SERVER_CIPHERS,
  IMAPOPT_TLS_SERVER_CA_DIR,
  IMAPOPT_TLS_SERVER_CA_FILE,
  IMAPOPT_TLS_SERVER_CERT,
  IMAPOPT_TLS_SERVER_DHPARAM,
  IMAPOPT_TLS_SERVER_KEY,
  IMAPOPT_TLS_SESSIONS_DB,
  IMAPOPT_TLS_SESSIONS_DB_PATH,
  IMAPOPT_TLS_SESSION_TIMEOUT,
  IMAPOPT_TLS_VERSIONS,
  IMAPOPT_UIDL_FORMAT,
  IMAPOPT_UMASK,
  IMAPOPT_USERDENY_DB,
  IMAPOPT_USERDENY_DB_PATH,
  IMAPOPT_USERNAME_TOLOWER,
  IMAPOPT_USERPREFIX,
  IMAPOPT_UNIX_GROUP_ENABLE,
  IMAPOPT_UNIXHIERARCHYSEP,
  IMAPOPT_VIRTDOMAINS,
  IMAPOPT_VIRUSSCAN_NOTIFICATION_SUBJECT,
  IMAPOPT_VIRUSSCAN_NOTIFICATION_TEMPLATE,
  IMAPOPT_XBACKUP_ENABLED,
  IMAPOPT_LMTP_CATCHALL_MAILBOX,
  IMAPOPT_ZONEINFO_DB,
  IMAPOPT_ZONEINFO_DB_PATH,
  IMAPOPT_ZONEINFO_DIR,
  IMAPOPT_OBJECT_STORAGE_ENABLED,
  IMAPOPT_OBJECT_STORAGE_DUMMY_SPOOL,
  IMAPOPT_OPENIO_NAMESPACE,
  IMAPOPT_OPENIO_ACCOUNT,
  IMAPOPT_OPENIO_RAWX_TIMEOUT,
  IMAPOPT_OPENIO_PROXY_TIMEOUT,
  IMAPOPT_OPENIO_AUTOCREATE,
  IMAPOPT_OPENIO_VERBOSITY,
  IMAPOPT_CARINGO_HOSTNAME,
  IMAPOPT_CARINGO_PORT,
  IMAPOPT_FASTMAILSHARING,
  IMAPOPT_LAST
};

enum enum_value {
  IMAP_ENUM_ZERO = 0,
  IMAP_ENUM_CALDAV_ALLOWSCHEDULING_OFF = 0,
  IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON,
  IMAP_ENUM_CALDAV_ALLOWSCHEDULING_APPLE,
  IMAP_ENUM_CALENDAR_COMPONENT_SET_VEVENT = (1LL<<0),
  IMAP_ENUM_CALENDAR_COMPONENT_SET_VTODO = (1LL<<1),
  IMAP_ENUM_CALENDAR_COMPONENT_SET_VJOURNAL = (1LL<<2),
  IMAP_ENUM_CALENDAR_COMPONENT_SET_VFREEBUSY = (1LL<<3),
  IMAP_ENUM_CALENDAR_COMPONENT_SET_VAVAILABILITY = (1LL<<4),
  IMAP_ENUM_CALENDAR_COMPONENT_SET_VPOLL = (1LL<<5),
  IMAP_ENUM_DELETE_MODE_IMMEDIATE = 0,
  IMAP_ENUM_DELETE_MODE_DELAYED,
  IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_STANDARD = 0,
  IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_MESSAGE,
  IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_HEADER,
  IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_BODY,
  IMAP_ENUM_EVENT_CONTENT_INCLUSION_MODE_HEADERBODY,
  IMAP_ENUM_EVENT_EXTRA_PARAMS_BODYSTRUCTURE = (1LL<<0),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_CLIENTADDRESS = (1LL<<1),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_DISKUSED = (1LL<<2),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_FLAGNAMES = (1LL<<3),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_MESSAGECONTENT = (1LL<<4),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_MESSAGESIZE = (1LL<<5),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_MESSAGES = (1LL<<6),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_MODSEQ = (1LL<<7),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_SERVICE = (1LL<<8),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_TIMESTAMP = (1LL<<9),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_UIDNEXT = (1LL<<10),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_MIDSET = (1LL<<11),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_UNSEENMESSAGES = (1LL<<12),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_ENVELOPE = (1LL<<13),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_SESSIONID = (1LL<<14),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_MAILBOXACL = (1LL<<15),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_MBTYPE = (1LL<<16),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVFILENAME = (1LL<<17),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVUID = (1LL<<18),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CLIENTID = (1LL<<19),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_SESSIONID = (1LL<<20),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CONVEXISTS = (1LL<<21),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CONVUNSEEN = (1LL<<22),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CID = (1LL<<23),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_COUNTERS = (1LL<<24),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_EMAILID = (1LL<<25),
  IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_THREADID = (1LL<<26),
  IMAP_ENUM_EVENT_GROUPS_MESSAGE = (1LL<<0),
  IMAP_ENUM_EVENT_GROUPS_QUOTA = (1LL<<1),
  IMAP_ENUM_EVENT_GROUPS_FLAGS = (1LL<<2),
  IMAP_ENUM_EVENT_GROUPS_ACCESS = (1LL<<3),
  IMAP_ENUM_EVENT_GROUPS_MAILBOX = (1LL<<4),
  IMAP_ENUM_EVENT_GROUPS_SUBSCRIPTION = (1LL<<5),
  IMAP_ENUM_EVENT_GROUPS_CALENDAR = (1LL<<6),
  IMAP_ENUM_EVENT_GROUPS_APPLEPUSHSERVICE = (1LL<<7),
  IMAP_ENUM_EXPUNGE_MODE_IMMEDIATE = 0,
  IMAP_ENUM_EXPUNGE_MODE_SEMIDELAYED,
  IMAP_ENUM_EXPUNGE_MODE_DELAYED,
  IMAP_ENUM_HTTPMODULES_ADMIN = (1LL<<0),
  IMAP_ENUM_HTTPMODULES_CALDAV = (1LL<<1),
  IMAP_ENUM_HTTPMODULES_CARDDAV = (1LL<<2),
  IMAP_ENUM_HTTPMODULES_CGI = (1LL<<3),
  IMAP_ENUM_HTTPMODULES_DOMAINKEY = (1LL<<4),
  IMAP_ENUM_HTTPMODULES_FREEBUSY = (1LL<<5),
  IMAP_ENUM_HTTPMODULES_ISCHEDULE = (1LL<<6),
  IMAP_ENUM_HTTPMODULES_JMAP = (1LL<<7),
  IMAP_ENUM_HTTPMODULES_PROMETHEUS = (1LL<<8),
  IMAP_ENUM_HTTPMODULES_RSS = (1LL<<9),
  IMAP_ENUM_HTTPMODULES_TZDIST = (1LL<<10),
  IMAP_ENUM_HTTPMODULES_WEBDAV = (1LL<<11),
  IMAP_ENUM_METAPARTITION_FILES_HEADER = (1LL<<0),
  IMAP_ENUM_METAPARTITION_FILES_INDEX = (1LL<<1),
  IMAP_ENUM_METAPARTITION_FILES_CACHE = (1LL<<2),
  IMAP_ENUM_METAPARTITION_FILES_EXPUNGE = (1LL<<3),
  IMAP_ENUM_METAPARTITION_FILES_SQUAT = (1LL<<4),
  IMAP_ENUM_METAPARTITION_FILES_ANNOTATIONS = (1LL<<5),
  IMAP_ENUM_METAPARTITION_FILES_LOCK = (1LL<<6),
  IMAP_ENUM_METAPARTITION_FILES_DAV = (1LL<<7),
  IMAP_ENUM_METAPARTITION_FILES_ARCHIVECACHE = (1LL<<8),
  IMAP_ENUM_MUPDATE_CONFIG_STANDARD = 0,
  IMAP_ENUM_MUPDATE_CONFIG_UNIFIED,
  IMAP_ENUM_MUPDATE_CONFIG_REPLICATED,
  IMAP_ENUM_NEWSADDHEADERS_TO = (1LL<<0),
  IMAP_ENUM_NEWSADDHEADERS_REPLYTO = (1LL<<1),
  IMAP_ENUM_QOSMARKING_CS0 = 0,
  IMAP_ENUM_QOSMARKING_CS1,
  IMAP_ENUM_QOSMARKING_CS2,
  IMAP_ENUM_QOSMARKING_CS3,
  IMAP_ENUM_QOSMARKING_CS4,
  IMAP_ENUM_QOSMARKING_CS5,
  IMAP_ENUM_QOSMARKING_CS6,
  IMAP_ENUM_QOSMARKING_CS7,
  IMAP_ENUM_QOSMARKING_AF11,
  IMAP_ENUM_QOSMARKING_AF12,
  IMAP_ENUM_QOSMARKING_AF13,
  IMAP_ENUM_QOSMARKING_AF21,
  IMAP_ENUM_QOSMARKING_AF22,
  IMAP_ENUM_QOSMARKING_AF23,
  IMAP_ENUM_QOSMARKING_AF31,
  IMAP_ENUM_QOSMARKING_AF32,
  IMAP_ENUM_QOSMARKING_AF33,
  IMAP_ENUM_QOSMARKING_AF41,
  IMAP_ENUM_QOSMARKING_AF42,
  IMAP_ENUM_QOSMARKING_AF43,
  IMAP_ENUM_QOSMARKING_EF,
  IMAP_ENUM_SEARCH_ENGINE_NONE = 0,
  IMAP_ENUM_SEARCH_ENGINE_SQUAT,
  IMAP_ENUM_SEARCH_ENGINE_XAPIAN,
  IMAP_ENUM_SEARCH_WHITESPACE_SKIP = 0,
  IMAP_ENUM_SEARCH_WHITESPACE_MERGE,
  IMAP_ENUM_SEARCH_WHITESPACE_KEEP,
  IMAP_ENUM_SERVERINFO_OFF = 0,
  IMAP_ENUM_SERVERINFO_MIN,
  IMAP_ENUM_SERVERINFO_ON,
  IMAP_ENUM_SIEVE_EXTENSIONS_FILEINTO = (1LL<<0),
  IMAP_ENUM_SIEVE_EXTENSIONS_REJECT = (1LL<<1),
  IMAP_ENUM_SIEVE_EXTENSIONS_VACATION = (1LL<<2),
  IMAP_ENUM_SIEVE_EXTENSIONS_VACATION_SECONDS = (1LL<<3),
  IMAP_ENUM_SIEVE_EXTENSIONS_NOTIFY = (1LL<<4),
  IMAP_ENUM_SIEVE_EXTENSIONS_INCLUDE = (1LL<<5),
  IMAP_ENUM_SIEVE_EXTENSIONS_ENVELOPE = (1LL<<6),
  IMAP_ENUM_SIEVE_EXTENSIONS_ENVIRONMENT = (1LL<<7),
  IMAP_ENUM_SIEVE_EXTENSIONS_BODY = (1LL<<8),
  IMAP_ENUM_SIEVE_EXTENSIONS_RELATIONAL = (1LL<<9),
  IMAP_ENUM_SIEVE_EXTENSIONS_REGEX = (1LL<<10),
  IMAP_ENUM_SIEVE_EXTENSIONS_SUBADDRESS = (1LL<<11),
  IMAP_ENUM_SIEVE_EXTENSIONS_COPY = (1LL<<12),
  IMAP_ENUM_SIEVE_EXTENSIONS_DATE = (1LL<<13),
  IMAP_ENUM_SIEVE_EXTENSIONS_INDEX = (1LL<<14),
  IMAP_ENUM_SIEVE_EXTENSIONS_IMAP4FLAGS = (1LL<<15),
  IMAP_ENUM_SIEVE_EXTENSIONS_MAILBOX = (1LL<<16),
  IMAP_ENUM_SIEVE_EXTENSIONS_MBOXMETADATA = (1LL<<17),
  IMAP_ENUM_SIEVE_EXTENSIONS_SERVERMETADATA = (1LL<<18),
  IMAP_ENUM_SIEVE_EXTENSIONS_VARIABLES = (1LL<<19),
  IMAP_ENUM_SIEVE_EXTENSIONS_EDITHEADER = (1LL<<20),
  IMAP_ENUM_SIEVE_EXTENSIONS_EXTLISTS = (1LL<<21),
  IMAP_ENUM_SIEVE_EXTENSIONS_DUPLICATE = (1LL<<22),
  IMAP_ENUM_SIEVE_EXTENSIONS_IHAVE = (1LL<<23),
  IMAP_ENUM_SIEVE_EXTENSIONS_FCC = (1LL<<24),
  IMAP_ENUM_SIEVE_EXTENSIONS_SPECIAL_USE = (1LL<<25),
  IMAP_ENUM_SIEVE_EXTENSIONS_REDIRECT_DSN = (1LL<<26),
  IMAP_ENUM_SIEVE_EXTENSIONS_REDIRECT_DELIVERBY = (1LL<<27),
  IMAP_ENUM_SIEVE_EXTENSIONS_MAILBOXID = (1LL<<28),
  IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_LOG = (1LL<<29),
  IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_JMAPQUERY = (1LL<<30),
  IMAP_ENUM_SIEVE_EXTENSIONS_SNOOZE = (1LL<<31),
  IMAP_ENUM_TLS_CLIENT_CERTS_OFF = 0,
  IMAP_ENUM_TLS_CLIENT_CERTS_OPTIONAL,
  IMAP_ENUM_TLS_CLIENT_CERTS_REQUIRE,
  IMAP_ENUM_UIDL_FORMAT_UIDONLY = 0,
  IMAP_ENUM_UIDL_FORMAT_CYRUS,
  IMAP_ENUM_UIDL_FORMAT_DOVECOT,
  IMAP_ENUM_UIDL_FORMAT_COURIER,
  IMAP_ENUM_VIRTDOMAINS_OFF = 0,
  IMAP_ENUM_VIRTDOMAINS_USERID,
  IMAP_ENUM_VIRTDOMAINS_ON
};

union config_value {
    void *dummy;
    const char *s;      /* OPT_STRING, OPT_STRINGLIST, OPT_DURATION */
    long i;             /* OPT_INT */
    long b;             /* OPT_SWITCH */
    enum enum_value e;  /* OPT_ENUM */
    unsigned long long x; /* OPT_BITFIELD */
};

struct enum_option_s {
    const char *name;
    const enum enum_value val;
};

#define MAX_ENUM_OPTS 37
struct imapopt_s {
    const enum imapopt opt;
    const char *optname;
    int seen;
    const enum opttype t;
    uint32_t last_modified;
    const char *deprecated_since;
    const enum imapopt preferred_opt;
    union config_value val;
    const union config_value def;
    const struct enum_option_s enum_options[MAX_ENUM_OPTS+1];
};

extern struct imapopt_s imapopts[];

#endif /* INCLUDED_IMAPOPTIONS_H */
