lib/util: consolidate module loading into common code
[samba.git] / source4 / param / share.c
index edbb68b5f01a54966db599e348e4f88ceb3a8516..da0470d5606c5924bd2c34e95ce4e7ce60dd3eae 100644 (file)
@@ -1,7 +1,7 @@
 /* 
    Unix SMB/CIFS implementation.
    
-   Modular services configuration system
+   Modular shares configuration system
    
    Copyright (C) Simo Sorce    2006
    
@@ -21,8 +21,8 @@
 
 #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)
 {
@@ -127,6 +127,7 @@ NTSTATUS share_register(const struct share_ops *ops)
 }
 
 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)
 {
@@ -138,7 +139,7 @@ NTSTATUS share_get_context_by_name(TALLOC_CTX *mem_ctx, const char *backend_name
                return NT_STATUS_INTERNAL_ERROR;
        }
 
-       return ops->init(mem_ctx, ops, lp_ctx, ctx);
+       return ops->init(mem_ctx, ops, event_ctx, lp_ctx, ctx);
 }
 
 /*
@@ -146,7 +147,9 @@ NTSTATUS share_get_context_by_name(TALLOC_CTX *mem_ctx, const char *backend_name
 */
 NTSTATUS share_init(void)
 {
-       init_module_fn static_init[] = { STATIC_share_MODULES, NULL };
+#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);