#ifndef INIPARSER_H
#define INIPARSER_H

#ifdef __cplusplus
extern "C" {
#endif

/* Opaque dictionary handle (matches libiniparser ABI) */
typedef struct _dictionary_ {
    int         n;
    int         size;
    char      **val;
    char      **key;
    unsigned   *hash;
} dictionary;

dictionary * iniparser_load(const char *ininame);
void         iniparser_freedict(dictionary *d);
int          iniparser_getint(dictionary *d, const char *key, int notfound);
double       iniparser_getdouble(dictionary *d, const char *key, double notfound);
const char * iniparser_getstring(dictionary *d, const char *key, const char *def);
int          iniparser_getboolean(dictionary *d, const char *key, int notfound);
int          iniparser_find_entry(dictionary *d, const char *entry);

#ifdef __cplusplus
}
#endif

#endif /* INIPARSER_H */
