2023-09-05 10:07:59 +02:00
/*
2011-06-06 16:47:32 +10: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 23:22:24 +10:00
# include "includes.h"
2011-10-06 19:34:50 +11:00
# include "lib/param/s3_param.h"
2011-06-01 23:22:24 +10:00
2011-08-26 12:59:01 +10: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 11:26:42 +10:00
static bool lp_load_for_s4_ctx ( const char * filename )
{
2011-08-12 15:40:26 +10:00
TALLOC_CTX * mem_ctx ;
bool status ;
mem_ctx = talloc_stackframe ( ) ;
2014-09-18 00:29:28 +02:00
status = lp_load_no_reinit ( filename ) ;
2011-08-12 15:40:26 +10:00
talloc_free ( mem_ctx ) ;
return status ;
2011-08-12 11:26:42 +10:00
}
2014-01-24 15:52:15 +13: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 18:08:47 +13:00
. getservicebyname = getservicebyname ,
2014-01-24 15:52:15 +13:00
. get_numservices = lp_numservices ,
. load = lp_load_for_s4_ctx ,
2014-02-28 12:53:32 +13:00
. store_cmdline = store_lp_set_cmdline ,
2014-01-24 15:52:15 +13:00
. dump = lp_dump ,
2014-02-21 15:13:28 +13:00
. lp_include = lp_include ,
2014-02-24 09:47:17 +13:00
. init_ldap_debugging = init_ldap_debugging ,
2014-02-28 09:59:05 +13:00
. do_section = lp_do_section ,
2023-09-05 10:07:59 +02:00
. init_globals = loadparm_s3_init_globals ,
2014-01-24 15:52:15 +13:00
} ;
2011-06-01 23:22:24 +10:00
2012-06-27 23:24:39 +10:00
const struct loadparm_s3_helpers * loadparm_s3_helpers ( void )
2011-06-01 23:22:24 +10:00
{
2014-01-24 15:38:59 +13:00
struct loadparm_s3_helpers * helpers ;
helpers = & s3_fns ;
helpers - > globals = get_globals ( ) ;
2014-02-28 13:19:16 +13:00
helpers - > flags = get_flags ( ) ;
2014-01-24 15:38:59 +13:00
return helpers ;
2011-06-01 23:22:24 +10:00
}