/* auto-generated by tools/imapoptions.pl */
#ifndef INCLUDED_IMAPOPTS_H
#define INCLUDED_IMAPOPTS_H

#include <stdbool.h>
#include <stdint.h>

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

enum imapopt {
    IMAPOPT_ZERO = 0,
    IMAPOPT_ACL_ADMIN_IMPLIES_WRITE,
    IMAPOPT_ADDRESSBOOKPREFIX,
    IMAPOPT_ADMINS,
    IMAPOPT_ADMINS_GET_INTERNAL_SEEN,
    IMAPOPT_AFSPTS_LOCALREALMS,
    IMAPOPT_AFSPTS_MYCELL,
    IMAPOPT_ALLOWALLSUBSCRIBE,
    IMAPOPT_ALLOWANONYMOUSLOGIN,
    IMAPOPT_ALLOWAPOP,
    IMAPOPT_ALLOWDELETED,
    IMAPOPT_ALLOWNEWNEWS,
    IMAPOPT_ALLOWPLAINTEXT,
    IMAPOPT_ALLOWSETACL,
    IMAPOPT_ALLOWSPECIALUSESUBFOLDER,
    IMAPOPT_ALLOWSTARTTLS,
    IMAPOPT_ALLOWUSERMOVES,
    IMAPOPT_ALTNAMESPACE,
    IMAPOPT_ALTPREFIX,
    IMAPOPT_ANNOTATION_ALLOW_UNDEFINED,
    IMAPOPT_ANNOTATION_CALLOUT,
    IMAPOPT_ANNOTATION_CALLOUT_DISABLE_APPEND,
    IMAPOPT_ANNOTATION_DB,
    IMAPOPT_ANNOTATION_DB_PATH,
    IMAPOPT_ANNOTATION_DEFINITIONS,
    IMAPOPT_ANNOTATION_ENABLE_LEGACY_COMMANDS,
    IMAPOPT_ANYONEUSERACL,
    IMAPOPT_ANYSIEVEFOLDER,
    IMAPOPT_APS_EXPIRY,
    IMAPOPT_APS_TOPIC,
    IMAPOPT_APS_TOPIC_CALDAV,
    IMAPOPT_APS_TOPIC_CARDDAV,
    IMAPOPT_ARCHIVE_AFTER,
    IMAPOPT_ARCHIVE_DAYS,
    IMAPOPT_ARCHIVE_ENABLED,
    IMAPOPT_ARCHIVE_KEEPFLAGGED,
    IMAPOPT_ARCHIVE_MAXSIZE,
    IMAPOPT_AUDITLOG,
    IMAPOPT_AUTH_MECH,
    IMAPOPT_AUTOCREATE_INBOX_FOLDERS,
    IMAPOPT_AUTOCREATE_POST,
    IMAPOPT_AUTOCREATE_QUOTA,
    IMAPOPT_AUTOCREATE_QUOTA_MESSAGES,
    IMAPOPT_AUTOCREATE_SIEVE_COMPILED_SCRIPT,
    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_AUTOCREATEINBOXFOLDERS,
    IMAPOPT_AUTOCREATEQUOTA,
    IMAPOPT_AUTOCREATEQUOTAMSG,
    IMAPOPT_AUTOEXPUNGE,
    IMAPOPT_AUTOSIEVEFOLDERS,
    IMAPOPT_AUTOSUBSCRIBE_ALL_SHAREDFOLDERS,
    IMAPOPT_AUTOSUBSCRIBEINBOXFOLDERS,
    IMAPOPT_AUTOSUBSCRIBESHAREDFOLDERS,
    IMAPOPT_BACKUP_COMPACT_MAXSIZE,
    IMAPOPT_BACKUP_COMPACT_MINSIZE,
    IMAPOPT_BACKUP_COMPACT_WORK_THRESHOLD,
    IMAPOPT_BACKUP_DB,
    IMAPOPT_BACKUP_DB_PATH,
    IMAPOPT_BACKUP_KEEP_PREVIOUS,
    IMAPOPT_BACKUP_RETENTION,
    IMAPOPT_BACKUP_RETENTION_DAYS,
    IMAPOPT_BACKUP_STAGING_PATH,
    IMAPOPT_BOUNDARY_LIMIT,
    IMAPOPT_CALDAV_ACCEPT_INVALID_RRULES,
    IMAPOPT_CALDAV_ALARM_DB_PATH,
    IMAPOPT_CALDAV_ALARM_SUPPORT_COMPONENTS,
    IMAPOPT_CALDAV_ALARM_SUPPRESS_FILE,
    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_CALENDAR_COMPONENT_SET,
    IMAPOPT_CALENDAR_DEFAULT_DISPLAYNAME,
    IMAPOPT_CALENDAR_MINIMUM_ALARM_INTERVAL,
    IMAPOPT_CALENDAR_SUPPRESS_DUPLICATE_ALARMS,
    IMAPOPT_CALENDAR_USER_ADDRESS_SET,
    IMAPOPT_CALENDARPREFIX,
    IMAPOPT_CARDDAV_ALLOWADDMEMBER,
    IMAPOPT_CARDDAV_ALLOWADDRESSBOOKADMIN,
    IMAPOPT_CARDDAV_REALM,
    IMAPOPT_CARDDAV_REPAIR_VCARD,
    IMAPOPT_CARINGO_HOSTNAME,
    IMAPOPT_CARINGO_PORT,
    IMAPOPT_CHATTY,
    IMAPOPT_CLIENT_BIND,
    IMAPOPT_CLIENT_BIND_NAME,
    IMAPOPT_CLIENT_TIMEOUT,
    IMAPOPT_COMMANDMINTIMER,
    IMAPOPT_CONFIGDIRECTORY,
    IMAPOPT_CONVERSATIONS,
    IMAPOPT_CONVERSATIONS_COUNTED_FLAGS,
    IMAPOPT_CONVERSATIONS_DB,
    IMAPOPT_CONVERSATIONS_EXPIRE_AFTER,
    IMAPOPT_CONVERSATIONS_EXPIRE_DAYS,
    IMAPOPT_CONVERSATIONS_KEEP_EXISTING,
    IMAPOPT_CONVERSATIONS_MAX_GUIDEXISTS,
    IMAPOPT_CONVERSATIONS_MAX_GUIDINFOLDER,
    IMAPOPT_CONVERSATIONS_MAX_GUIDRECORDS,
    IMAPOPT_CONVERSATIONS_MAX_THREAD,
    IMAPOPT_CREATEONPOST,
    IMAPOPT_CROSSDOMAINS,
    IMAPOPT_CROSSDOMAINS_ONLYOTHER,
    IMAPOPT_CYRUS_GROUP,
    IMAPOPT_CYRUS_USER,
    IMAPOPT_CYRUSDB_AUTOCONVERT,
    IMAPOPT_DAV_LOCK_TIMEOUT,
    IMAPOPT_DAV_REALM,
    IMAPOPT_DAVDRIVEPREFIX,
    IMAPOPT_DAVNOTIFICATIONSPREFIX,
    IMAPOPT_DEBUG,
    IMAPOPT_DEBUG_COMMAND,
    IMAPOPT_DEBUG_LOG_SYNC_PARTITION_CHOICE,
    IMAPOPT_DEBUG_SLOWIO,
    IMAPOPT_DEBUG_WRITEFAIL_GUID,
    IMAPOPT_DEFAULTACL,
    IMAPOPT_DEFAULTDOMAIN,
    IMAPOPT_DEFAULTPARTITION,
    IMAPOPT_DEFAULTSEARCHTIER,
    IMAPOPT_DEFAULTSERVER,
    IMAPOPT_DELETE_MODE,
    IMAPOPT_DELETE_UNSUBSCRIBE,
    IMAPOPT_DELETEDPREFIX,
    IMAPOPT_DELETERIGHT,
    IMAPOPT_DISABLE_SHARED_NAMESPACE,
    IMAPOPT_DISABLE_USER_NAMESPACE,
    IMAPOPT_DISCONNECT_ON_VANISHED_MAILBOX,
    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_EXPIRE_BY_SAVEDATE,
    IMAPOPT_EXPIRE_KEEP_FLAGGED,
    IMAPOPT_EXPUNGE_MODE,
    IMAPOPT_FAILEDLOGINPAUSE,
    IMAPOPT_FASTMAILSHARING,
    IMAPOPT_FATALS_ABORT,
    IMAPOPT_FLUSHSEENSTATE,
    IMAPOPT_FOOLSTUPIDCLIENTS,
    IMAPOPT_FORCE_SASL_CLIENT_MECH,
    IMAPOPT_FULLDIRHASH,
    IMAPOPT_GENERATE_COMPILED_SIEVE_SCRIPT,
    IMAPOPT_GLOBAL_LOCK,
    IMAPOPT_HASHIMAPSPOOL,
    IMAPOPT_HTTP_H2_ALTSVC,
    IMAPOPT_HTTP_JWT_KEY_DIR,
    IMAPOPT_HTTP_JWT_MAX_AGE,
    IMAPOPT_HTTPALLOWCOMPRESS,
    IMAPOPT_HTTPALLOWCORS,
    IMAPOPT_HTTPALLOWEDURLS,
    IMAPOPT_HTTPALLOWTRACE,
    IMAPOPT_HTTPCONTENTMD5,
    IMAPOPT_HTTPDOCROOT,
    IMAPOPT_HTTPKEEPALIVE,
    IMAPOPT_HTTPLOGHEADERS,
    IMAPOPT_HTTPMODULES,
    IMAPOPT_HTTPPRETTYTELEMETRY,
    IMAPOPT_HTTPPTS_URI,
    IMAPOPT_HTTPTIMEOUT,
    IMAPOPT_ICALENDAR_MAX_SIZE,
    IMAPOPT_IDLESOCKET,
    IMAPOPT_IGNOREREFERENCE,
    IMAPOPT_IMAP_INPROGRESS_INTERVAL,
    IMAPOPT_IMAPIDLEPOLL,
    IMAPOPT_IMAPIDLETIMEOUT,
    IMAPOPT_IMAPIDRESPONSE,
    IMAPOPT_IMAPMAGICPLUS,
    IMAPOPT_IMIPNOTIFIER,
    IMAPOPT_IMPLICIT_OWNER_RIGHTS,
    IMAPOPT_IMPROVED_MBOXLIST_SORT,
    IMAPOPT_IOLOG,
    IMAPOPT_ISCHEDULE_DKIM_DOMAIN,
    IMAPOPT_ISCHEDULE_DKIM_KEY_FILE,
    IMAPOPT_ISCHEDULE_DKIM_REQUIRED,
    IMAPOPT_ISCHEDULE_DKIM_SELECTOR,
    IMAPOPT_JMAP_EMAILSEARCH_DB_PATH,
    IMAPOPT_JMAP_IMAGESIZE_ANNOT,
    IMAPOPT_JMAP_INLINEDCIDS_ANNOT,
    IMAPOPT_JMAP_MAIL_MAX_SIZE_ATTACHMENTS_PER_EMAIL,
    IMAPOPT_JMAP_MAX_CALENDAREVENTNOTIFS,
    IMAPOPT_JMAP_MAX_CALLS_IN_REQUEST,
    IMAPOPT_JMAP_MAX_CATENATE_ITEMS,
    IMAPOPT_JMAP_MAX_CONCURRENT_REQUESTS,
    IMAPOPT_JMAP_MAX_CONCURRENT_UPLOAD,
    IMAPOPT_JMAP_MAX_DELAYED_SEND,
    IMAPOPT_JMAP_MAX_OBJECTS_IN_GET,
    IMAPOPT_JMAP_MAX_OBJECTS_IN_SET,
    IMAPOPT_JMAP_MAX_SIZE_BLOB_SET,
    IMAPOPT_JMAP_MAX_SIZE_REQUEST,
    IMAPOPT_JMAP_MAX_SIZE_UPLOAD,
    IMAPOPT_JMAP_NONSTANDARD_EXTENSIONS,
    IMAPOPT_JMAP_PREVIEW_ANNOT,
    IMAPOPT_JMAP_PREVIEW_LENGTH,
    IMAPOPT_JMAP_PUSHPOLL,
    IMAPOPT_JMAP_QUERYCACHE_MAX_AGE,
    IMAPOPT_JMAP_SET_HAS_ATTACHMENT,
    IMAPOPT_JMAP_VACATION,
    IMAPOPT_JMAPACCESS_URL,
    IMAPOPT_JMAPNOTIFICATIONFOLDER,
    IMAPOPT_JMAPPUSHSUBSCRIPTIONFOLDER,
    IMAPOPT_JMAPSUBMISSION_DELETEONSEND,
    IMAPOPT_JMAPSUBMISSIONFOLDER,
    IMAPOPT_JMAPUPLOADFOLDER,
    IMAPOPT_LDAP_AUTHZ,
    IMAPOPT_LDAP_BASE,
    IMAPOPT_LDAP_BIND_DN,
    IMAPOPT_LDAP_CA_DIR,
    IMAPOPT_LDAP_CA_FILE,
    IMAPOPT_LDAP_CIPHERS,
    IMAPOPT_LDAP_CLIENT_CERT,
    IMAPOPT_LDAP_CLIENT_KEY,
    IMAPOPT_LDAP_DEREF,
    IMAPOPT_LDAP_DOMAIN_BASE_DN,
    IMAPOPT_LDAP_DOMAIN_FILTER,
    IMAPOPT_LDAP_DOMAIN_NAME_ATTRIBUTE,
    IMAPOPT_LDAP_DOMAIN_RESULT_ATTRIBUTE,
    IMAPOPT_LDAP_DOMAIN_SCOPE,
    IMAPOPT_LDAP_FILTER,
    IMAPOPT_LDAP_GROUP_BASE,
    IMAPOPT_LDAP_GROUP_FILTER,
    IMAPOPT_LDAP_GROUP_SCOPE,
    IMAPOPT_LDAP_GROUPMEMBER_ATTRIBUTE,
    IMAPOPT_LDAP_ID,
    IMAPOPT_LDAP_MECH,
    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_TLS_CACERT_DIR,
    IMAPOPT_LDAP_TLS_CACERT_FILE,
    IMAPOPT_LDAP_TLS_CERT,
    IMAPOPT_LDAP_TLS_CHECK_PEER,
    IMAPOPT_LDAP_TLS_CIPHERS,
    IMAPOPT_LDAP_TLS_KEY,
    IMAPOPT_LDAP_URI,
    IMAPOPT_LDAP_USER_ATTRIBUTE,
    IMAPOPT_LDAP_VERIFY_PEER,
    IMAPOPT_LDAP_VERSION,
    IMAPOPT_LITERALMINUS,
    IMAPOPT_LMTP_CATCHALL_MAILBOX,
    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_LEGACY_DIRS,
    IMAPOPT_MAILBOX_MAXMESSAGES_ADDRESSBOOK,
    IMAPOPT_MAILBOX_MAXMESSAGES_CALENDAR,
    IMAPOPT_MAILBOX_MAXMESSAGES_EMAIL,
    IMAPOPT_MAILNOTIFIER,
    IMAPOPT_MASTER_BIND_ERRORS_FATAL,
    IMAPOPT_MASTER_PID_FILE,
    IMAPOPT_MASTER_READY_FILE,
    IMAPOPT_MAXARGSSIZE,
    IMAPOPT_MAXHEADERLINES,
    IMAPOPT_MAXLITERAL,
    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_MBOXNAME_USERPATH,
    IMAPOPT_METAPARTITION_FILES,
    IMAPOPT_MUNGE8BIT,
    IMAPOPT_MUPDATE_AUTHNAME,
    IMAPOPT_MUPDATE_CONFIG,
    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_NOTIFY_EXTERNAL,
    IMAPOPT_NOTIFYSOCKET,
    IMAPOPT_OBJECT_STORAGE_DUMMY_SPOOL,
    IMAPOPT_OBJECT_STORAGE_ENABLED,
    IMAPOPT_OPENIO_ACCOUNT,
    IMAPOPT_OPENIO_AUTOCREATE,
    IMAPOPT_OPENIO_NAMESPACE,
    IMAPOPT_OPENIO_PROXY_TIMEOUT,
    IMAPOPT_OPENIO_RAWX_TIMEOUT,
    IMAPOPT_OPENIO_VERBOSITY,
    IMAPOPT_PARTITION_SELECT_EXCLUDE,
    IMAPOPT_PARTITION_SELECT_MODE,
    IMAPOPT_PARTITION_SELECT_SOFT_USAGE_LIMIT,
    IMAPOPT_PARTITION_SELECT_USAGE_REINIT,
    IMAPOPT_PLAINTEXTLOGINALERT,
    IMAPOPT_PLAINTEXTLOGINPAUSE,
    IMAPOPT_POPEXPIRETIME,
    IMAPOPT_POPMINPOLL,
    IMAPOPT_POPPOLLPADDING,
    IMAPOPT_POPSUBFOLDERS,
    IMAPOPT_POPTIMEOUT,
    IMAPOPT_POPUSEACL,
    IMAPOPT_POPUSEIMAPFLAGS,
    IMAPOPT_POSTMASTER,
    IMAPOPT_POSTSPEC,
    IMAPOPT_POSTUSER,
    IMAPOPT_PROC_PATH,
    IMAPOPT_PROMETHEUS_ENABLED,
    IMAPOPT_PROMETHEUS_MASTER_UPDATE_FREQ,
    IMAPOPT_PROMETHEUS_NEED_AUTH,
    IMAPOPT_PROMETHEUS_SERVICE_UPDATE_FREQ,
    IMAPOPT_PROMETHEUS_STATS_DIR,
    IMAPOPT_PROMETHEUS_UPDATE_FREQ,
    IMAPOPT_PROMETHEUS_USAGE_UPDATE_FREQ,
    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_PTLOADER_SOCK,
    IMAPOPT_PTS_MODULE,
    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_QUOTAWARNPERCENT,
    IMAPOPT_QUOTAWARNSIZE,
    IMAPOPT_READONLY,
    IMAPOPT_REJECT8BIT,
    IMAPOPT_REPLICAONLY,
    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_ATTACHMENT_EXTRACTOR_IDLE_TIMEOUT,
    IMAPOPT_SEARCH_ATTACHMENT_EXTRACTOR_REQUEST_TIMEOUT,
    IMAPOPT_SEARCH_ATTACHMENT_EXTRACTOR_URL,
    IMAPOPT_SEARCH_BATCHSIZE,
    IMAPOPT_SEARCH_ENGINE,
    IMAPOPT_SEARCH_FUZZY_ALWAYS,
    IMAPOPT_SEARCH_INDEX_HEADERS,
    IMAPOPT_SEARCH_INDEX_LANGUAGE,
    IMAPOPT_SEARCH_INDEX_PARTS,
    IMAPOPT_SEARCH_INDEX_SKIP_DOMAINS,
    IMAPOPT_SEARCH_INDEX_SKIP_USERS,
    IMAPOPT_SEARCH_INDEXED_DB,
    IMAPOPT_SEARCH_MAXSIZE,
    IMAPOPT_SEARCH_MAXTIME,
    IMAPOPT_SEARCH_NORMALISATION_MAX,
    IMAPOPT_SEARCH_QUERY_LANGUAGE,
    IMAPOPT_SEARCH_QUERYSCAN,
    IMAPOPT_SEARCH_SKIPDIACRIT,
    IMAPOPT_SEARCH_SKIPHTML,
    IMAPOPT_SEARCH_SNIPPET_LENGTH,
    IMAPOPT_SEARCH_STOPWORD_PATH,
    IMAPOPT_SEARCH_WHITESPACE,
    IMAPOPT_SEENSTATE_DB,
    IMAPOPT_SENDMAIL,
    IMAPOPT_SENDMAIL_AUTH_ID,
    IMAPOPT_SERVERINFO,
    IMAPOPT_SERVERLIST,
    IMAPOPT_SERVERLIST_SELECT_MODE,
    IMAPOPT_SERVERLIST_SELECT_SOFT_USAGE_LIMIT,
    IMAPOPT_SERVERLIST_SELECT_USAGE_REINIT,
    IMAPOPT_SERVERNAME,
    IMAPOPT_SHAREDPREFIX,
    IMAPOPT_SIEVE_ALLOWREFERRALS,
    IMAPOPT_SIEVE_DUPLICATE_MAX_EXPIRATION,
    IMAPOPT_SIEVE_EXTENSIONS,
    IMAPOPT_SIEVE_FOLDER,
    IMAPOPT_SIEVE_MAXSCRIPTS,
    IMAPOPT_SIEVE_MAXSCRIPTSIZE,
    IMAPOPT_SIEVE_MDN_ORIGINAL_RECIPIENT_HEADER,
    IMAPOPT_SIEVE_MDN_PRIVATE,
    IMAPOPT_SIEVE_SASL_SEND_UNSOLICITED_CAPABILITY,
    IMAPOPT_SIEVE_USE_LMTP_REJECT,
    IMAPOPT_SIEVE_UTF8FILEINTO,
    IMAPOPT_SIEVE_VACATION_MAX_RESPONSE,
    IMAPOPT_SIEVE_VACATION_MIN_RESPONSE,
    IMAPOPT_SIEVEDIR,
    IMAPOPT_SIEVENOTIFIER,
    IMAPOPT_SIEVEUSEHOMEDIR,
    IMAPOPT_SINGLEINSTANCESTORE,
    IMAPOPT_SKIPLIST_ALWAYS_CHECKPOINT,
    IMAPOPT_SKIPLIST_UNSAFE,
    IMAPOPT_SMTP_AUTH_AUTHNAME,
    IMAPOPT_SMTP_AUTH_PASSWORD,
    IMAPOPT_SMTP_AUTH_REALM,
    IMAPOPT_SMTP_BACKEND,
    IMAPOPT_SMTP_HOST,
    IMAPOPT_SOFT_NOAUTH,
    IMAPOPT_SORTCACHE_DB,
    IMAPOPT_SPECIALUSE_EXTRA,
    IMAPOPT_SPECIALUSE_NOCHILDREN,
    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_STATUSCACHE,
    IMAPOPT_STATUSCACHE_DB,
    IMAPOPT_STATUSCACHE_DB_PATH,
    IMAPOPT_SUBMITSERVERS,
    IMAPOPT_SUBSCRIPTION_DB,
    IMAPOPT_SUPPRESS_CAPABILITIES,
    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_RECONNECT_MAXWAIT,
    IMAPOPT_SYNC_REPEAT_INTERVAL,
    IMAPOPT_SYNC_RIGHTNOW_CHANNEL,
    IMAPOPT_SYNC_SHUTDOWN_FILE,
    IMAPOPT_SYNC_TIMEOUT,
    IMAPOPT_SYNC_TRY_IMAP,
    IMAPOPT_SYSLOG_FACILITY,
    IMAPOPT_SYSLOG_PREFIX,
    IMAPOPT_TCP_KEEPALIVE,
    IMAPOPT_TCP_KEEPALIVE_CNT,
    IMAPOPT_TCP_KEEPALIVE_IDLE,
    IMAPOPT_TCP_KEEPALIVE_INTVL,
    IMAPOPT_TELEMETRY_BYSESSIONID,
    IMAPOPT_TEMP_PATH,
    IMAPOPT_TIMEOUT,
    IMAPOPT_TLS_CA_FILE,
    IMAPOPT_TLS_CA_PATH,
    IMAPOPT_TLS_CERT_FILE,
    IMAPOPT_TLS_CIPHER_LIST,
    IMAPOPT_TLS_CIPHERS,
    IMAPOPT_TLS_CLIENT_CA_DIR,
    IMAPOPT_TLS_CLIENT_CA_FILE,
    IMAPOPT_TLS_CLIENT_CERT,
    IMAPOPT_TLS_CLIENT_CERTS,
    IMAPOPT_TLS_CLIENT_KEY,
    IMAPOPT_TLS_CRL_FILE,
    IMAPOPT_TLS_ECCURVE,
    IMAPOPT_TLS_KEY_FILE,
    IMAPOPT_TLS_PREFER_SERVER_CIPHERS,
    IMAPOPT_TLS_REQUIRED,
    IMAPOPT_TLS_SERVER_CA_DIR,
    IMAPOPT_TLS_SERVER_CA_FILE,
    IMAPOPT_TLS_SERVER_CERT,
    IMAPOPT_TLS_SERVER_DHPARAM,
    IMAPOPT_TLS_SERVER_KEY,
    IMAPOPT_TLS_SESSION_TIMEOUT,
    IMAPOPT_TLS_SESSIONS_DB,
    IMAPOPT_TLS_SESSIONS_DB_PATH,
    IMAPOPT_TLS_VERSIONS,
    IMAPOPT_TLSCACHE_DB,
    IMAPOPT_TLSCACHE_DB_PATH,
    IMAPOPT_UIDBATCHES_MAX_MESSAGES,
    IMAPOPT_UIDBATCHES_MIN_BATCH,
    IMAPOPT_UIDL_FORMAT,
    IMAPOPT_UMASK,
    IMAPOPT_UNIX_GROUP_ENABLE,
    IMAPOPT_UNIXHIERARCHYSEP,
    IMAPOPT_USERDENY_DB,
    IMAPOPT_USERDENY_DB_PATH,
    IMAPOPT_USERNAME_TOLOWER,
    IMAPOPT_USERPREFIX,
    IMAPOPT_VCARD_MAX_SIZE,
    IMAPOPT_VIRTDOMAINS,
    IMAPOPT_VIRUSSCAN_NOTIFICATION_SUBJECT,
    IMAPOPT_VIRUSSCAN_NOTIFICATION_TEMPLATE,
    IMAPOPT_WEBDAV_ATTACHMENTS_BASEURL,
    IMAPOPT_WEBDAV_ATTACHMENTS_MAX_BINARY_ATTACH_SIZE,
    IMAPOPT_WEBSOCKET_TIMEOUT,
    IMAPOPT_XBACKUP_ENABLED,
    IMAPOPT_ZONEINFO_DB,
    IMAPOPT_ZONEINFO_DB_PATH,
    IMAPOPT_ZONEINFO_DIR,
    IMAPOPT_LAST
};

