lib/util/charset rename iconv_convenience to iconv_handle
[nivanova/samba-autobuild/.git] / source4 / param / param.h
index 15ea564c403c6c85bb732003aac3b7e230e62ae8..b8fb369bdb5343dd178c204f5e2f86717ca2a6f5 100644 (file)
@@ -69,169 +69,22 @@ struct smbcli_options;
 struct smbcli_session_options;
 struct gensec_settings;
 
+#ifdef CONFIG_H_IS_FROM_SAMBA
+#include "param/param_proto.h"
+#endif
+
+const char **lpcfg_interfaces(struct loadparm_context *);
+const char *lpcfg_realm(struct loadparm_context *);
+const char *lpcfg_netbios_name(struct loadparm_context *);
+const char *lpcfg_private_dir(struct loadparm_context *);
+int lpcfg_server_role(struct loadparm_context *);
+
 void reload_charcnv(struct loadparm_context *lp_ctx);
 
 struct loadparm_service *lpcfg_default_service(struct loadparm_context *lp_ctx);
 struct parm_struct *lpcfg_parm_table(void);
 
 
-#define DECL_GLOBAL_STRING(fn_name) \
-       const char *lpcfg_ ## fn_name(struct loadparm_context *lp_ctx); \
-       const char *lp_ ## fn_name(void)
-
-#define DECL_GLOBAL_CONST_STRING(fn_name) \
-       const char *lpcfg_ ## fn_name(struct loadparm_context *lp_ctx); \
-       const char *lp_ ## fn_name(void)
-
-#define DECL_GLOBAL_LIST(fn_name) \
-       const char **lpcfg_ ## fn_name(struct loadparm_context *lp_ctx); \
-       const char **lp_ ## fn_name(void)
-
-#define DECL_GLOBAL_BOOL(fn_name) \
-       bool lpcfg_ ## fn_name(struct loadparm_context *lp_ctx); \
-       bool lp_ ## fn_name(void)
-
-#define DECL_GLOBAL_INTEGER(fn_name) \
-       int lpcfg_ ## fn_name(struct loadparm_context *lp_ctx); \
-       int lp_ ## fn_name(void)
-
-#define DECL_LOCAL_STRING(fn_name) \
-       const char *lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault); \
-       const char *lp_ ## fn_name(int i)
-
-#define DECL_LOCAL_LIST(fn_name) \
-       const char **lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault); \
-       const char **lp_ ## fn_name(int i)
-
-#define DECL_LOCAL_BOOL(fn_name) \
-       bool lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault); \
-       bool lp_ ## fn_name(int i)
-
-#define DECL_LOCAL_INTEGER(fn_name) \
-       int lpcfg_ ## fn_name(struct loadparm_service *service, struct loadparm_service *sDefault); \
-       int lp_ ## fn_name(int i)
-
-
-DECL_GLOBAL_INTEGER(server_role);
-DECL_GLOBAL_INTEGER(sid_generator);
-DECL_GLOBAL_LIST(smb_ports);
-DECL_GLOBAL_INTEGER(nbt_port);
-DECL_GLOBAL_INTEGER(dgram_port);
-DECL_GLOBAL_INTEGER(cldap_port);
-DECL_GLOBAL_INTEGER(krb5_port);
-DECL_GLOBAL_INTEGER(kpasswd_port);
-DECL_GLOBAL_INTEGER(web_port);
-DECL_GLOBAL_BOOL(tls_enabled);
-DECL_GLOBAL_STRING(share_backend);
-DECL_GLOBAL_STRING(sam_url);
-DECL_GLOBAL_STRING(idmap_url);
-DECL_GLOBAL_STRING(secrets_url);
-DECL_GLOBAL_STRING(spoolss_url);
-DECL_GLOBAL_STRING(wins_config_url);
-DECL_GLOBAL_STRING(wins_url);
-DECL_GLOBAL_CONST_STRING(winbind_separator);
-DECL_GLOBAL_CONST_STRING(winbindd_socket_directory);
-DECL_GLOBAL_CONST_STRING(winbindd_privileged_socket_directory);
-DECL_GLOBAL_CONST_STRING(template_shell);
-DECL_GLOBAL_CONST_STRING(template_homedir);
-DECL_GLOBAL_BOOL(winbind_sealed_pipes);
-DECL_GLOBAL_BOOL(idmap_trusted_only);
-DECL_GLOBAL_STRING(private_dir);
-DECL_GLOBAL_STRING(serverstring);
-DECL_GLOBAL_STRING(lockdir);
-DECL_GLOBAL_STRING(modulesdir);
-DECL_GLOBAL_STRING(setupdir);
-DECL_GLOBAL_STRING(ncalrpc_dir);
-DECL_GLOBAL_STRING(dos_charset);
-DECL_GLOBAL_STRING(unix_charset);
-DECL_GLOBAL_STRING(display_charset);
-DECL_GLOBAL_STRING(piddir);
-DECL_GLOBAL_LIST(rndc_command);
-DECL_GLOBAL_LIST(dns_update_command);
-DECL_GLOBAL_LIST(spn_update_command);
-DECL_GLOBAL_STRING(nsupdate_command);
-DECL_GLOBAL_LIST(dcerpc_endpoint_servers);
-DECL_GLOBAL_LIST(server_services);
-DECL_GLOBAL_STRING(ntptr_providor);
-DECL_GLOBAL_STRING(auto_services);
-DECL_GLOBAL_STRING(passwd_chat);
-DECL_GLOBAL_LIST(passwordserver);
-DECL_GLOBAL_LIST(name_resolve_order);
-DECL_GLOBAL_STRING(realm);
-DECL_GLOBAL_STRING(dnsdomain);
-DECL_GLOBAL_STRING(socket_options);
-DECL_GLOBAL_STRING(workgroup);
-DECL_GLOBAL_STRING(netbios_name);
-DECL_GLOBAL_STRING(netbios_scope);
-DECL_GLOBAL_LIST(wins_server_list);
-DECL_GLOBAL_LIST(interfaces);
-DECL_GLOBAL_STRING(socket_address);
-DECL_GLOBAL_LIST(netbios_aliases);
-DECL_GLOBAL_BOOL(disable_netbios);
-DECL_GLOBAL_BOOL(wins_support);
-DECL_GLOBAL_BOOL(wins_dns_proxy);
-DECL_GLOBAL_STRING(wins_hook);
-DECL_GLOBAL_BOOL(local_master);
-DECL_GLOBAL_BOOL(readraw);
-DECL_GLOBAL_BOOL(large_readwrite);
-DECL_GLOBAL_BOOL(writeraw);
-DECL_GLOBAL_BOOL(null_passwords);
-DECL_GLOBAL_BOOL(obey_pam_restrictions);
-DECL_GLOBAL_BOOL(encrypted_passwords);
-DECL_GLOBAL_BOOL(time_server);
-DECL_GLOBAL_BOOL(bind_interfaces_only);
-DECL_GLOBAL_BOOL(unicode);
-DECL_GLOBAL_BOOL(nt_status_support);
-DECL_GLOBAL_BOOL(lanman_auth);
-DECL_GLOBAL_BOOL(ntlm_auth);
-DECL_GLOBAL_BOOL(client_plaintext_auth);
-DECL_GLOBAL_BOOL(client_lanman_auth);
-DECL_GLOBAL_BOOL(client_ntlmv2_auth);
-DECL_GLOBAL_BOOL(client_use_spnego_principal);
-DECL_GLOBAL_BOOL(host_msdfs);
-DECL_GLOBAL_BOOL(unix_extensions);
-DECL_GLOBAL_BOOL(use_spnego);
-DECL_GLOBAL_BOOL(rpc_big_endian);
-DECL_GLOBAL_INTEGER(max_wins_ttl);
-DECL_GLOBAL_INTEGER(min_wins_ttl);
-DECL_GLOBAL_INTEGER(maxmux);
-DECL_GLOBAL_INTEGER(max_xmit);
-DECL_GLOBAL_INTEGER(passwordlevel);
-DECL_GLOBAL_INTEGER(srv_maxprotocol);
-DECL_GLOBAL_INTEGER(srv_minprotocol);
-DECL_GLOBAL_INTEGER(cli_maxprotocol);
-DECL_GLOBAL_INTEGER(cli_minprotocol);
-DECL_GLOBAL_INTEGER(security);
-DECL_GLOBAL_BOOL(paranoid_server_security);
-DECL_GLOBAL_INTEGER(announce_as);
-DECL_LOCAL_STRING(pathname);
-DECL_LOCAL_LIST(hostsallow);
-DECL_LOCAL_LIST(hostsdeny);
-DECL_LOCAL_STRING(comment);
-DECL_LOCAL_STRING(fstype);
-DECL_LOCAL_LIST(ntvfs_handler);
-DECL_LOCAL_BOOL(msdfs_root);
-DECL_LOCAL_BOOL(browseable);
-DECL_LOCAL_BOOL(readonly);
-DECL_LOCAL_BOOL(print_ok);
-DECL_LOCAL_BOOL(map_hidden);
-DECL_LOCAL_BOOL(map_archive);
-DECL_LOCAL_BOOL(strict_locking);
-DECL_LOCAL_BOOL(oplocks);
-DECL_LOCAL_BOOL(strict_sync);
-DECL_LOCAL_BOOL(ci_filesystem);
-DECL_LOCAL_BOOL(map_system);
-DECL_LOCAL_INTEGER(max_connections);
-DECL_LOCAL_INTEGER(csc_policy);
-DECL_LOCAL_INTEGER(create_mask);
-DECL_LOCAL_INTEGER(force_create_mode);
-DECL_LOCAL_INTEGER(dir_mask);
-DECL_LOCAL_INTEGER(force_dir_mode);
-DECL_GLOBAL_INTEGER(server_signing);
-DECL_GLOBAL_INTEGER(client_signing);
-DECL_GLOBAL_CONST_STRING(ntp_signd_socket_directory);
-
-
 char *lpcfg_tls_keyfile(TALLOC_CTX *mem_ctx, struct loadparm_context *);
 char *lpcfg_tls_certfile(TALLOC_CTX *mem_ctx, struct loadparm_context *);
 char *lpcfg_tls_cafile(TALLOC_CTX *mem_ctx, struct loadparm_context *);
