forked from github/server
81 lines
2.2 KiB
C
81 lines
2.2 KiB
C
/*
|
|
Based upon libiniparser, by Nicolas Devillard
|
|
Hacked into 1 file (m-iniparser) by Freek/2005
|
|
Original terms following:
|
|
|
|
-- -
|
|
|
|
Copyright (c) 2000 by Nicolas Devillard (ndevilla AT free DOT fr).
|
|
|
|
Written by Nicolas Devillard. Not derived from licensed software.
|
|
|
|
Permission is granted to anyone to use this software for any
|
|
purpose on any computer system, and to redistribute it freely,
|
|
subject to the following restrictions:
|
|
|
|
1. The author is not responsible for the consequences of use of
|
|
this software, no matter how awful, even if they arise
|
|
from defects in it.
|
|
|
|
2. The origin of this software must not be misrepresented, either
|
|
by explicit claim or by omission.
|
|
|
|
3. Altered versions must be plainly marked as such, and must not
|
|
be misrepresented as being the original software.
|
|
|
|
4. This notice may not be removed or altered.
|
|
|
|
*/
|
|
|
|
|
|
#ifndef _INIPARSER_H_
|
|
#define _INIPARSER_H_
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
typedef struct _dictionary_ {
|
|
/** Number of entries in dictionary */
|
|
int n;
|
|
/** Storage size */
|
|
int size;
|
|
/** List of string values */
|
|
char **val;
|
|
/** List of string keys */
|
|
char **key ;
|
|
/** List of hash values for keys */
|
|
unsigned *hash;
|
|
} dictionary ;
|
|
|
|
|
|
/* generated by genproto */
|
|
|
|
dictionary * iniparser_new(const char *ininame);
|
|
void iniparser_free(dictionary * d);
|
|
|
|
int iniparser_getnsec(dictionary * d);
|
|
char * iniparser_getsecname(dictionary * d, int n);
|
|
void iniparser_dump(dictionary * d, FILE * f);
|
|
void iniparser_dump_ini(dictionary * d, FILE * f);
|
|
char * iniparser_getkey(dictionary *d, char *section, char *key);
|
|
const char * iniparser_getstr(dictionary * d, const char * key);
|
|
const char * iniparser_getstring(dictionary * d, const char * key, const char * def);
|
|
int iniparser_getint(dictionary * d, const char * key, int notfound);
|
|
double iniparser_getdouble(dictionary * d, char * key, double notfound);
|
|
int iniparser_getboolean(dictionary * d, char * key, int notfound);
|
|
int iniparser_find_entry(dictionary * ini, char * entry);
|
|
int iniparser_setstr(dictionary * ini, char * entry, char * val);
|
|
void iniparser_unset(dictionary * ini, char * entry);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|