2014-08-13 16:00:00 -07:00
# ifndef _TINIPARSER_H_
# define _TINIPARSER_H_
/*
* Trivial smb . conf parsing code
* iniparser compatibility layer .
*
* Copyright Jeremy Allison < jra @ samba . org > 2014
*
* Redistribution and use in source and binary forms , with or without
* modification , are permitted provided that the following conditions
* are met :
* 1. Redistributions of source code must retain the above copyright
* notice , and the entire permission notice in its entirety ,
* including the disclaimer of warranties .
* 2. Redistributions in binary form must reproduce the above copyright
* notice , this list of conditions and the following disclaimer in the
* documentation and / or other materials provided with the distribution .
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission .
*
* ALTERNATIVELY , this product may be distributed under the terms of
* the GNU Public License , in which case the provisions of the GPL are
* required INSTEAD OF the above restrictions . ( This clause is
* necessary due to a potential bad interaction between the GPL and
* the restrictions contained in a BSD - style copyright . )
*
* THIS SOFTWARE IS PROVIDED ` AS IS ' ' AND ANY EXPRESS OR IMPLIED
* WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED . IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT ,
* INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES
* ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT ,
* STRICT LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE )
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE .
*/
struct tiniparser_dictionary ;
bool tiniparser_getboolean ( struct tiniparser_dictionary * d ,
const char * key ,
bool default_value ) ;
const char * tiniparser_getstring ( struct tiniparser_dictionary * d ,
const char * key ,
const char * default_value ) ;
int tiniparser_getint ( struct tiniparser_dictionary * d ,
const char * key ,
int default_value ) ;
2019-04-04 01:03:58 +02:00
struct tiniparser_dictionary * tiniparser_load_stream ( FILE * fp ) ;
2014-08-13 16:00:00 -07:00
struct tiniparser_dictionary * tiniparser_load ( const char * filename ) ;
void tiniparser_freedict ( struct tiniparser_dictionary * d ) ;
# endif