/*
Unix SMB/CIFS implementation.
- Modular services configuration system
+ Modular shares configuration system
Copyright (C) Simo Sorce 2006
#include "includes.h"
#include "param/share.h"
-#include "build.h"
#include "param/param.h"
+#include "lib/util/samba_modules.h"
const char *share_string_option(struct share_config *scfg, const char *opt_name, const char *defval)
{
return scfg->ctx->ops->int_option(scfg, opt_name, defval);
}
-BOOL share_bool_option(struct share_config *scfg, const char *opt_name, BOOL defval)
+bool share_bool_option(struct share_config *scfg, const char *opt_name, bool defval)
{
return scfg->ctx->ops->bool_option(scfg, opt_name, defval);
}
return NT_STATUS_OK;
}
-NTSTATUS share_get_context_by_name(TALLOC_CTX *mem_ctx,
- const char *backend_name,
- struct share_context **ctx)
+NTSTATUS share_get_context_by_name(TALLOC_CTX *mem_ctx, const char *backend_name,
+ struct tevent_context *event_ctx,
+ struct loadparm_context *lp_ctx,
+ struct share_context **ctx)
{
const struct share_ops *ops;
ops = share_backend_by_name(backend_name);
if (!ops) {
- DEBUG(0, ("share_init_connection: share backend [%s] not found!\n", lp_share_backend(global_loadparm)));
+ DEBUG(0, ("share_init_connection: share backend [%s] not found!\n", backend_name));
return NT_STATUS_INTERNAL_ERROR;
}
- return ops->init(mem_ctx, ops, ctx);
-}
-
-NTSTATUS share_get_context(TALLOC_CTX *mem_ctx, struct share_context **ctx)
-{
- return share_get_context_by_name(mem_ctx, lp_share_backend(global_loadparm), ctx);
+ return ops->init(mem_ctx, ops, event_ctx, lp_ctx, ctx);
}
/*
*/
NTSTATUS share_init(void)
{
- init_module_fn static_init[] = STATIC_share_MODULES;
- init_module_fn *shared_init = load_samba_modules(NULL, global_loadparm, "share");
+#define _MODULE_PROTO(init) extern NTSTATUS init(void);
+ STATIC_share_MODULES_PROTO;
+ init_module_fn static_init[] = { STATIC_share_MODULES };
run_init_functions(static_init);
- run_init_functions(shared_init);
-
- talloc_free(shared_init);
return NT_STATUS_OK;
}