diff options
Diffstat (limited to 'src/ejabberd_option.erl')
-rw-r--r-- | src/ejabberd_option.erl | 1058 |
1 files changed, 1058 insertions, 0 deletions
diff --git a/src/ejabberd_option.erl b/src/ejabberd_option.erl new file mode 100644 index 000000000..c7a24678c --- /dev/null +++ b/src/ejabberd_option.erl @@ -0,0 +1,1058 @@ +%% Generated automatically +%% DO NOT EDIT: run `make options` instead + +-module(ejabberd_option). + +-export([access_rules/0, access_rules/1]). +-export([acl/0, acl/1]). +-export([acme/0]). +-export([allow_contrib_modules/0]). +-export([allow_multiple_connections/0, allow_multiple_connections/1]). +-export([anonymous_protocol/0, anonymous_protocol/1]). +-export([api_permissions/0]). +-export([append_host_config/0]). +-export([auth_cache_life_time/0]). +-export([auth_cache_missed/0]). +-export([auth_cache_size/0]). +-export([auth_method/0, auth_method/1]). +-export([auth_password_format/0, auth_password_format/1]). +-export([auth_use_cache/0, auth_use_cache/1]). +-export([c2s_cafile/0, c2s_cafile/1]). +-export([c2s_ciphers/0, c2s_ciphers/1]). +-export([c2s_dhfile/0, c2s_dhfile/1]). +-export([c2s_protocol_options/0, c2s_protocol_options/1]). +-export([c2s_tls_compression/0, c2s_tls_compression/1]). +-export([ca_file/0]). +-export([cache_life_time/0, cache_life_time/1]). +-export([cache_missed/0, cache_missed/1]). +-export([cache_size/0, cache_size/1]). +-export([captcha_cmd/0]). +-export([captcha_host/0]). +-export([captcha_limit/0]). +-export([certfiles/0]). +-export([cluster_backend/0]). +-export([cluster_nodes/0]). +-export([default_db/0, default_db/1]). +-export([default_ram_db/0, default_ram_db/1]). +-export([define_macro/0, define_macro/1]). +-export([disable_sasl_mechanisms/0, disable_sasl_mechanisms/1]). +-export([domain_balancing/0]). +-export([ext_api_headers/0, ext_api_headers/1]). +-export([ext_api_http_pool_size/0, ext_api_http_pool_size/1]). +-export([ext_api_path_oauth/0]). +-export([ext_api_url/0, ext_api_url/1]). +-export([extauth_pool_name/0, extauth_pool_name/1]). +-export([extauth_pool_size/0, extauth_pool_size/1]). +-export([extauth_program/0, extauth_program/1]). +-export([fqdn/0]). +-export([hide_sensitive_log_data/0, hide_sensitive_log_data/1]). +-export([host_config/0]). +-export([hosts/0]). +-export([include_config_file/0, include_config_file/1]). +-export([language/0, language/1]). +-export([ldap_backups/0, ldap_backups/1]). +-export([ldap_base/0, ldap_base/1]). +-export([ldap_deref_aliases/0, ldap_deref_aliases/1]). +-export([ldap_dn_filter/0, ldap_dn_filter/1]). +-export([ldap_encrypt/0, ldap_encrypt/1]). +-export([ldap_filter/0, ldap_filter/1]). +-export([ldap_password/0, ldap_password/1]). +-export([ldap_port/0, ldap_port/1]). +-export([ldap_rootdn/0, ldap_rootdn/1]). +-export([ldap_servers/0, ldap_servers/1]). +-export([ldap_tls_cacertfile/0, ldap_tls_cacertfile/1]). +-export([ldap_tls_certfile/0, ldap_tls_certfile/1]). +-export([ldap_tls_depth/0, ldap_tls_depth/1]). +-export([ldap_tls_verify/0, ldap_tls_verify/1]). +-export([ldap_uids/0, ldap_uids/1]). +-export([listen/0]). +-export([log_rate_limit/0]). +-export([log_rotate_count/0]). +-export([log_rotate_date/0]). +-export([log_rotate_size/0]). +-export([loglevel/0]). +-export([max_fsm_queue/0, max_fsm_queue/1]). +-export([modules/0, modules/1]). +-export([negotiation_timeout/0]). +-export([net_ticktime/0]). +-export([new_sql_schema/0]). +-export([oauth_access/0, oauth_access/1]). +-export([oauth_cache_life_time/0]). +-export([oauth_cache_missed/0]). +-export([oauth_cache_size/0]). +-export([oauth_db_type/0]). +-export([oauth_expire/0]). +-export([oauth_use_cache/0]). +-export([oom_killer/0]). +-export([oom_queue/0]). +-export([oom_watermark/0]). +-export([outgoing_s2s_families/0, outgoing_s2s_families/1]). +-export([outgoing_s2s_port/0, outgoing_s2s_port/1]). +-export([outgoing_s2s_timeout/0, outgoing_s2s_timeout/1]). +-export([pam_service/0, pam_service/1]). +-export([pam_userinfotype/0, pam_userinfotype/1]). +-export([pgsql_users_number_estimate/0, pgsql_users_number_estimate/1]). +-export([queue_dir/0]). +-export([queue_type/0, queue_type/1]). +-export([redis_connect_timeout/0]). +-export([redis_db/0]). +-export([redis_password/0]). +-export([redis_pool_size/0]). +-export([redis_port/0]). +-export([redis_queue_type/0]). +-export([redis_server/0]). +-export([registration_timeout/0]). +-export([resource_conflict/0, resource_conflict/1]). +-export([riak_cacertfile/0]). +-export([riak_password/0]). +-export([riak_pool_size/0]). +-export([riak_port/0]). +-export([riak_server/0]). +-export([riak_start_interval/0]). +-export([riak_username/0]). +-export([route_subdomains/0, route_subdomains/1]). +-export([router_cache_life_time/0]). +-export([router_cache_missed/0]). +-export([router_cache_size/0]). +-export([router_db_type/0]). +-export([router_use_cache/0]). +-export([rpc_timeout/0]). +-export([s2s_access/0, s2s_access/1]). +-export([s2s_cafile/0, s2s_cafile/1]). +-export([s2s_ciphers/0, s2s_ciphers/1]). +-export([s2s_dhfile/0, s2s_dhfile/1]). +-export([s2s_dns_retries/0, s2s_dns_retries/1]). +-export([s2s_dns_timeout/0, s2s_dns_timeout/1]). +-export([s2s_max_retry_delay/0]). +-export([s2s_protocol_options/0, s2s_protocol_options/1]). +-export([s2s_queue_type/0, s2s_queue_type/1]). +-export([s2s_timeout/0, s2s_timeout/1]). +-export([s2s_tls_compression/0, s2s_tls_compression/1]). +-export([s2s_use_starttls/0, s2s_use_starttls/1]). +-export([s2s_zlib/0, s2s_zlib/1]). +-export([shaper/0]). +-export([shaper_rules/0, shaper_rules/1]). +-export([sm_cache_life_time/0]). +-export([sm_cache_missed/0]). +-export([sm_cache_size/0]). +-export([sm_db_type/0, sm_db_type/1]). +-export([sm_use_cache/0, sm_use_cache/1]). +-export([sql_connect_timeout/0, sql_connect_timeout/1]). +-export([sql_database/0, sql_database/1]). +-export([sql_keepalive_interval/0, sql_keepalive_interval/1]). +-export([sql_password/0, sql_password/1]). +-export([sql_pool_size/0, sql_pool_size/1]). +-export([sql_port/0, sql_port/1]). +-export([sql_query_timeout/0, sql_query_timeout/1]). +-export([sql_queue_type/0, sql_queue_type/1]). +-export([sql_server/0, sql_server/1]). +-export([sql_ssl/0, sql_ssl/1]). +-export([sql_ssl_cafile/0, sql_ssl_cafile/1]). +-export([sql_ssl_certfile/0, sql_ssl_certfile/1]). +-export([sql_ssl_verify/0, sql_ssl_verify/1]). +-export([sql_start_interval/0, sql_start_interval/1]). +-export([sql_type/0, sql_type/1]). +-export([sql_username/0, sql_username/1]). +-export([trusted_proxies/0, trusted_proxies/1]). +-export([use_cache/0, use_cache/1]). +-export([validate_stream/0, validate_stream/1]). +-export([version/0]). +-export([websocket_origin/0]). +-export([websocket_ping_interval/0]). +-export([websocket_timeout/0]). + +-spec access_rules() -> [{atom(),acl:access()}]. +access_rules() -> + access_rules(global). +-spec access_rules(global | binary()) -> [{atom(),acl:access()}]. +access_rules(Host) -> + ejabberd_config:get_option({access_rules, Host}). + +-spec acl() -> [{atom(),[acl:acl_rule()]}]. +acl() -> + acl(global). +-spec acl(global | binary()) -> [{atom(),[acl:acl_rule()]}]. +acl(Host) -> + ejabberd_config:get_option({acl, Host}). + +-spec acme() -> #{'ca_url'=>binary(), 'contact'=>binary()}. +acme() -> + ejabberd_config:get_option({acme, global}). + +-spec allow_contrib_modules() -> boolean(). +allow_contrib_modules() -> + ejabberd_config:get_option({allow_contrib_modules, global}). + +-spec allow_multiple_connections() -> boolean(). +allow_multiple_connections() -> + allow_multiple_connections(global). +-spec allow_multiple_connections(global | binary()) -> boolean(). +allow_multiple_connections(Host) -> + ejabberd_config:get_option({allow_multiple_connections, Host}). + +-spec anonymous_protocol() -> 'both' | 'login_anon' | 'sasl_anon'. +anonymous_protocol() -> + anonymous_protocol(global). +-spec anonymous_protocol(global | binary()) -> 'both' | 'login_anon' | 'sasl_anon'. +anonymous_protocol(Host) -> + ejabberd_config:get_option({anonymous_protocol, Host}). + +-spec api_permissions() -> [ejabberd_access_permissions:permission()]. +api_permissions() -> + ejabberd_config:get_option({api_permissions, global}). + +-spec append_host_config() -> [{binary(),any()}]. +append_host_config() -> + ejabberd_config:get_option({append_host_config, global}). + +-spec auth_cache_life_time() -> 'infinity' | pos_integer(). +auth_cache_life_time() -> + ejabberd_config:get_option({auth_cache_life_time, global}). + +-spec auth_cache_missed() -> boolean(). +auth_cache_missed() -> + ejabberd_config:get_option({auth_cache_missed, global}). + +-spec auth_cache_size() -> 'infinity' | pos_integer(). +auth_cache_size() -> + ejabberd_config:get_option({auth_cache_size, global}). + +-spec auth_method() -> [atom()]. +auth_method() -> + auth_method(global). +-spec auth_method(global | binary()) -> [atom()]. +auth_method(Host) -> + ejabberd_config:get_option({auth_method, Host}). + +-spec auth_password_format() -> 'plain' | 'scram'. +auth_password_format() -> + auth_password_format(global). +-spec auth_password_format(global | binary()) -> 'plain' | 'scram'. +auth_password_format(Host) -> + ejabberd_config:get_option({auth_password_format, Host}). + +-spec auth_use_cache() -> boolean(). +auth_use_cache() -> + auth_use_cache(global). +-spec auth_use_cache(global | binary()) -> boolean(). +auth_use_cache(Host) -> + ejabberd_config:get_option({auth_use_cache, Host}). + +-spec c2s_cafile() -> 'undefined' | binary(). +c2s_cafile() -> + c2s_cafile(global). +-spec c2s_cafile(global | binary()) -> 'undefined' | binary(). +c2s_cafile(Host) -> + ejabberd_config:get_option({c2s_cafile, Host}). + +-spec c2s_ciphers() -> 'undefined' | binary(). +c2s_ciphers() -> + c2s_ciphers(global). +-spec c2s_ciphers(global | binary()) -> 'undefined' | binary(). +c2s_ciphers(Host) -> + ejabberd_config:get_option({c2s_ciphers, Host}). + +-spec c2s_dhfile() -> 'undefined' | binary(). +c2s_dhfile() -> + c2s_dhfile(global). +-spec c2s_dhfile(global | binary()) -> 'undefined' | binary(). +c2s_dhfile(Host) -> + ejabberd_config:get_option({c2s_dhfile, Host}). + +-spec c2s_protocol_options() -> 'undefined' | binary(). +c2s_protocol_options() -> + c2s_protocol_options(global). +-spec c2s_protocol_options(global | binary()) -> 'undefined' | binary(). +c2s_protocol_options(Host) -> + ejabberd_config:get_option({c2s_protocol_options, Host}). + +-spec c2s_tls_compression() -> 'false' | 'true' | 'undefined'. +c2s_tls_compression() -> + c2s_tls_compression(global). +-spec c2s_tls_compression(global | binary()) -> 'false' | 'true' | 'undefined'. +c2s_tls_compression(Host) -> + ejabberd_config:get_option({c2s_tls_compression, Host}). + +-spec ca_file() -> binary(). +ca_file() -> + ejabberd_config:get_option({ca_file, global}). + +-spec cache_life_time() -> 'infinity' | pos_integer(). +cache_life_time() -> + cache_life_time(global). +-spec cache_life_time(global | binary()) -> 'infinity' | pos_integer(). +cache_life_time(Host) -> + ejabberd_config:get_option({cache_life_time, Host}). + +-spec cache_missed() -> boolean(). +cache_missed() -> + cache_missed(global). +-spec cache_missed(global | binary()) -> boolean(). +cache_missed(Host) -> + ejabberd_config:get_option({cache_missed, Host}). + +-spec cache_size() -> 'infinity' | pos_integer(). +cache_size() -> + cache_size(global). +-spec cache_size(global | binary()) -> 'infinity' | pos_integer(). +cache_size(Host) -> + ejabberd_config:get_option({cache_size, Host}). + +-spec captcha_cmd() -> 'undefined' | binary(). +captcha_cmd() -> + ejabberd_config:get_option({captcha_cmd, global}). + +-spec captcha_host() -> binary(). +captcha_host() -> + ejabberd_config:get_option({captcha_host, global}). + +-spec captcha_limit() -> 'infinity' | pos_integer(). +captcha_limit() -> + ejabberd_config:get_option({captcha_limit, global}). + +-spec certfiles() -> 'undefined' | [binary()]. +certfiles() -> + ejabberd_config:get_option({certfiles, global}). + +-spec cluster_backend() -> atom(). +cluster_backend() -> + ejabberd_config:get_option({cluster_backend, global}). + +-spec cluster_nodes() -> [atom()]. +cluster_nodes() -> + ejabberd_config:get_option({cluster_nodes, global}). + +-spec default_db() -> 'mnesia' | 'riak' | 'sql'. +default_db() -> + default_db(global). +-spec default_db(global | binary()) -> 'mnesia' | 'riak' | 'sql'. +default_db(Host) -> + ejabberd_config:get_option({default_db, Host}). + +-spec default_ram_db() -> 'mnesia' | 'redis' | 'riak' | 'sql'. +default_ram_db() -> + default_ram_db(global). +-spec default_ram_db(global | binary()) -> 'mnesia' | 'redis' | 'riak' | 'sql'. +default_ram_db(Host) -> + ejabberd_config:get_option({default_ram_db, Host}). + +-spec define_macro() -> any(). +define_macro() -> + define_macro(global). +-spec define_macro(global | binary()) -> any(). +define_macro(Host) -> + ejabberd_config:get_option({define_macro, Host}). + +-spec disable_sasl_mechanisms() -> [binary()]. +disable_sasl_mechanisms() -> + disable_sasl_mechanisms(global). +-spec disable_sasl_mechanisms(global | binary()) -> [binary()]. +disable_sasl_mechanisms(Host) -> + ejabberd_config:get_option({disable_sasl_mechanisms, Host}). + +-spec domain_balancing() -> #{binary()=>#{'component_number':=1..1114111, 'type'=>'bare_destination' | 'bare_source' | 'destination' | 'random' | 'source'}}. +domain_balancing() -> + ejabberd_config:get_option({domain_balancing, global}). + +-spec ext_api_headers() -> binary(). +ext_api_headers() -> + ext_api_headers(global). +-spec ext_api_headers(global | binary()) -> binary(). +ext_api_headers(Host) -> + ejabberd_config:get_option({ext_api_headers, Host}). + +-spec ext_api_http_pool_size() -> pos_integer(). +ext_api_http_pool_size() -> + ext_api_http_pool_size(global). +-spec ext_api_http_pool_size(global | binary()) -> pos_integer(). +ext_api_http_pool_size(Host) -> + ejabberd_config:get_option({ext_api_http_pool_size, Host}). + +-spec ext_api_path_oauth() -> binary(). +ext_api_path_oauth() -> + ejabberd_config:get_option({ext_api_path_oauth, global}). + +-spec ext_api_url() -> binary(). +ext_api_url() -> + ext_api_url(global). +-spec ext_api_url(global | binary()) -> binary(). +ext_api_url(Host) -> + ejabberd_config:get_option({ext_api_url, Host}). + +-spec extauth_pool_name() -> 'undefined' | binary(). +extauth_pool_name() -> + extauth_pool_name(global). +-spec extauth_pool_name(global | binary()) -> 'undefined' | binary(). +extauth_pool_name(Host) -> + ejabberd_config:get_option({extauth_pool_name, Host}). + +-spec extauth_pool_size() -> 'undefined' | pos_integer(). +extauth_pool_size() -> + extauth_pool_size(global). +-spec extauth_pool_size(global | binary()) -> 'undefined' | pos_integer(). +extauth_pool_size(Host) -> + ejabberd_config:get_option({extauth_pool_size, Host}). + +-spec extauth_program() -> 'undefined' | string(). +extauth_program() -> + extauth_program(global). +-spec extauth_program(global | binary()) -> 'undefined' | string(). +extauth_program(Host) -> + ejabberd_config:get_option({extauth_program, Host}). + +-spec fqdn() -> [binary()]. +fqdn() -> + ejabberd_config:get_option({fqdn, global}). + +-spec hide_sensitive_log_data() -> boolean(). +hide_sensitive_log_data() -> + hide_sensitive_log_data(global). +-spec hide_sensitive_log_data(global | binary()) -> boolean(). +hide_sensitive_log_data(Host) -> + ejabberd_config:get_option({hide_sensitive_log_data, Host}). + +-spec host_config() -> [{binary(),any()}]. +host_config() -> + ejabberd_config:get_option({host_config, global}). + +-spec hosts() -> [binary(),...]. +hosts() -> + ejabberd_config:get_option({hosts, global}). + +-spec include_config_file() -> any(). +include_config_file() -> + include_config_file(global). +-spec include_config_file(global | binary()) -> any(). +include_config_file(Host) -> + ejabberd_config:get_option({include_config_file, Host}). + +-spec language() -> binary(). +language() -> + language(global). +-spec language(global | binary()) -> binary(). +language(Host) -> + ejabberd_config:get_option({language, Host}). + +-spec ldap_backups() -> [binary()]. +ldap_backups() -> + ldap_backups(global). +-spec ldap_backups(global | binary()) -> [binary()]. +ldap_backups(Host) -> + ejabberd_config:get_option({ldap_backups, Host}). + +-spec ldap_base() -> binary(). +ldap_base() -> + ldap_base(global). +-spec ldap_base(global | binary()) -> binary(). +ldap_base(Host) -> + ejabberd_config:get_option({ldap_base, Host}). + +-spec ldap_deref_aliases() -> 'always' | 'finding' | 'never' | 'searching'. +ldap_deref_aliases() -> + ldap_deref_aliases(global). +-spec ldap_deref_aliases(global | binary()) -> 'always' | 'finding' | 'never' | 'searching'. +ldap_deref_aliases(Host) -> + ejabberd_config:get_option({ldap_deref_aliases, Host}). + +-spec ldap_dn_filter() -> {binary(),[binary()]}. +ldap_dn_filter() -> + ldap_dn_filter(global). +-spec ldap_dn_filter(global | binary()) -> {binary(),[binary()]}. +ldap_dn_filter(Host) -> + ejabberd_config:get_option({ldap_dn_filter, Host}). + +-spec ldap_encrypt() -> 'none' | 'starttls' | 'tls'. +ldap_encrypt() -> + ldap_encrypt(global). +-spec ldap_encrypt(global | binary()) -> 'none' | 'starttls' | 'tls'. +ldap_encrypt(Host) -> + ejabberd_config:get_option({ldap_encrypt, Host}). + +-spec ldap_filter() -> binary(). +ldap_filter() -> + ldap_filter(global). +-spec ldap_filter(global | binary()) -> binary(). +ldap_filter(Host) -> + ejabberd_config:get_option({ldap_filter, Host}). + +-spec ldap_password() -> binary(). +ldap_password() -> + ldap_password(global). +-spec ldap_password(global | binary()) -> binary(). +ldap_password(Host) -> + ejabberd_config:get_option({ldap_password, Host}). + +-spec ldap_port() -> 1..1114111. +ldap_port() -> + ldap_port(global). +-spec ldap_port(global | binary()) -> 1..1114111. +ldap_port(Host) -> + ejabberd_config:get_option({ldap_port, Host}). + +-spec ldap_rootdn() -> binary(). +ldap_rootdn() -> + ldap_rootdn(global). +-spec ldap_rootdn(global | binary()) -> binary(). +ldap_rootdn(Host) -> + ejabberd_config:get_option({ldap_rootdn, Host}). + +-spec ldap_servers() -> [binary()]. +ldap_servers() -> + ldap_servers(global). +-spec ldap_servers(global | binary()) -> [binary()]. +ldap_servers(Host) -> + ejabberd_config:get_option({ldap_servers, Host}). + +-spec ldap_tls_cacertfile() -> 'undefined' | binary(). +ldap_tls_cacertfile() -> + ldap_tls_cacertfile(global). +-spec ldap_tls_cacertfile(global | binary()) -> 'undefined' | binary(). +ldap_tls_cacertfile(Host) -> + ejabberd_config:get_option({ldap_tls_cacertfile, Host}). + +-spec ldap_tls_certfile() -> 'undefined' | binary(). +ldap_tls_certfile() -> + ldap_tls_certfile(global). +-spec ldap_tls_certfile(global | binary()) -> 'undefined' | binary(). +ldap_tls_certfile(Host) -> + ejabberd_config:get_option({ldap_tls_certfile, Host}). + +-spec ldap_tls_depth() -> 'undefined' | non_neg_integer(). +ldap_tls_depth() -> + ldap_tls_depth(global). +-spec ldap_tls_depth(global | binary()) -> 'undefined' | non_neg_integer(). +ldap_tls_depth(Host) -> + ejabberd_config:get_option({ldap_tls_depth, Host}). + +-spec ldap_tls_verify() -> 'false' | 'hard' | 'soft'. +ldap_tls_verify() -> + ldap_tls_verify(global). +-spec ldap_tls_verify(global | binary()) -> 'false' | 'hard' | 'soft'. +ldap_tls_verify(Host) -> + ejabberd_config:get_option({ldap_tls_verify, Host}). + +-spec ldap_uids() -> [{binary(),binary()}]. +ldap_uids() -> + ldap_uids(global). +-spec ldap_uids(global | binary()) -> [{binary(),binary()}]. +ldap_uids(Host) -> + ejabberd_config:get_option({ldap_uids, Host}). + +-spec listen() -> [ejabberd_listener:listener()]. +listen() -> + ejabberd_config:get_option({listen, global}). + +-spec log_rate_limit() -> 'undefined' | non_neg_integer(). +log_rate_limit() -> + ejabberd_config:get_option({log_rate_limit, global}). + +-spec log_rotate_count() -> 'undefined' | non_neg_integer(). +log_rotate_count() -> + ejabberd_config:get_option({log_rotate_count, global}). + +-spec log_rotate_date() -> 'undefined' | string(). +log_rotate_date() -> + ejabberd_config:get_option({log_rotate_date, global}). + +-spec log_rotate_size() -> 'undefined' | non_neg_integer(). +log_rotate_size() -> + ejabberd_config:get_option({log_rotate_size, global}). + +-spec loglevel() -> 0 | 1 | 2 | 3 | 4 | 5. +loglevel() -> + ejabberd_config:get_option({loglevel, global}). + +-spec max_fsm_queue() -> 'undefined' | pos_integer(). +max_fsm_queue() -> + max_fsm_queue(global). +-spec max_fsm_queue(global | binary()) -> 'undefined' | pos_integer(). +max_fsm_queue(Host) -> + ejabberd_config:get_option({max_fsm_queue, Host}). + +-spec modules() -> [{module(),gen_mod:opts(),integer()}]. +modules() -> + modules(global). +-spec modules(global | binary()) -> [{module(),gen_mod:opts(),integer()}]. +modules(Host) -> + ejabberd_config:get_option({modules, Host}). + +-spec negotiation_timeout() -> pos_integer(). +negotiation_timeout() -> + ejabberd_config:get_option({negotiation_timeout, global}). + +-spec net_ticktime() -> pos_integer(). +net_ticktime() -> + ejabberd_config:get_option({net_ticktime, global}). + +-spec new_sql_schema() -> boolean(). +new_sql_schema() -> + ejabberd_config:get_option({new_sql_schema, global}). + +-spec oauth_access() -> 'none' | acl:acl(). +oauth_access() -> + oauth_access(global). +-spec oauth_access(global | binary()) -> 'none' | acl:acl(). +oauth_access(Host) -> + ejabberd_config:get_option({oauth_access, Host}). + +-spec oauth_cache_life_time() -> 'infinity' | pos_integer(). +oauth_cache_life_time() -> + ejabberd_config:get_option({oauth_cache_life_time, global}). + +-spec oauth_cache_missed() -> boolean(). +oauth_cache_missed() -> + ejabberd_config:get_option({oauth_cache_missed, global}). + +-spec oauth_cache_size() -> 'infinity' | pos_integer(). +oauth_cache_size() -> + ejabberd_config:get_option({oauth_cache_size, global}). + +-spec oauth_db_type() -> atom(). +oauth_db_type() -> + ejabberd_config:get_option({oauth_db_type, global}). + +-spec oauth_expire() -> non_neg_integer(). +oauth_expire() -> + ejabberd_config:get_option({oauth_expire, global}). + +-spec oauth_use_cache() -> boolean(). +oauth_use_cache() -> + ejabberd_config:get_option({oauth_use_cache, global}). + +-spec oom_killer() -> boolean(). +oom_killer() -> + ejabberd_config:get_option({oom_killer, global}). + +-spec oom_queue() -> pos_integer(). +oom_queue() -> + ejabberd_config:get_option({oom_queue, global}). + +-spec oom_watermark() -> 1..255. +oom_watermark() -> + ejabberd_config:get_option({oom_watermark, global}). + +-spec outgoing_s2s_families() -> ['inet' | 'inet6',...]. +outgoing_s2s_families() -> + outgoing_s2s_families(global). +-spec outgoing_s2s_families(global | binary()) -> ['inet' | 'inet6',...]. +outgoing_s2s_families(Host) -> + ejabberd_config:get_option({outgoing_s2s_families, Host}). + +-spec outgoing_s2s_port() -> 1..1114111. +outgoing_s2s_port() -> + outgoing_s2s_port(global). +-spec outgoing_s2s_port(global | binary()) -> 1..1114111. +outgoing_s2s_port(Host) -> + ejabberd_config:get_option({outgoing_s2s_port, Host}). + +-spec outgoing_s2s_timeout() -> 'infinity' | pos_integer(). +outgoing_s2s_timeout() -> + outgoing_s2s_timeout(global). +-spec outgoing_s2s_timeout(global | binary()) -> 'infinity' | pos_integer(). +outgoing_s2s_timeout(Host) -> + ejabberd_config:get_option({outgoing_s2s_timeout, Host}). + +-spec pam_service() -> binary(). +pam_service() -> + pam_service(global). +-spec pam_service(global | binary()) -> binary(). +pam_service(Host) -> + ejabberd_config:get_option({pam_service, Host}). + +-spec pam_userinfotype() -> 'jid' | 'username'. +pam_userinfotype() -> + pam_userinfotype(global). +-spec pam_userinfotype(global | binary()) -> 'jid' | 'username'. +pam_userinfotype(Host) -> + ejabberd_config:get_option({pam_userinfotype, Host}). + +-spec pgsql_users_number_estimate() -> boolean(). +pgsql_users_number_estimate() -> + pgsql_users_number_estimate(global). +-spec pgsql_users_number_estimate(global | binary()) -> boolean(). +pgsql_users_number_estimate(Host) -> + ejabberd_config:get_option({pgsql_users_number_estimate, Host}). + +-spec queue_dir() -> 'undefined' | binary(). +queue_dir() -> + ejabberd_config:get_option({queue_dir, global}). + +-spec queue_type() -> 'file' | 'ram'. +queue_type() -> + queue_type(global). +-spec queue_type(global | binary()) -> 'file' | 'ram'. +queue_type(Host) -> + ejabberd_config:get_option({queue_type, Host}). + +-spec redis_connect_timeout() -> pos_integer(). +redis_connect_timeout() -> + ejabberd_config:get_option({redis_connect_timeout, global}). + +-spec redis_db() -> non_neg_integer(). +redis_db() -> + ejabberd_config:get_option({redis_db, global}). + +-spec redis_password() -> string(). +redis_password() -> + ejabberd_config:get_option({redis_password, global}). + +-spec redis_pool_size() -> pos_integer(). +redis_pool_size() -> + ejabberd_config:get_option({redis_pool_size, global}). + +-spec redis_port() -> 1..1114111. +redis_port() -> + ejabberd_config:get_option({redis_port, global}). + +-spec redis_queue_type() -> 'file' | 'ram'. +redis_queue_type() -> + ejabberd_config:get_option({redis_queue_type, global}). + +-spec redis_server() -> string(). +redis_server() -> + ejabberd_config:get_option({redis_server, global}). + +-spec registration_timeout() -> 'infinity' | pos_integer(). +registration_timeout() -> + ejabberd_config:get_option({registration_timeout, global}). + +-spec resource_conflict() -> 'acceptnew' | 'closenew' | 'closeold' | 'setresource'. +resource_conflict() -> + resource_conflict(global). +-spec resource_conflict(global | binary()) -> 'acceptnew' | 'closenew' | 'closeold' | 'setresource'. +resource_conflict(Host) -> + ejabberd_config:get_option({resource_conflict, Host}). + +-spec riak_cacertfile() -> 'nil' | string(). +riak_cacertfile() -> + ejabberd_config:get_option({riak_cacertfile, global}). + +-spec riak_password() -> 'nil' | string(). +riak_password() -> + ejabberd_config:get_option({riak_password, global}). + +-spec riak_pool_size() -> pos_integer(). +riak_pool_size() -> + ejabberd_config:get_option({riak_pool_size, global}). + +-spec riak_port() -> 1..1114111. +riak_port() -> + ejabberd_config:get_option({riak_port, global}). + +-spec riak_server() -> string(). +riak_server() -> + ejabberd_config:get_option({riak_server, global}). + +-spec riak_start_interval() -> pos_integer(). +riak_start_interval() -> + ejabberd_config:get_option({riak_start_interval, global}). + +-spec riak_username() -> 'nil' | string(). +riak_username() -> + ejabberd_config:get_option({riak_username, global}). + +-spec route_subdomains() -> 'local' | 's2s'. +route_subdomains() -> + route_subdomains(global). +-spec route_subdomains(global | binary()) -> 'local' | 's2s'. +route_subdomains(Host) -> + ejabberd_config:get_option({route_subdomains, Host}). + +-spec router_cache_life_time() -> 'infinity' | pos_integer(). +router_cache_life_time() -> + ejabberd_config:get_option({router_cache_life_time, global}). + +-spec router_cache_missed() -> boolean(). +router_cache_missed() -> + ejabberd_config:get_option({router_cache_missed, global}). + +-spec router_cache_size() -> 'infinity' | pos_integer(). +router_cache_size() -> + ejabberd_config:get_option({router_cache_size, global}). + +-spec router_db_type() -> atom(). +router_db_type() -> + ejabberd_config:get_option({router_db_type, global}). + +-spec router_use_cache() -> boolean(). +router_use_cache() -> + ejabberd_config:get_option({router_use_cache, global}). + +-spec rpc_timeout() -> pos_integer(). +rpc_timeout() -> + ejabberd_config:get_option({rpc_timeout, global}). + +-spec s2s_access() -> 'all' | acl:acl(). +s2s_access() -> + s2s_access(global). +-spec s2s_access(global | binary()) -> 'all' | acl:acl(). +s2s_access(Host) -> + ejabberd_config:get_option({s2s_access, Host}). + +-spec s2s_cafile() -> 'undefined' | binary(). +s2s_cafile() -> + s2s_cafile(global). +-spec s2s_cafile(global | binary()) -> 'undefined' | binary(). +s2s_cafile(Host) -> + ejabberd_config:get_option({s2s_cafile, Host}). + +-spec s2s_ciphers() -> 'undefined' | binary(). +s2s_ciphers() -> + s2s_ciphers(global). +-spec s2s_ciphers(global | binary()) -> 'undefined' | binary(). +s2s_ciphers(Host) -> + ejabberd_config:get_option({s2s_ciphers, Host}). + +-spec s2s_dhfile() -> 'undefined' | binary(). +s2s_dhfile() -> + s2s_dhfile(global). +-spec s2s_dhfile(global | binary()) -> 'undefined' | binary(). +s2s_dhfile(Host) -> + ejabberd_config:get_option({s2s_dhfile, Host}). + +-spec s2s_dns_retries() -> non_neg_integer(). +s2s_dns_retries() -> + s2s_dns_retries(global). +-spec s2s_dns_retries(global | binary()) -> non_neg_integer(). +s2s_dns_retries(Host) -> + ejabberd_config:get_option({s2s_dns_retries, Host}). + +-spec s2s_dns_timeout() -> 'infinity' | pos_integer(). +s2s_dns_timeout() -> + s2s_dns_timeout(global). +-spec s2s_dns_timeout(global | binary()) -> 'infinity' | pos_integer(). +s2s_dns_timeout(Host) -> + ejabberd_config:get_option({s2s_dns_timeout, Host}). + +-spec s2s_max_retry_delay() -> pos_integer(). +s2s_max_retry_delay() -> + ejabberd_config:get_option({s2s_max_retry_delay, global}). + +-spec s2s_protocol_options() -> 'undefined' | binary(). +s2s_protocol_options() -> + s2s_protocol_options(global). +-spec s2s_protocol_options(global | binary()) -> 'undefined' | binary(). +s2s_protocol_options(Host) -> + ejabberd_config:get_option({s2s_protocol_options, Host}). + +-spec s2s_queue_type() -> 'file' | 'ram'. +s2s_queue_type() -> + s2s_queue_type(global). +-spec s2s_queue_type(global | binary()) -> 'file' | 'ram'. +s2s_queue_type(Host) -> + ejabberd_config:get_option({s2s_queue_type, Host}). + +-spec s2s_timeout() -> 'infinity' | pos_integer(). +s2s_timeout() -> + s2s_timeout(global). +-spec s2s_timeout(global | binary()) -> 'infinity' | pos_integer(). +s2s_timeout(Host) -> + ejabberd_config:get_option({s2s_timeout, Host}). + +-spec s2s_tls_compression() -> 'false' | 'true' | 'undefined'. +s2s_tls_compression() -> + s2s_tls_compression(global). +-spec s2s_tls_compression(global | binary()) -> 'false' | 'true' | 'undefined'. +s2s_tls_compression(Host) -> + ejabberd_config:get_option({s2s_tls_compression, Host}). + +-spec s2s_use_starttls() -> 'false' | 'optional' | 'required' | 'true'. +s2s_use_starttls() -> + s2s_use_starttls(global). +-spec s2s_use_starttls(global | binary()) -> 'false' | 'optional' | 'required' | 'true'. +s2s_use_starttls(Host) -> + ejabberd_config:get_option({s2s_use_starttls, Host}). + +-spec s2s_zlib() -> boolean(). +s2s_zlib() -> + s2s_zlib(global). +-spec s2s_zlib(global | binary()) -> boolean(). +s2s_zlib(Host) -> + ejabberd_config:get_option({s2s_zlib, Host}). + +-spec shaper() -> #{atom()=>ejabberd_shaper:shaper_rate()}. +shaper() -> + ejabberd_config:get_option({shaper, global}). + +-spec shaper_rules() -> [{atom(),[ejabberd_shaper:shaper_rule()]}]. +shaper_rules() -> + shaper_rules(global). +-spec shaper_rules(global | binary()) -> [{atom(),[ejabberd_shaper:shaper_rule()]}]. +shaper_rules(Host) -> + ejabberd_config:get_option({shaper_rules, Host}). + +-spec sm_cache_life_time() -> 'infinity' | pos_integer(). +sm_cache_life_time() -> + ejabberd_config:get_option({sm_cache_life_time, global}). + +-spec sm_cache_missed() -> boolean(). +sm_cache_missed() -> + ejabberd_config:get_option({sm_cache_missed, global}). + +-spec sm_cache_size() -> 'infinity' | pos_integer(). +sm_cache_size() -> + ejabberd_config:get_option({sm_cache_size, global}). + +-spec sm_db_type() -> atom(). +sm_db_type() -> + sm_db_type(global). +-spec sm_db_type(global | binary()) -> atom(). +sm_db_type(Host) -> + ejabberd_config:get_option({sm_db_type, Host}). + +-spec sm_use_cache() -> boolean(). +sm_use_cache() -> + sm_use_cache(global). +-spec sm_use_cache(global | binary()) -> boolean(). +sm_use_cache(Host) -> + ejabberd_config:get_option({sm_use_cache, Host}). + +-spec sql_connect_timeout() -> pos_integer(). +sql_connect_timeout() -> + sql_connect_timeout(global). +-spec sql_connect_timeout(global | binary()) -> pos_integer(). +sql_connect_timeout(Host) -> + ejabberd_config:get_option({sql_connect_timeout, Host}). + +-spec sql_database() -> 'undefined' | binary(). +sql_database() -> + sql_database(global). +-spec sql_database(global | binary()) -> 'undefined' | binary(). +sql_database(Host) -> + ejabberd_config:get_option({sql_database, Host}). + +-spec sql_keepalive_interval() -> 'undefined' | pos_integer(). +sql_keepalive_interval() -> + sql_keepalive_interval(global). +-spec sql_keepalive_interval(global | binary()) -> 'undefined' | pos_integer(). +sql_keepalive_interval(Host) -> + ejabberd_config:get_option({sql_keepalive_interval, Host}). + +-spec sql_password() -> binary(). +sql_password() -> + sql_password(global). +-spec sql_password(global | binary()) -> binary(). +sql_password(Host) -> + ejabberd_config:get_option({sql_password, Host}). + +-spec sql_pool_size() -> pos_integer(). +sql_pool_size() -> + sql_pool_size(global). +-spec sql_pool_size(global | binary()) -> pos_integer(). +sql_pool_size(Host) -> + ejabberd_config:get_option({sql_pool_size, Host}). + +-spec sql_port() -> 1..1114111. +sql_port() -> + sql_port(global). +-spec sql_port(global | binary()) -> 1..1114111. +sql_port(Host) -> + ejabberd_config:get_option({sql_port, Host}). + +-spec sql_query_timeout() -> pos_integer(). +sql_query_timeout() -> + sql_query_timeout(global). +-spec sql_query_timeout(global | binary()) -> pos_integer(). +sql_query_timeout(Host) -> + ejabberd_config:get_option({sql_query_timeout, Host}). + +-spec sql_queue_type() -> 'file' | 'ram'. +sql_queue_type() -> + sql_queue_type(global). +-spec sql_queue_type(global | binary()) -> 'file' | 'ram'. +sql_queue_type(Host) -> + ejabberd_config:get_option({sql_queue_type, Host}). + +-spec sql_server() -> binary(). +sql_server() -> + sql_server(global). +-spec sql_server(global | binary()) -> binary(). +sql_server(Host) -> + ejabberd_config:get_option({sql_server, Host}). + +-spec sql_ssl() -> boolean(). +sql_ssl() -> + sql_ssl(global). +-spec sql_ssl(global | binary()) -> boolean(). +sql_ssl(Host) -> + ejabberd_config:get_option({sql_ssl, Host}). + +-spec sql_ssl_cafile() -> 'undefined' | binary(). +sql_ssl_cafile() -> + sql_ssl_cafile(global). +-spec sql_ssl_cafile(global | binary()) -> 'undefined' | binary(). +sql_ssl_cafile(Host) -> + ejabberd_config:get_option({sql_ssl_cafile, Host}). + +-spec sql_ssl_certfile() -> 'undefined' | binary(). +sql_ssl_certfile() -> + sql_ssl_certfile(global). +-spec sql_ssl_certfile(global | binary()) -> 'undefined' | binary(). +sql_ssl_certfile(Host) -> + ejabberd_config:get_option({sql_ssl_certfile, Host}). + +-spec sql_ssl_verify() -> boolean(). +sql_ssl_verify() -> + sql_ssl_verify(global). +-spec sql_ssl_verify(global | binary()) -> boolean(). +sql_ssl_verify(Host) -> + ejabberd_config:get_option({sql_ssl_verify, Host}). + +-spec sql_start_interval() -> pos_integer(). +sql_start_interval() -> + sql_start_interval(global). +-spec sql_start_interval(global | binary()) -> pos_integer(). +sql_start_interval(Host) -> + ejabberd_config:get_option({sql_start_interval, Host}). + +-spec sql_type() -> 'mssql' | 'mysql' | 'odbc' | 'pgsql' | 'sqlite' | 'undefined'. +sql_type() -> + sql_type(global). +-spec sql_type(global | binary()) -> 'mssql' | 'mysql' | 'odbc' | 'pgsql' | 'sqlite' | 'undefined'. +sql_type(Host) -> + ejabberd_config:get_option({sql_type, Host}). + +-spec sql_username() -> binary(). +sql_username() -> + sql_username(global). +-spec sql_username(global | binary()) -> binary(). +sql_username(Host) -> + ejabberd_config:get_option({sql_username, Host}). + +-spec trusted_proxies() -> 'all' | [{inet:ip4_address() | inet:ip6_address(),byte()}]. +trusted_proxies() -> + trusted_proxies(global). +-spec trusted_proxies(global | binary()) -> 'all' | [{inet:ip4_address() | inet:ip6_address(),byte()}]. +trusted_proxies(Host) -> + ejabberd_config:get_option({trusted_proxies, Host}). + +-spec use_cache() -> boolean(). +use_cache() -> + use_cache(global). +-spec use_cache(global | binary()) -> boolean(). +use_cache(Host) -> + ejabberd_config:get_option({use_cache, Host}). + +-spec validate_stream() -> boolean(). +validate_stream() -> + validate_stream(global). +-spec validate_stream(global | binary()) -> boolean(). +validate_stream(Host) -> + ejabberd_config:get_option({validate_stream, Host}). + +-spec version() -> binary(). +version() -> + ejabberd_config:get_option({version, global}). + +-spec websocket_origin() -> [binary()]. +websocket_origin() -> + ejabberd_config:get_option({websocket_origin, global}). + +-spec websocket_ping_interval() -> pos_integer(). +websocket_ping_interval() -> + ejabberd_config:get_option({websocket_ping_interval, global}). + +-spec websocket_timeout() -> pos_integer(). +websocket_timeout() -> + ejabberd_config:get_option({websocket_timeout, global}). + |