2007-08-14 19:17:50 +04:00
/*
* Unix SMB / CIFS implementation .
* Group Policy Support
* Copyright ( C ) Guenther Deschner 2007
*
* 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/>.
*/
2009-04-20 16:57:33 +04:00
struct keyval_pair {
2016-09-27 19:18:51 +03:00
const char * key ;
const char * val ;
2009-04-20 16:57:33 +04:00
} ;
2007-08-14 19:17:50 +04:00
struct gp_inifile_context {
TALLOC_CTX * mem_ctx ;
2009-04-20 16:57:33 +04:00
uint32_t keyval_count ;
struct keyval_pair * * data ;
char * current_section ;
2007-08-14 19:17:50 +04:00
const char * generated_filename ;
} ;
/* prototypes */
NTSTATUS gp_inifile_init_context ( TALLOC_CTX * mem_ctx , uint32_t flags ,
const char * unix_path , const char * suffix ,
struct gp_inifile_context * * ctx_ret ) ;
2016-09-11 13:48:14 +03:00
NTSTATUS gp_inifile_init_context_direct ( TALLOC_CTX * mem_ctx ,
const char * unix_path ,
struct gp_inifile_context * * ctx_ret ) ;
2009-04-20 18:51:33 +04:00
NTSTATUS parse_gpt_ini ( TALLOC_CTX * ctx ,
2009-04-20 16:57:33 +04:00
const char * filename ,
uint32_t * version ,
char * * display_name ) ;
2016-09-27 19:18:51 +03:00
NTSTATUS gp_inifile_getstring ( struct gp_inifile_context * ctx , const char * key , const char * * ret ) ;
2009-04-21 01:38:11 +04:00
NTSTATUS gp_inifile_getint ( struct gp_inifile_context * ctx , const char * key , int * ret ) ;
2013-12-11 03:44:49 +04:00
NTSTATUS gp_inifile_getbool ( struct gp_inifile_context * ctx , const char * key , bool * ret ) ;
2009-04-21 01:38:11 +04:00
2016-09-13 09:36:59 +03:00
NTSTATUS gp_inifile_enum_section ( struct gp_inifile_context * ctx ,
const char * section ,
size_t * num_ini_keys ,
const char * * * ini_keys ,
const char * * * ini_values ) ;