Line data Source code
1 : /*
2 : Unix SMB/CIFS implementation.
3 : Parameter loading functions
4 : Copyright (C) Andrew Bartlett 2011
5 :
6 : This program is free software; you can redistribute it and/or modify
7 : it under the terms of the GNU General Public License as published by
8 : the Free Software Foundation; either version 3 of the License, or
9 : (at your option) any later version.
10 :
11 : This program is distributed in the hope that it will be useful,
12 : but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : GNU General Public License for more details.
15 :
16 : You should have received a copy of the GNU General Public License
17 : along with this program. If not, see <http://www.gnu.org/licenses/>.
18 : */
19 :
20 : #include "includes.h"
21 : #include "lib/param/s3_param.h"
22 :
23 55377 : static struct loadparm_service *lp_service_for_s4_ctx(const char *servicename)
24 : {
25 : TALLOC_CTX *mem_ctx;
26 : struct loadparm_service *service;
27 :
28 55377 : mem_ctx = talloc_stackframe();
29 55377 : service = lp_service(servicename);
30 55377 : talloc_free(mem_ctx);
31 :
32 55377 : return service;
33 : }
34 :
35 0 : static struct loadparm_service *lp_servicebynum_for_s4_ctx(int servicenum)
36 : {
37 : TALLOC_CTX *mem_ctx;
38 : struct loadparm_service *service;
39 :
40 0 : mem_ctx = talloc_stackframe();
41 0 : service = lp_servicebynum(servicenum);
42 0 : talloc_free(mem_ctx);
43 :
44 0 : return service;
45 : }
46 :
47 799 : static bool lp_load_for_s4_ctx(const char *filename)
48 : {
49 : TALLOC_CTX *mem_ctx;
50 : bool status;
51 :
52 799 : mem_ctx = talloc_stackframe();
53 799 : status = lp_load_no_reinit(filename);
54 799 : talloc_free(mem_ctx);
55 :
56 799 : return status;
57 : }
58 :
59 : static struct loadparm_s3_helpers s3_fns =
60 : {
61 : .get_parm_ptr = lp_parm_ptr,
62 : .get_service = lp_service_for_s4_ctx,
63 : .get_servicebynum = lp_servicebynum_for_s4_ctx,
64 : .getservicebyname = getservicebyname,
65 : .get_numservices = lp_numservices,
66 : .load = lp_load_for_s4_ctx,
67 : .store_cmdline = store_lp_set_cmdline,
68 : .dump = lp_dump,
69 : .lp_include = lp_include,
70 : .init_ldap_debugging = init_ldap_debugging,
71 : .do_section = lp_do_section,
72 : };
73 :
74 155766 : const struct loadparm_s3_helpers *loadparm_s3_helpers(void)
75 : {
76 : struct loadparm_s3_helpers *helpers;
77 155766 : helpers = &s3_fns;
78 155766 : helpers->globals = get_globals();
79 155766 : helpers->flags = get_flags();
80 155766 : return helpers;
81 : }
|