2011-06-06 10:47:32 +04:00
/*
Unix SMB / CIFS implementation .
Parameter loading functions
Copyright ( C ) Andrew Bartlett 2011
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2011-06-01 17:22:24 +04:00
# include "includes.h"
2011-10-06 12:34:50 +04:00
# include "lib/param/s3_param.h"
2011-06-01 17:22:24 +04:00
2011-08-26 06:59:01 +04:00
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 ;
}
2011-08-12 05:26:42 +04:00
static bool lp_load_for_s4_ctx ( const char * filename )
{
2011-08-12 09:40:26 +04:00
TALLOC_CTX * mem_ctx ;
bool status ;
mem_ctx = talloc_stackframe ( ) ;
status = lp_load ( filename , false , false , false , false ) ;
talloc_free ( mem_ctx ) ;
return status ;
2011-08-12 05:26:42 +04:00
}
2014-01-24 06:52:15 +04:00
static struct loadparm_s3_helpers s3_fns =
{
. get_parm_ptr = lp_parm_ptr ,
. get_service = lp_service_for_s4_ctx ,
. get_servicebynum = lp_servicebynum_for_s4_ctx ,
2014-02-19 09:08:47 +04:00
. getservicebyname = getservicebyname ,
2014-01-24 06:52:15 +04:00
. get_numservices = lp_numservices ,
. load = lp_load_for_s4_ctx ,
2014-02-28 03:53:32 +04:00
. store_cmdline = store_lp_set_cmdline ,
2014-01-24 06:52:15 +04:00
. dump = lp_dump ,
2014-02-17 07:35:29 +04:00
. lp_string = lp_string ,
2014-02-21 06:13:28 +04:00
. lp_include = lp_include ,
2014-02-24 00:47:17 +04:00
. init_ldap_debugging = init_ldap_debugging ,
2014-02-24 00:58:05 +04:00
. set_netbios_aliases = set_netbios_aliases ,
2014-02-28 00:59:05 +04:00
. do_section = lp_do_section ,
2014-01-24 06:52:15 +04:00
} ;
2011-06-01 17:22:24 +04:00
2012-06-27 17:24:39 +04:00
const struct loadparm_s3_helpers * loadparm_s3_helpers ( void )
2011-06-01 17:22:24 +04:00
{
2014-01-24 06:38:59 +04:00
struct loadparm_s3_helpers * helpers ;
helpers = & s3_fns ;
helpers - > globals = get_globals ( ) ;
2014-02-28 04:19:16 +04:00
helpers - > flags = get_flags ( ) ;
2014-01-24 06:38:59 +04:00
return helpers ;
2011-06-01 17:22:24 +04:00
}