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 *);
* 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);
* 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,
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);