@@ -323,6 +176,7 @@ void lpcfg_killunused(struct loadparm_context *lp_ctx,
  * Initialise the global parameter structure.
  */
 struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx);
+struct loadparm_context *loadparm_init_global(bool load_default);
 const char *lpcfg_configfile(struct loadparm_context *lp_ctx);
 bool lpcfg_load_default(struct loadparm_context *lp_ctx);
 const char *lp_default_path(void);
@@ -368,7 +222,7 @@ const char *lpcfg_printername(struct loadparm_service *service, struct loadparm_
  * Return the max print jobs per queue.
  */
 int lpcfg_maxprintjobs(struct loadparm_service *service, struct loadparm_service *sDefault);
-struct smb_iconv_convenience *lpcfg_iconv_convenience(struct loadparm_context *lp_ctx);
+struct smb_iconv_handle *lpcfg_iconv_handle(struct loadparm_context *lp_ctx);
 void lpcfg_smbcli_options(struct loadparm_context *lp_ctx,
                         struct smbcli_options *options);
 void lpcfg_smbcli_session_options(struct loadparm_context *lp_ctx,
@@ -480,9 +334,9 @@ bool run_init_functions(init_module_fn *fns);
 init_module_fn *load_samba_modules(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, const char *subsystem);
 const char *lpcfg_messaging_path(TALLOC_CTX *mem_ctx,
                                       struct loadparm_context *lp_ctx);
-struct smb_iconv_convenience *smb_iconv_convenience_reinit_lp(TALLOC_CTX *mem_ctx,
+struct smb_iconv_handle *smb_iconv_handle_reinit_lp(TALLOC_CTX *mem_ctx,
                                                              struct loadparm_context *lp_ctx,
-                                                             struct smb_iconv_convenience *old_ic);
+                                                             struct smb_iconv_handle *old_ic);
 
 const char *lpcfg_sam_name(struct loadparm_context *lp_ctx);