3 <meta name=
"author" content=
"ndevilla@free.fr">
4 <meta name=
"keywords" content=
"ini file, config file, parser, C library">
5 <link href=
"doxygen.css" rel=
"stylesheet" type=
"text/css">
6 <title>iniparser
2.x
</title>
9 <body text=
"#000000" bgcolor=
"#ffffff">
13 <!-- Generated by Doxygen 1.4.4 -->
15 <a class=
"el" href=
"dir_000000.html">src
</a></div>
16 <h1>iniparser.h File Reference
</h1>Parser for ini files.
<a href=
"#_details">More...
</a>
18 <table border=
"0" cellpadding=
"0" cellspacing=
"0">
20 <tr><td colspan=
"2"><br><h2>Functions
</h2></td></tr>
21 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">int
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a0">iniparser_getnsec
</a> (dictionary *d)
</td></tr>
23 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get number of sections in a dictionary.
<a href=
"#a0"></a><br></td></tr>
24 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">char *
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a1">iniparser_getsecname
</a> (dictionary *d, int n)
</td></tr>
26 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get name for section n in a dictionary.
<a href=
"#a1"></a><br></td></tr>
27 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">void
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a2">iniparser_dump_ini
</a> (dictionary *d, FILE *f)
</td></tr>
29 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Save a dictionary to a loadable ini file.
<a href=
"#a2"></a><br></td></tr>
30 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">void
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a3">iniparser_dump
</a> (dictionary *d, FILE *f)
</td></tr>
32 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Dump a dictionary to an opened file pointer.
<a href=
"#a3"></a><br></td></tr>
33 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">char *
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a4">iniparser_getstr
</a> (dictionary *d, char *key)
</td></tr>
35 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get the string associated to a key, return NULL if not found.
<a href=
"#a4"></a><br></td></tr>
36 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">char *
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a5">iniparser_getstring
</a> (dictionary *d, char *key, char *def)
</td></tr>
38 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get the string associated to a key.
<a href=
"#a5"></a><br></td></tr>
39 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">int
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a6">iniparser_getint
</a> (dictionary *d, char *key, int notfound)
</td></tr>
41 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get the string associated to a key, convert to an int.
<a href=
"#a6"></a><br></td></tr>
42 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">double
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a7">iniparser_getdouble
</a> (dictionary *d, char *key, double notfound)
</td></tr>
44 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get the string associated to a key, convert to a double.
<a href=
"#a7"></a><br></td></tr>
45 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">int
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a8">iniparser_getboolean
</a> (dictionary *d, char *key, int notfound)
</td></tr>
47 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Get the string associated to a key, convert to a boolean.
<a href=
"#a8"></a><br></td></tr>
48 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">int
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a9">iniparser_setstr
</a> (dictionary *ini, char *entry, char *val)
</td></tr>
50 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Set an entry in a dictionary.
<a href=
"#a9"></a><br></td></tr>
51 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">void
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a10">iniparser_unset
</a> (dictionary *ini, char *entry)
</td></tr>
53 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Delete an entry in a dictionary.
<a href=
"#a10"></a><br></td></tr>
54 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">int
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a11">iniparser_find_entry
</a> (dictionary *ini, char *entry)
</td></tr>
56 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Finds out if a given entry exists in a dictionary.
<a href=
"#a11"></a><br></td></tr>
57 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">dictionary *
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a12">iniparser_load
</a> (char *ininame)
</td></tr>
59 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Parse an ini file and return an allocated dictionary object.
<a href=
"#a12"></a><br></td></tr>
60 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">void
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"iniparser_8h.html#a13">iniparser_freedict
</a> (dictionary *d)
</td></tr>
62 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Free all memory associated to an ini dictionary.
<a href=
"#a13"></a><br></td></tr>
64 <hr><a name=
"_details"></a><h2>Detailed Description
</h2>
67 <dl compact
><dt><b>Author:
</b></dt><dd>N. Devillard
</dd></dl>
68 <dl compact
><dt><b>Date:
</b></dt><dd>Mar
2000 </dd></dl>
69 <dl compact
><dt><b>Version:
</b></dt><dd><dl compact
><dt><b>Revision
</b></dt><dd>1.20 </dd></dl>
71 <hr><h2>Function Documentation
</h2>
72 <a class=
"anchor" name=
"a3"></a><!-- doxytag: member="iniparser.h::iniparser_dump" ref="a3" args="(dictionary *d, FILE *f)" --><p>
73 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
76 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
78 <td class=
"md" nowrap
valign=
"top">void iniparser_dump
</td>
79 <td class=
"md" valign=
"top">(
</td>
80 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
81 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
84 <td class=
"md" nowrap
align=
"right"></td>
86 <td class=
"md" nowrap
>FILE *
</td>
87 <td class=
"mdname" nowrap
> <em>f
</em></td>
91 <td class=
"md">)
</td>
92 <td class=
"md" colspan=
"2"></td>
98 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
106 Dump a dictionary to an opened file pointer.
108 <dl compact
><dt><b>Parameters:
</b></dt><dd>
109 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
110 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to dump.
</td></tr>
111 <tr><td valign=
"top"></td><td valign=
"top"><em>f
</em> </td><td>Opened file pointer to dump to.
</td></tr>
114 <dl compact
><dt><b>Returns:
</b></dt><dd>void
</dd></dl>
115 This function prints out the contents of a dictionary, one element by line, onto the provided file pointer. It is OK to specify
<code>stderr
</code> or
<code>stdout
</code> as output files. This function is meant for debugging purposes mostly.
</td>
118 <a class=
"anchor" name=
"a2"></a><!-- doxytag: member="iniparser.h::iniparser_dump_ini" ref="a2" args="(dictionary *d, FILE *f)" --><p>
119 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
122 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
124 <td class=
"md" nowrap
valign=
"top">void iniparser_dump_ini
</td>
125 <td class=
"md" valign=
"top">(
</td>
126 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
127 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
130 <td class=
"md" nowrap
align=
"right"></td>
132 <td class=
"md" nowrap
>FILE *
</td>
133 <td class=
"mdname" nowrap
> <em>f
</em></td>
137 <td class=
"md">)
</td>
138 <td class=
"md" colspan=
"2"></td>
144 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
152 Save a dictionary to a loadable ini file.
154 <dl compact
><dt><b>Parameters:
</b></dt><dd>
155 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
156 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to dump
</td></tr>
157 <tr><td valign=
"top"></td><td valign=
"top"><em>f
</em> </td><td>Opened file pointer to dump to
</td></tr>
160 <dl compact
><dt><b>Returns:
</b></dt><dd>void
</dd></dl>
161 This function dumps a given dictionary into a loadable ini file. It is Ok to specify
<code>stderr
</code> or
<code>stdout
</code> as output files.
</td>
164 <a class=
"anchor" name=
"a11"></a><!-- doxytag: member="iniparser.h::iniparser_find_entry" ref="a11" args="(dictionary *ini, char *entry)" --><p>
165 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
168 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
170 <td class=
"md" nowrap
valign=
"top">int iniparser_find_entry
</td>
171 <td class=
"md" valign=
"top">(
</td>
172 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
173 <td class=
"mdname" nowrap
> <em>ini
</em>,
</td>
176 <td class=
"md" nowrap
align=
"right"></td>
178 <td class=
"md" nowrap
>char *
</td>
179 <td class=
"mdname" nowrap
> <em>entry
</em></td>
183 <td class=
"md">)
</td>
184 <td class=
"md" colspan=
"2"></td>
190 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
198 Finds out if a given entry exists in a dictionary.
200 <dl compact
><dt><b>Parameters:
</b></dt><dd>
201 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
202 <tr><td valign=
"top"></td><td valign=
"top"><em>ini
</em> </td><td>Dictionary to search
</td></tr>
203 <tr><td valign=
"top"></td><td valign=
"top"><em>entry
</em> </td><td>Name of the entry to look for
</td></tr>
206 <dl compact
><dt><b>Returns:
</b></dt><dd>integer
1 if entry exists,
0 otherwise
</dd></dl>
207 Finds out if a given entry exists in the dictionary. Since sections are stored as keys with NULL associated values, this is the only way of querying for the presence of sections in a dictionary.
</td>
210 <a class=
"anchor" name=
"a13"></a><!-- doxytag: member="iniparser.h::iniparser_freedict" ref="a13" args="(dictionary *d)" --><p>
211 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
214 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
216 <td class=
"md" nowrap
valign=
"top">void iniparser_freedict
</td>
217 <td class=
"md" valign=
"top">(
</td>
218 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
219 <td class=
"mdname1" valign=
"top" nowrap
> <em>d
</em> </td>
220 <td class=
"md" valign=
"top"> )
</td>
221 <td class=
"md" nowrap
></td>
227 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
235 Free all memory associated to an ini dictionary.
237 <dl compact
><dt><b>Parameters:
</b></dt><dd>
238 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
239 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to free
</td></tr>
242 <dl compact
><dt><b>Returns:
</b></dt><dd>void
</dd></dl>
243 Free all memory associated to an ini dictionary. It is mandatory to call this function before the dictionary object gets out of the current context.
</td>
246 <a class=
"anchor" name=
"a8"></a><!-- doxytag: member="iniparser.h::iniparser_getboolean" ref="a8" args="(dictionary *d, char *key, int notfound)" --><p>
247 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
250 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
252 <td class=
"md" nowrap
valign=
"top">int iniparser_getboolean
</td>
253 <td class=
"md" valign=
"top">(
</td>
254 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
255 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
258 <td class=
"md" nowrap
align=
"right"></td>
260 <td class=
"md" nowrap
>char *
</td>
261 <td class=
"mdname" nowrap
> <em>key
</em>,
</td>
264 <td class=
"md" nowrap
align=
"right"></td>
266 <td class=
"md" nowrap
>int
</td>
267 <td class=
"mdname" nowrap
> <em>notfound
</em></td>
271 <td class=
"md">)
</td>
272 <td class=
"md" colspan=
"2"></td>
278 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
286 Get the string associated to a key, convert to a boolean.
288 <dl compact
><dt><b>Parameters:
</b></dt><dd>
289 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
290 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to search
</td></tr>
291 <tr><td valign=
"top"></td><td valign=
"top"><em>key
</em> </td><td>Key string to look for
</td></tr>
292 <tr><td valign=
"top"></td><td valign=
"top"><em>notfound
</em> </td><td>Value to return in case of error
</td></tr>
295 <dl compact
><dt><b>Returns:
</b></dt><dd>integer
</dd></dl>
296 This function queries a dictionary for a key. A key as read from an ini file is given as
"section:key". If the key cannot be found, the notfound value is returned.
<p>
297 A true boolean is found if one of the following is matched:
<p>
299 <li>A string starting with 'y'
</li><li>A string starting with 'Y'
</li><li>A string starting with 't'
</li><li>A string starting with 'T'
</li><li>A string starting with '
1'
</li></ul>
301 A false boolean is found if one of the following is matched:
<p>
303 <li>A string starting with 'n'
</li><li>A string starting with 'N'
</li><li>A string starting with 'f'
</li><li>A string starting with 'F'
</li><li>A string starting with '
0'
</li></ul>
305 The notfound value returned if no boolean is identified, does not necessarily have to be
0 or
1.
</td>
308 <a class=
"anchor" name=
"a7"></a><!-- doxytag: member="iniparser.h::iniparser_getdouble" ref="a7" args="(dictionary *d, char *key, double notfound)" --><p>
309 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
312 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
314 <td class=
"md" nowrap
valign=
"top">double iniparser_getdouble
</td>
315 <td class=
"md" valign=
"top">(
</td>
316 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
317 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
320 <td class=
"md" nowrap
align=
"right"></td>
322 <td class=
"md" nowrap
>char *
</td>
323 <td class=
"mdname" nowrap
> <em>key
</em>,
</td>
326 <td class=
"md" nowrap
align=
"right"></td>
328 <td class=
"md" nowrap
>double
</td>
329 <td class=
"mdname" nowrap
> <em>notfound
</em></td>
333 <td class=
"md">)
</td>
334 <td class=
"md" colspan=
"2"></td>
340 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
348 Get the string associated to a key, convert to a double.
350 <dl compact
><dt><b>Parameters:
</b></dt><dd>
351 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
352 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to search
</td></tr>
353 <tr><td valign=
"top"></td><td valign=
"top"><em>key
</em> </td><td>Key string to look for
</td></tr>
354 <tr><td valign=
"top"></td><td valign=
"top"><em>notfound
</em> </td><td>Value to return in case of error
</td></tr>
357 <dl compact
><dt><b>Returns:
</b></dt><dd>double
</dd></dl>
358 This function queries a dictionary for a key. A key as read from an ini file is given as
"section:key". If the key cannot be found, the notfound value is returned.
</td>
361 <a class=
"anchor" name=
"a6"></a><!-- doxytag: member="iniparser.h::iniparser_getint" ref="a6" args="(dictionary *d, char *key, int notfound)" --><p>
362 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
365 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
367 <td class=
"md" nowrap
valign=
"top">int iniparser_getint
</td>
368 <td class=
"md" valign=
"top">(
</td>
369 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
370 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
373 <td class=
"md" nowrap
align=
"right"></td>
375 <td class=
"md" nowrap
>char *
</td>
376 <td class=
"mdname" nowrap
> <em>key
</em>,
</td>
379 <td class=
"md" nowrap
align=
"right"></td>
381 <td class=
"md" nowrap
>int
</td>
382 <td class=
"mdname" nowrap
> <em>notfound
</em></td>
386 <td class=
"md">)
</td>
387 <td class=
"md" colspan=
"2"></td>
393 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
401 Get the string associated to a key, convert to an int.
403 <dl compact
><dt><b>Parameters:
</b></dt><dd>
404 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
405 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to search
</td></tr>
406 <tr><td valign=
"top"></td><td valign=
"top"><em>key
</em> </td><td>Key string to look for
</td></tr>
407 <tr><td valign=
"top"></td><td valign=
"top"><em>notfound
</em> </td><td>Value to return in case of error
</td></tr>
410 <dl compact
><dt><b>Returns:
</b></dt><dd>integer
</dd></dl>
411 This function queries a dictionary for a key. A key as read from an ini file is given as
"section:key". If the key cannot be found, the notfound value is returned.
</td>
414 <a class=
"anchor" name=
"a0"></a><!-- doxytag: member="iniparser.h::iniparser_getnsec" ref="a0" args="(dictionary *d)" --><p>
415 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
418 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
420 <td class=
"md" nowrap
valign=
"top">int iniparser_getnsec
</td>
421 <td class=
"md" valign=
"top">(
</td>
422 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
423 <td class=
"mdname1" valign=
"top" nowrap
> <em>d
</em> </td>
424 <td class=
"md" valign=
"top"> )
</td>
425 <td class=
"md" nowrap
></td>
431 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
439 Get number of sections in a dictionary.
441 <dl compact
><dt><b>Parameters:
</b></dt><dd>
442 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
443 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to examine
</td></tr>
446 <dl compact
><dt><b>Returns:
</b></dt><dd>int Number of sections found in dictionary
</dd></dl>
447 This function returns the number of sections found in a dictionary. The test to recognize sections is done on the string stored in the dictionary: a section name is given as
"section" whereas a key is stored as
"section:key", thus the test looks for entries that do not contain a colon.
<p>
448 This clearly fails in the case a section name contains a colon, but this should simply be avoided.
<p>
449 This function returns -
1 in case of error.
</td>
452 <a class=
"anchor" name=
"a1"></a><!-- doxytag: member="iniparser.h::iniparser_getsecname" ref="a1" args="(dictionary *d, int n)" --><p>
453 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
456 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
458 <td class=
"md" nowrap
valign=
"top">char* iniparser_getsecname
</td>
459 <td class=
"md" valign=
"top">(
</td>
460 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
461 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
464 <td class=
"md" nowrap
align=
"right"></td>
466 <td class=
"md" nowrap
>int
</td>
467 <td class=
"mdname" nowrap
> <em>n
</em></td>
471 <td class=
"md">)
</td>
472 <td class=
"md" colspan=
"2"></td>
478 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
486 Get name for section n in a dictionary.
488 <dl compact
><dt><b>Parameters:
</b></dt><dd>
489 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
490 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to examine
</td></tr>
491 <tr><td valign=
"top"></td><td valign=
"top"><em>n
</em> </td><td>Section number (from
0 to nsec-
1).
</td></tr>
494 <dl compact
><dt><b>Returns:
</b></dt><dd>Pointer to char string
</dd></dl>
495 This function locates the n-th section in a dictionary and returns its name as a pointer to a string statically allocated inside the dictionary. Do not free or modify the returned string!
<p>
496 This function returns NULL in case of error.
</td>
499 <a class=
"anchor" name=
"a4"></a><!-- doxytag: member="iniparser.h::iniparser_getstr" ref="a4" args="(dictionary *d, char *key)" --><p>
500 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
503 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
505 <td class=
"md" nowrap
valign=
"top">char* iniparser_getstr
</td>
506 <td class=
"md" valign=
"top">(
</td>
507 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
508 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
511 <td class=
"md" nowrap
align=
"right"></td>
513 <td class=
"md" nowrap
>char *
</td>
514 <td class=
"mdname" nowrap
> <em>key
</em></td>
518 <td class=
"md">)
</td>
519 <td class=
"md" colspan=
"2"></td>
525 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
533 Get the string associated to a key, return NULL if not found.
535 <dl compact
><dt><b>Parameters:
</b></dt><dd>
536 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
537 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to search
</td></tr>
538 <tr><td valign=
"top"></td><td valign=
"top"><em>key
</em> </td><td>Key string to look for
</td></tr>
541 <dl compact
><dt><b>Returns:
</b></dt><dd>pointer to statically allocated character string, or NULL.
</dd></dl>
542 This function queries a dictionary for a key. A key as read from an ini file is given as
"section:key". If the key cannot be found, NULL is returned. The returned char pointer is pointing to a string allocated in the dictionary, do not free or modify it.
<p>
543 This function is only provided for backwards compatibility with previous versions of iniparser. It is recommended to use
<a class=
"el" href=
"iniparser_8h.html#a5">iniparser_getstring()
</a> instead.
</td>
546 <a class=
"anchor" name=
"a5"></a><!-- doxytag: member="iniparser.h::iniparser_getstring" ref="a5" args="(dictionary *d, char *key, char *def)" --><p>
547 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
550 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
552 <td class=
"md" nowrap
valign=
"top">char* iniparser_getstring
</td>
553 <td class=
"md" valign=
"top">(
</td>
554 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
555 <td class=
"mdname" nowrap
> <em>d
</em>,
</td>
558 <td class=
"md" nowrap
align=
"right"></td>
560 <td class=
"md" nowrap
>char *
</td>
561 <td class=
"mdname" nowrap
> <em>key
</em>,
</td>
564 <td class=
"md" nowrap
align=
"right"></td>
566 <td class=
"md" nowrap
>char *
</td>
567 <td class=
"mdname" nowrap
> <em>def
</em></td>
571 <td class=
"md">)
</td>
572 <td class=
"md" colspan=
"2"></td>
578 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
586 Get the string associated to a key.
588 <dl compact
><dt><b>Parameters:
</b></dt><dd>
589 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
590 <tr><td valign=
"top"></td><td valign=
"top"><em>d
</em> </td><td>Dictionary to search
</td></tr>
591 <tr><td valign=
"top"></td><td valign=
"top"><em>key
</em> </td><td>Key string to look for
</td></tr>
592 <tr><td valign=
"top"></td><td valign=
"top"><em>def
</em> </td><td>Default value to return if key not found.
</td></tr>
595 <dl compact
><dt><b>Returns:
</b></dt><dd>pointer to statically allocated character string
</dd></dl>
596 This function queries a dictionary for a key. A key as read from an ini file is given as
"section:key". If the key cannot be found, the pointer passed as 'def' is returned. The returned char pointer is pointing to a string allocated in the dictionary, do not free or modify it.
</td>
599 <a class=
"anchor" name=
"a12"></a><!-- doxytag: member="iniparser.h::iniparser_load" ref="a12" args="(char *ininame)" --><p>
600 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
603 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
605 <td class=
"md" nowrap
valign=
"top">dictionary* iniparser_load
</td>
606 <td class=
"md" valign=
"top">(
</td>
607 <td class=
"md" nowrap
valign=
"top">char *
</td>
608 <td class=
"mdname1" valign=
"top" nowrap
> <em>ininame
</em> </td>
609 <td class=
"md" valign=
"top"> )
</td>
610 <td class=
"md" nowrap
></td>
616 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
624 Parse an ini file and return an allocated dictionary object.
626 <dl compact
><dt><b>Parameters:
</b></dt><dd>
627 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
628 <tr><td valign=
"top"></td><td valign=
"top"><em>ininame
</em> </td><td>Name of the ini file to read.
</td></tr>
631 <dl compact
><dt><b>Returns:
</b></dt><dd>Pointer to newly allocated dictionary
</dd></dl>
632 This is the parser for ini files. This function is called, providing the name of the file to be read. It returns a dictionary object that should not be accessed directly, but through accessor functions instead.
<p>
633 The returned dictionary must be freed using
<a class=
"el" href=
"iniparser_8h.html#a13">iniparser_freedict()
</a>.
</td>
636 <a class=
"anchor" name=
"a9"></a><!-- doxytag: member="iniparser.h::iniparser_setstr" ref="a9" args="(dictionary *ini, char *entry, char *val)" --><p>
637 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
640 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
642 <td class=
"md" nowrap
valign=
"top">int iniparser_setstr
</td>
643 <td class=
"md" valign=
"top">(
</td>
644 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
645 <td class=
"mdname" nowrap
> <em>ini
</em>,
</td>
648 <td class=
"md" nowrap
align=
"right"></td>
650 <td class=
"md" nowrap
>char *
</td>
651 <td class=
"mdname" nowrap
> <em>entry
</em>,
</td>
654 <td class=
"md" nowrap
align=
"right"></td>
656 <td class=
"md" nowrap
>char *
</td>
657 <td class=
"mdname" nowrap
> <em>val
</em></td>
661 <td class=
"md">)
</td>
662 <td class=
"md" colspan=
"2"></td>
668 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
676 Set an entry in a dictionary.
678 <dl compact
><dt><b>Parameters:
</b></dt><dd>
679 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
680 <tr><td valign=
"top"></td><td valign=
"top"><em>ini
</em> </td><td>Dictionary to modify.
</td></tr>
681 <tr><td valign=
"top"></td><td valign=
"top"><em>entry
</em> </td><td>Entry to modify (entry name)
</td></tr>
682 <tr><td valign=
"top"></td><td valign=
"top"><em>val
</em> </td><td>New value to associate to the entry.
</td></tr>
685 <dl compact
><dt><b>Returns:
</b></dt><dd>int
0 if Ok, -
1 otherwise.
</dd></dl>
686 If the given entry can be found in the dictionary, it is modified to contain the provided value. If it cannot be found, -
1 is returned. It is Ok to set val to NULL.
</td>
689 <a class=
"anchor" name=
"a10"></a><!-- doxytag: member="iniparser.h::iniparser_unset" ref="a10" args="(dictionary *ini, char *entry)" --><p>
690 <table class=
"mdTable" cellpadding=
"2" cellspacing=
"0">
693 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
695 <td class=
"md" nowrap
valign=
"top">void iniparser_unset
</td>
696 <td class=
"md" valign=
"top">(
</td>
697 <td class=
"md" nowrap
valign=
"top">dictionary *
</td>
698 <td class=
"mdname" nowrap
> <em>ini
</em>,
</td>
701 <td class=
"md" nowrap
align=
"right"></td>
703 <td class=
"md" nowrap
>char *
</td>
704 <td class=
"mdname" nowrap
> <em>entry
</em></td>
708 <td class=
"md">)
</td>
709 <td class=
"md" colspan=
"2"></td>
715 <table cellspacing=
"5" cellpadding=
"0" border=
"0">
723 Delete an entry in a dictionary.
725 <dl compact
><dt><b>Parameters:
</b></dt><dd>
726 <table border=
"0" cellspacing=
"2" cellpadding=
"0">
727 <tr><td valign=
"top"></td><td valign=
"top"><em>ini
</em> </td><td>Dictionary to modify
</td></tr>
728 <tr><td valign=
"top"></td><td valign=
"top"><em>entry
</em> </td><td>Entry to delete (entry name)
</td></tr>
731 <dl compact
><dt><b>Returns:
</b></dt><dd>void
</dd></dl>
732 If the given entry can be found, it is deleted from the dictionary.
</td>