10#define INI_WRITE_RAW 0
11#define INI_WRITE_PRESERVE 1
13#define INI_READ_RENDER 1
14#define INI_SETVAL_APPEND 0
15#define INI_SETVAL_REPLACE 1
16#define INI_SEARCH_EXACT 0
17#define INI_SEARCH_BEGINS 1
18#define INI_SEARCH_SUBSTR 2
21#define INIVAL_TYPE_CHAR 1
22#define INIVAL_TYPE_UCHAR 2
23#define INIVAL_TYPE_SHORT 3
24#define INIVAL_TYPE_USHORT 4
25#define INIVAL_TYPE_INT 5
26#define INIVAL_TYPE_UINT 6
27#define INIVAL_TYPE_LONG 7
28#define INIVAL_TYPE_ULONG 8
29#define INIVAL_TYPE_LLONG 9
30#define INIVAL_TYPE_ULLONG 10
31#define INIVAL_TYPE_DOUBLE 11
32#define INIVAL_TYPE_FLOAT 12
33#define INIVAL_TYPE_STR 13
34#define INIVAL_TYPE_STR_ARRAY 14
35#define INIVAL_TYPE_BOOL 15
37#define INIVAL_TO_LIST 1 << 1
142int ini_setval(
struct INIFILE **ini,
unsigned type,
char *section_name,
char *key,
char *value);
242int ini_getval_int(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
243unsigned int ini_getval_uint(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
244long ini_getval_long(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
245unsigned long ini_getval_ulong(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
246long long ini_getval_llong(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
247unsigned long long ini_getval_ullong(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
248float ini_getval_float(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
249double ini_getval_double(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
250bool ini_getval_bool(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
251short ini_getval_short(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
252unsigned short ini_getval_ushort(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
253char ini_getval_char(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
254unsigned char ini_getval_uchar(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
255char *ini_getval_char_p(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
256char *ini_getval_str(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
257char *ini_getval_char_array_p(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
258char *ini_getval_str_array(
struct INIFILE *ini,
char *section_name,
char *key,
int flags,
int *state);
259struct StrList *ini_getval_strlist(
struct INIFILE *ini,
char *section_name,
char *key,
char *tok,
int flags,
int *state);
int ini_section_create(struct INIFILE **ini, char *key)
Definition ini.c:404
struct INIFILE * ini_open(const char *filename)
Definition ini.c:537
void ini_free(struct INIFILE **ini)
Definition ini.c:517
int ini_getval(struct INIFILE *ini, char *section_name, char *key, int type, int flags, union INIVal *result)
Definition ini.c:118
int ini_setval(struct INIFILE **ini, unsigned type, char *section_name, char *key, char *value)
Definition ini.c:374
struct INISection * ini_section_search(struct INIFILE **ini, unsigned mode, const char *value)
Definition ini.c:22
struct INIData * ini_getall(struct INIFILE *ini, char *section_name)
Definition ini.c:94
int ini_write(struct INIFILE *ini, FILE **stream, unsigned mode)
Definition ini.c:428
int ini_has_key(struct INIFILE *ini, const char *section, const char *key)
Definition ini.c:56
A structure to describe an INI data record.
Definition ini.h:64
char * value
INI variable value.
Definition ini.h:66
char * key
INI variable name.
Definition ini.h:65
A structure to describe an INI configuration file.
Definition ini.h:82
struct INISection ** section
Array of INISection records.
Definition ini.h:84
size_t section_count
Total INISection records.
Definition ini.h:83
A structure to describe an INI section.
Definition ini.h:73
struct INIData ** data
Array of INIData records.
Definition ini.h:76
size_t data_count
Total INIData records.
Definition ini.h:74
char * key
INI section name.
Definition ini.h:75
Consolidate possible value types.
Definition ini.h:42
unsigned long long as_ullong
Unsigned long long integer.
Definition ini.h:52
short as_short
Short integer.
Definition ini.h:45
long as_long
Long integer.
Definition ini.h:49
long long as_llong
Long long integer.
Definition ini.h:51
unsigned as_uint
Unsigned integer.
Definition ini.h:48
bool as_bool
Boolean.
Definition ini.h:57
char ** as_char_array_p
String Array.
Definition ini.h:56
double as_double
Double precision float.
Definition ini.h:53
float as_float
Single precision float.
Definition ini.h:54
unsigned char as_uchar
Unsigned byte.
Definition ini.h:44
char * as_char_p
String.
Definition ini.h:55
unsigned long as_ulong
Unsigned long integer.
Definition ini.h:50
unsigned short as_ushort
Unsigned short integer.
Definition ini.h:46
char as_char
Byte.
Definition ini.h:43
int as_int
Integer.
Definition ini.h:47