lib/param move source4 param code to the top level
[sfrench/samba-autobuild/.git] / source3 / param / loadparm_ctx.c
index 5cf8ce67cd170a7e55e4023c229f41967e23574c..8a886551c6ee3144768dc4202dc47a22be430a27 100644 (file)
 */
 
 #include "includes.h"
-#include "../source4/param/s3_param.h"
+#include "lib/param/s3_param.h"
+
+static struct loadparm_service *lp_service_for_s4_ctx(const char *servicename)
+{
+       TALLOC_CTX *mem_ctx;
+       struct loadparm_service *service;
+
+       mem_ctx = talloc_stackframe();
+       service = lp_service(servicename);
+       talloc_free(mem_ctx);
+
+       return service;
+}
+
+static struct loadparm_service *lp_servicebynum_for_s4_ctx(int servicenum)
+{
+       TALLOC_CTX *mem_ctx;
+       struct loadparm_service *service;
+
+       mem_ctx = talloc_stackframe();
+       service = lp_servicebynum(servicenum);
+       talloc_free(mem_ctx);
+
+       return service;
+}
 
 static bool lp_load_for_s4_ctx(const char *filename)
 {
@@ -41,8 +65,8 @@ static const struct loadparm_s3_context s3_fns =
        .get_parametric = lp_parm_const_string_service,
        .get_parm_struct = lp_get_parameter,
        .get_parm_ptr = lp_parm_ptr,
-       .get_service = lp_service,
-       .get_servicebynum = lp_servicebynum,
+       .get_service = lp_service_for_s4_ctx,
+       .get_servicebynum = lp_servicebynum_for_s4_ctx,
        .get_default_loadparm_service = lp_default_loadparm_service,
        .get_numservices = lp_numservices,
        .load = lp_load_for_s4_ctx,
@@ -78,7 +102,9 @@ static const struct loadparm_s3_context s3_fns =
        .ncalrpc_dir = lp_ncalrpc_dir,
        .lockdir = lp_lockdir,
 
-       .passdb_backend = lp_passdb_backend
+       .passdb_backend = lp_passdb_backend,
+
+       .host_msdfs = lp_host_msdfs,
 };
 
 const struct loadparm_s3_context *loadparm_s3_context(void)