enum enum_value {
    IMAP_ENUM_ZERO = 0,
    IMAP_ENUM_CALDAV_ALARM_SUPPORT_COMPONENTS_VEVENT = (UINT64_C(1)<<0),
    IMAP_ENUM_CALDAV_ALARM_SUPPORT_COMPONENTS_VTODO = (UINT64_C(1)<<1),
    IMAP_ENUM_CALDAV_ALLOWSCHEDULING_OFF = 0,
    IMAP_ENUM_CALDAV_ALLOWSCHEDULING_ON,
    IMAP_ENUM_CALDAV_ALLOWSCHEDULING_APPLE,
    IMAP_ENUM_CALENDAR_COMPONENT_SET_VEVENT = (UINT64_C(1)<<0),
    IMAP_ENUM_CALENDAR_COMPONENT_SET_VTODO = (UINT64_C(1)<<1),
    IMAP_ENUM_CALENDAR_COMPONENT_SET_VJOURNAL = (UINT64_C(1)<<2),
    IMAP_ENUM_CALENDAR_COMPONENT_SET_VFREEBUSY = (UINT64_C(1)<<3),
    IMAP_ENUM_CALENDAR_COMPONENT_SET_VAVAILABILITY = (UINT64_C(1)<<4),
    IMAP_ENUM_CALENDAR_COMPONENT_SET_VPOLL = (UINT64_C(1)<<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 = (UINT64_C(1)<<0),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_CLIENTADDRESS = (UINT64_C(1)<<1),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_DISKUSED = (UINT64_C(1)<<2),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_FLAGNAMES = (UINT64_C(1)<<3),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_MESSAGECONTENT = (UINT64_C(1)<<4),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_MESSAGESIZE = (UINT64_C(1)<<5),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_MESSAGES = (UINT64_C(1)<<6),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_MODSEQ = (UINT64_C(1)<<7),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_SERVICE = (UINT64_C(1)<<8),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_TIMESTAMP = (UINT64_C(1)<<9),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_UIDNEXT = (UINT64_C(1)<<10),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_MIDSET = (UINT64_C(1)<<11),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_UNSEENMESSAGES = (UINT64_C(1)<<12),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_ENVELOPE = (UINT64_C(1)<<13),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_SESSIONID = (UINT64_C(1)<<14),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_MAILBOXACL = (UINT64_C(1)<<15),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_MBTYPE = (UINT64_C(1)<<16),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVFILENAME = (UINT64_C(1)<<17),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_DAVUID = (UINT64_C(1)<<18),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CLIENTID = (UINT64_C(1)<<19),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_SESSIONID = (UINT64_C(1)<<20),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CONVEXISTS = (UINT64_C(1)<<21),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CONVUNSEEN = (UINT64_C(1)<<22),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_CID = (UINT64_C(1)<<23),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_COUNTERS = (UINT64_C(1)<<24),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_JMAPEMAIL = (UINT64_C(1)<<25),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_JMAPSTATES = (UINT64_C(1)<<26),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_EMAILID = (UINT64_C(1)<<27),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_THREADID = (UINT64_C(1)<<28),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_CMU_VISIBLEUSERS = (UINT64_C(1)<<29),
    IMAP_ENUM_EVENT_EXTRA_PARAMS_VND_FASTMAIL_TRACEID = (UINT64_C(1)<<30),
    IMAP_ENUM_EVENT_GROUPS_MESSAGE = (UINT64_C(1)<<0),
    IMAP_ENUM_EVENT_GROUPS_QUOTA = (UINT64_C(1)<<1),
    IMAP_ENUM_EVENT_GROUPS_FLAGS = (UINT64_C(1)<<2),
    IMAP_ENUM_EVENT_GROUPS_ACCESS = (UINT64_C(1)<<3),
    IMAP_ENUM_EVENT_GROUPS_MAILBOX = (UINT64_C(1)<<4),
    IMAP_ENUM_EVENT_GROUPS_SUBSCRIPTION = (UINT64_C(1)<<5),
    IMAP_ENUM_EVENT_GROUPS_CALENDAR = (UINT64_C(1)<<6),
    IMAP_ENUM_EVENT_GROUPS_APPLEPUSHSERVICE = (UINT64_C(1)<<7),
    IMAP_ENUM_EVENT_GROUPS_JMAP = (UINT64_C(1)<<8),
    IMAP_ENUM_EXPUNGE_MODE_IMMEDIATE = 0,
    IMAP_ENUM_EXPUNGE_MODE_SEMIDELAYED,
    IMAP_ENUM_EXPUNGE_MODE_DELAYED,
    IMAP_ENUM_HTTPMODULES_ADMIN = (UINT64_C(1)<<0),
    IMAP_ENUM_HTTPMODULES_CALDAV = (UINT64_C(1)<<1),
    IMAP_ENUM_HTTPMODULES_CARDDAV = (UINT64_C(1)<<2),
    IMAP_ENUM_HTTPMODULES_CGI = (UINT64_C(1)<<3),
    IMAP_ENUM_HTTPMODULES_DOMAINKEY = (UINT64_C(1)<<4),
    IMAP_ENUM_HTTPMODULES_FREEBUSY = (UINT64_C(1)<<5),
    IMAP_ENUM_HTTPMODULES_ISCHEDULE = (UINT64_C(1)<<6),
    IMAP_ENUM_HTTPMODULES_JMAP = (UINT64_C(1)<<7),
    IMAP_ENUM_HTTPMODULES_PROMETHEUS = (UINT64_C(1)<<8),
    IMAP_ENUM_HTTPMODULES_RSS = (UINT64_C(1)<<9),
    IMAP_ENUM_HTTPMODULES_TZDIST = (UINT64_C(1)<<10),
    IMAP_ENUM_HTTPMODULES_WEBDAV = (UINT64_C(1)<<11),
    IMAP_ENUM_METAPARTITION_FILES_HEADER = (UINT64_C(1)<<0),
    IMAP_ENUM_METAPARTITION_FILES_INDEX = (UINT64_C(1)<<1),
    IMAP_ENUM_METAPARTITION_FILES_CACHE = (UINT64_C(1)<<2),
    IMAP_ENUM_METAPARTITION_FILES_EXPUNGE = (UINT64_C(1)<<3),
    IMAP_ENUM_METAPARTITION_FILES_SQUAT = (UINT64_C(1)<<4),
    IMAP_ENUM_METAPARTITION_FILES_ANNOTATIONS = (UINT64_C(1)<<5),
    IMAP_ENUM_METAPARTITION_FILES_LOCK = (UINT64_C(1)<<6),
    IMAP_ENUM_METAPARTITION_FILES_DAV = (UINT64_C(1)<<7),
    IMAP_ENUM_METAPARTITION_FILES_ARCHIVECACHE = (UINT64_C(1)<<8),
    IMAP_ENUM_MUPDATE_CONFIG_STANDARD = 0,
    IMAP_ENUM_MUPDATE_CONFIG_UNIFIED,
    IMAP_ENUM_MUPDATE_CONFIG_REPLICATED,
    IMAP_ENUM_NEWSADDHEADERS_TO = (UINT64_C(1)<<0),
    IMAP_ENUM_NEWSADDHEADERS_REPLYTO = (UINT64_C(1)<<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 = (UINT64_C(1)<<0),
    IMAP_ENUM_SIEVE_EXTENSIONS_REJECT = (UINT64_C(1)<<1),
    IMAP_ENUM_SIEVE_EXTENSIONS_VACATION = (UINT64_C(1)<<2),
    IMAP_ENUM_SIEVE_EXTENSIONS_VACATION_SECONDS = (UINT64_C(1)<<3),
    IMAP_ENUM_SIEVE_EXTENSIONS_NOTIFY = (UINT64_C(1)<<4),
    IMAP_ENUM_SIEVE_EXTENSIONS_INCLUDE = (UINT64_C(1)<<5),
    IMAP_ENUM_SIEVE_EXTENSIONS_ENVELOPE = (UINT64_C(1)<<6),
    IMAP_ENUM_SIEVE_EXTENSIONS_ENVIRONMENT = (UINT64_C(1)<<7),
    IMAP_ENUM_SIEVE_EXTENSIONS_BODY = (UINT64_C(1)<<8),
    IMAP_ENUM_SIEVE_EXTENSIONS_RELATIONAL = (UINT64_C(1)<<9),
    IMAP_ENUM_SIEVE_EXTENSIONS_REGEX = (UINT64_C(1)<<10),
    IMAP_ENUM_SIEVE_EXTENSIONS_SUBADDRESS = (UINT64_C(1)<<11),
    IMAP_ENUM_SIEVE_EXTENSIONS_COPY = (UINT64_C(1)<<12),
    IMAP_ENUM_SIEVE_EXTENSIONS_DATE = (UINT64_C(1)<<13),
    IMAP_ENUM_SIEVE_EXTENSIONS_INDEX = (UINT64_C(1)<<14),
    IMAP_ENUM_SIEVE_EXTENSIONS_IMAP4FLAGS = (UINT64_C(1)<<15),
    IMAP_ENUM_SIEVE_EXTENSIONS_MAILBOX = (UINT64_C(1)<<16),
    IMAP_ENUM_SIEVE_EXTENSIONS_MBOXMETADATA = (UINT64_C(1)<<17),
    IMAP_ENUM_SIEVE_EXTENSIONS_SERVERMETADATA = (UINT64_C(1)<<18),
    IMAP_ENUM_SIEVE_EXTENSIONS_VARIABLES = (UINT64_C(1)<<19),
    IMAP_ENUM_SIEVE_EXTENSIONS_EDITHEADER = (UINT64_C(1)<<20),
    IMAP_ENUM_SIEVE_EXTENSIONS_EXTLISTS = (UINT64_C(1)<<21),
    IMAP_ENUM_SIEVE_EXTENSIONS_DUPLICATE = (UINT64_C(1)<<22),
    IMAP_ENUM_SIEVE_EXTENSIONS_IHAVE = (UINT64_C(1)<<23),
    IMAP_ENUM_SIEVE_EXTENSIONS_FCC = (UINT64_C(1)<<24),
    IMAP_ENUM_SIEVE_EXTENSIONS_SPECIAL_USE = (UINT64_C(1)<<25),
    IMAP_ENUM_SIEVE_EXTENSIONS_REDIRECT_DSN = (UINT64_C(1)<<26),
    IMAP_ENUM_SIEVE_EXTENSIONS_REDIRECT_DELIVERBY = (UINT64_C(1)<<27),
    IMAP_ENUM_SIEVE_EXTENSIONS_MAILBOXID = (UINT64_C(1)<<28),
    IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_LOG = (UINT64_C(1)<<29),
    IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_JMAPQUERY = (UINT64_C(1)<<30),
    IMAP_ENUM_SIEVE_EXTENSIONS_PROCESSCALENDAR = (UINT64_C(1)<<31),
    IMAP_ENUM_SIEVE_EXTENSIONS_SNOOZE = (UINT64_C(1)<<32),
    IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_IMPLICIT_KEEP_TARGET = (UINT64_C(1)<<33),
    IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_REDIRECT_MULTIPLE = (UINT64_C(1)<<34),
    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 {
    const char *s;      /* OPT_STRING, OPT_STRINGLIST */
    int32_t i32;        /* OPT_INT, OPT_DURATION */
    bool b;             /* OPT_SWITCH */
    enum enum_value e;  /* OPT_ENUM */
    int64_t i64;        /* OPT_BYTESIZE */
    uint64_t u64;       /* OPT_BITFIELD */
};

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

#define MAX_ENUM_OPTS 41
struct imapopt_s {
    const enum imapopt opt;
    const char *name;
    int seen;
    const enum opttype type;
    uint32_t last_modified;
    const char *deprecated_since;
    const enum imapopt replaced_by;
    union config_value val;
    const union config_value def;
    const int defunit;
    const struct enum_option_s enum_options[MAX_ENUM_OPTS+1];
};

extern struct imapopt_s imapopts[];

#endif /* INCLUDED_IMAPOPTIONS_H */
