ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / iniparser3.0b / html / iniparser_8h.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>iniparser: iniparser.h File Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.3 -->
8 <h1>iniparser.h File Reference</h1>Parser for ini files. <a href="#_details">More...</a>
9 <p>
10 <table border="0" cellpadding="0" cellspacing="0">
11 <tr><td></td></tr>
12 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
13 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#0b5d6cdc7587e2d27a30f5cdc4a91931">iniparser_getnsec</a> (dictionary *d)</td></tr>
14
15 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of sections in a dictionary.  <a href="#0b5d6cdc7587e2d27a30f5cdc4a91931"></a><br></td></tr>
16 <tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#393212be805f395bbfdeb1bafa8bb72a">iniparser_getsecname</a> (dictionary *d, int n)</td></tr>
17
18 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name for section n in a dictionary.  <a href="#393212be805f395bbfdeb1bafa8bb72a"></a><br></td></tr>
19 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#ece0e32de371c9e9592d8333f816dfac">iniparser_dump_ini</a> (dictionary *d, FILE *f)</td></tr>
20
21 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a dictionary to a loadable ini file.  <a href="#ece0e32de371c9e9592d8333f816dfac"></a><br></td></tr>
22 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#046436b3489cd8854ba8e29109250324">iniparser_dump</a> (dictionary *d, FILE *f)</td></tr>
23
24 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dump a dictionary to an opened file pointer.  <a href="#046436b3489cd8854ba8e29109250324"></a><br></td></tr>
25 <tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#7894f8480e1f254d4a1b4a31bdc51b46">iniparser_getstring</a> (dictionary *d, const char *key, char *def)</td></tr>
26
27 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the string associated to a key.  <a href="#7894f8480e1f254d4a1b4a31bdc51b46"></a><br></td></tr>
28 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#694eb1110f4200db8648820a0bb405fa">iniparser_getint</a> (dictionary *d, const char *key, int notfound)</td></tr>
29
30 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the string associated to a key, convert to an int.  <a href="#694eb1110f4200db8648820a0bb405fa"></a><br></td></tr>
31 <tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#480d35322f1252344cf2246ac21ee559">iniparser_getdouble</a> (dictionary *d, char *key, double notfound)</td></tr>
32
33 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the string associated to a key, convert to a double.  <a href="#480d35322f1252344cf2246ac21ee559"></a><br></td></tr>
34 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#eb93c13fcbb75efaa396f53bfd73ff4d">iniparser_getboolean</a> (dictionary *d, const char *key, int notfound)</td></tr>
35
36 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the string associated to a key, convert to a boolean.  <a href="#eb93c13fcbb75efaa396f53bfd73ff4d"></a><br></td></tr>
37 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#89d37d24721b68a3702f40505bd36985">iniparser_setstring</a> (dictionary *ini, char *entry, char *val)</td></tr>
38
39 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an entry in a dictionary.  <a href="#89d37d24721b68a3702f40505bd36985"></a><br></td></tr>
40 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#7b1a7f2492a35043867fa801b8f21e52">iniparser_unset</a> (dictionary *ini, char *entry)</td></tr>
41
42 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an entry in a dictionary.  <a href="#7b1a7f2492a35043867fa801b8f21e52"></a><br></td></tr>
43 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#3d67c98bbc0cb5239f024ad54bdc63f1">iniparser_find_entry</a> (dictionary *ini, char *entry)</td></tr>
44
45 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds out if a given entry exists in a dictionary.  <a href="#3d67c98bbc0cb5239f024ad54bdc63f1"></a><br></td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">dictionary *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#b0be559bfb769224b3f1b75e26242a67">iniparser_load</a> (const char *ininame)</td></tr>
47
48 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an ini file and return an allocated dictionary object.  <a href="#b0be559bfb769224b3f1b75e26242a67"></a><br></td></tr>
49 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="iniparser_8h.html#90549ee518523921886b74454ff872eb">iniparser_freedict</a> (dictionary *d)</td></tr>
50
51 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free all memory associated to an ini dictionary.  <a href="#90549ee518523921886b74454ff872eb"></a><br></td></tr>
52 </table>
53 <hr><a name="_details"></a><h2>Detailed Description</h2>
54 Parser for ini files. 
55 <p>
56 <dl class="author" compact><dt><b>Author:</b></dt><dd>N. Devillard </dd></dl>
57 <dl class="date" compact><dt><b>Date:</b></dt><dd>Sep 2007 </dd></dl>
58 <dl class="version" compact><dt><b>Version:</b></dt><dd>3.0 </dd></dl>
59 <hr><h2>Function Documentation</h2>
60 <a class="anchor" name="046436b3489cd8854ba8e29109250324"></a><!-- doxytag: member="iniparser.h::iniparser_dump" ref="046436b3489cd8854ba8e29109250324" args="(dictionary *d, FILE *f)" -->
61 <div class="memitem">
62 <div class="memproto">
63       <table class="memname">
64         <tr>
65           <td class="memname">void iniparser_dump           </td>
66           <td>(</td>
67           <td class="paramtype">dictionary *&nbsp;</td>
68           <td class="paramname"> <em>d</em>, </td>
69         </tr>
70         <tr>
71           <td class="paramkey"></td>
72           <td></td>
73           <td class="paramtype">FILE *&nbsp;</td>
74           <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
75         </tr>
76         <tr>
77           <td></td>
78           <td>)</td>
79           <td></td><td></td><td width="100%"></td>
80         </tr>
81       </table>
82 </div>
83 <div class="memdoc">
84
85 <p>
86 Dump a dictionary to an opened file pointer. 
87 <p>
88 <dl compact><dt><b>Parameters:</b></dt><dd>
89   <table border="0" cellspacing="2" cellpadding="0">
90     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to dump. </td></tr>
91     <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>Opened file pointer to dump to. </td></tr>
92   </table>
93 </dl>
94 <dl class="return" compact><dt><b>Returns:</b></dt><dd>void</dd></dl>
95 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. 
96 </div>
97 </div><p>
98 <a class="anchor" name="ece0e32de371c9e9592d8333f816dfac"></a><!-- doxytag: member="iniparser.h::iniparser_dump_ini" ref="ece0e32de371c9e9592d8333f816dfac" args="(dictionary *d, FILE *f)" -->
99 <div class="memitem">
100 <div class="memproto">
101       <table class="memname">
102         <tr>
103           <td class="memname">void iniparser_dump_ini           </td>
104           <td>(</td>
105           <td class="paramtype">dictionary *&nbsp;</td>
106           <td class="paramname"> <em>d</em>, </td>
107         </tr>
108         <tr>
109           <td class="paramkey"></td>
110           <td></td>
111           <td class="paramtype">FILE *&nbsp;</td>
112           <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
113         </tr>
114         <tr>
115           <td></td>
116           <td>)</td>
117           <td></td><td></td><td width="100%"></td>
118         </tr>
119       </table>
120 </div>
121 <div class="memdoc">
122
123 <p>
124 Save a dictionary to a loadable ini file. 
125 <p>
126 <dl compact><dt><b>Parameters:</b></dt><dd>
127   <table border="0" cellspacing="2" cellpadding="0">
128     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to dump </td></tr>
129     <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>Opened file pointer to dump to </td></tr>
130   </table>
131 </dl>
132 <dl class="return" compact><dt><b>Returns:</b></dt><dd>void</dd></dl>
133 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. 
134 </div>
135 </div><p>
136 <a class="anchor" name="3d67c98bbc0cb5239f024ad54bdc63f1"></a><!-- doxytag: member="iniparser.h::iniparser_find_entry" ref="3d67c98bbc0cb5239f024ad54bdc63f1" args="(dictionary *ini, char *entry)" -->
137 <div class="memitem">
138 <div class="memproto">
139       <table class="memname">
140         <tr>
141           <td class="memname">int iniparser_find_entry           </td>
142           <td>(</td>
143           <td class="paramtype">dictionary *&nbsp;</td>
144           <td class="paramname"> <em>ini</em>, </td>
145         </tr>
146         <tr>
147           <td class="paramkey"></td>
148           <td></td>
149           <td class="paramtype">char *&nbsp;</td>
150           <td class="paramname"> <em>entry</em></td><td>&nbsp;</td>
151         </tr>
152         <tr>
153           <td></td>
154           <td>)</td>
155           <td></td><td></td><td width="100%"></td>
156         </tr>
157       </table>
158 </div>
159 <div class="memdoc">
160
161 <p>
162 Finds out if a given entry exists in a dictionary. 
163 <p>
164 <dl compact><dt><b>Parameters:</b></dt><dd>
165   <table border="0" cellspacing="2" cellpadding="0">
166     <tr><td valign="top"></td><td valign="top"><em>ini</em>&nbsp;</td><td>Dictionary to search </td></tr>
167     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>Name of the entry to look for </td></tr>
168   </table>
169 </dl>
170 <dl class="return" compact><dt><b>Returns:</b></dt><dd>integer 1 if entry exists, 0 otherwise</dd></dl>
171 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. 
172 </div>
173 </div><p>
174 <a class="anchor" name="90549ee518523921886b74454ff872eb"></a><!-- doxytag: member="iniparser.h::iniparser_freedict" ref="90549ee518523921886b74454ff872eb" args="(dictionary *d)" -->
175 <div class="memitem">
176 <div class="memproto">
177       <table class="memname">
178         <tr>
179           <td class="memname">void iniparser_freedict           </td>
180           <td>(</td>
181           <td class="paramtype">dictionary *&nbsp;</td>
182           <td class="paramname"> <em>d</em>          </td>
183           <td>&nbsp;)&nbsp;</td>
184           <td width="100%"></td>
185         </tr>
186       </table>
187 </div>
188 <div class="memdoc">
189
190 <p>
191 Free all memory associated to an ini dictionary. 
192 <p>
193 <dl compact><dt><b>Parameters:</b></dt><dd>
194   <table border="0" cellspacing="2" cellpadding="0">
195     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to free </td></tr>
196   </table>
197 </dl>
198 <dl class="return" compact><dt><b>Returns:</b></dt><dd>void</dd></dl>
199 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. 
200 </div>
201 </div><p>
202 <a class="anchor" name="eb93c13fcbb75efaa396f53bfd73ff4d"></a><!-- doxytag: member="iniparser.h::iniparser_getboolean" ref="eb93c13fcbb75efaa396f53bfd73ff4d" args="(dictionary *d, const char *key, int notfound)" -->
203 <div class="memitem">
204 <div class="memproto">
205       <table class="memname">
206         <tr>
207           <td class="memname">int iniparser_getboolean           </td>
208           <td>(</td>
209           <td class="paramtype">dictionary *&nbsp;</td>
210           <td class="paramname"> <em>d</em>, </td>
211         </tr>
212         <tr>
213           <td class="paramkey"></td>
214           <td></td>
215           <td class="paramtype">const char *&nbsp;</td>
216           <td class="paramname"> <em>key</em>, </td>
217         </tr>
218         <tr>
219           <td class="paramkey"></td>
220           <td></td>
221           <td class="paramtype">int&nbsp;</td>
222           <td class="paramname"> <em>notfound</em></td><td>&nbsp;</td>
223         </tr>
224         <tr>
225           <td></td>
226           <td>)</td>
227           <td></td><td></td><td width="100%"></td>
228         </tr>
229       </table>
230 </div>
231 <div class="memdoc">
232
233 <p>
234 Get the string associated to a key, convert to a boolean. 
235 <p>
236 <dl compact><dt><b>Parameters:</b></dt><dd>
237   <table border="0" cellspacing="2" cellpadding="0">
238     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to search </td></tr>
239     <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key string to look for </td></tr>
240     <tr><td valign="top"></td><td valign="top"><em>notfound</em>&nbsp;</td><td>Value to return in case of error </td></tr>
241   </table>
242 </dl>
243 <dl class="return" compact><dt><b>Returns:</b></dt><dd>integer</dd></dl>
244 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>
245 A true boolean is found if one of the following is matched:<p>
246 <ul>
247 <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>
248 <p>
249 A false boolean is found if one of the following is matched:<p>
250 <ul>
251 <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>
252 <p>
253 The notfound value returned if no boolean is identified, does not necessarily have to be 0 or 1. 
254 </div>
255 </div><p>
256 <a class="anchor" name="480d35322f1252344cf2246ac21ee559"></a><!-- doxytag: member="iniparser.h::iniparser_getdouble" ref="480d35322f1252344cf2246ac21ee559" args="(dictionary *d, char *key, double notfound)" -->
257 <div class="memitem">
258 <div class="memproto">
259       <table class="memname">
260         <tr>
261           <td class="memname">double iniparser_getdouble           </td>
262           <td>(</td>
263           <td class="paramtype">dictionary *&nbsp;</td>
264           <td class="paramname"> <em>d</em>, </td>
265         </tr>
266         <tr>
267           <td class="paramkey"></td>
268           <td></td>
269           <td class="paramtype">char *&nbsp;</td>
270           <td class="paramname"> <em>key</em>, </td>
271         </tr>
272         <tr>
273           <td class="paramkey"></td>
274           <td></td>
275           <td class="paramtype">double&nbsp;</td>
276           <td class="paramname"> <em>notfound</em></td><td>&nbsp;</td>
277         </tr>
278         <tr>
279           <td></td>
280           <td>)</td>
281           <td></td><td></td><td width="100%"></td>
282         </tr>
283       </table>
284 </div>
285 <div class="memdoc">
286
287 <p>
288 Get the string associated to a key, convert to a double. 
289 <p>
290 <dl compact><dt><b>Parameters:</b></dt><dd>
291   <table border="0" cellspacing="2" cellpadding="0">
292     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to search </td></tr>
293     <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key string to look for </td></tr>
294     <tr><td valign="top"></td><td valign="top"><em>notfound</em>&nbsp;</td><td>Value to return in case of error </td></tr>
295   </table>
296 </dl>
297 <dl class="return" compact><dt><b>Returns:</b></dt><dd>double</dd></dl>
298 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. 
299 </div>
300 </div><p>
301 <a class="anchor" name="694eb1110f4200db8648820a0bb405fa"></a><!-- doxytag: member="iniparser.h::iniparser_getint" ref="694eb1110f4200db8648820a0bb405fa" args="(dictionary *d, const char *key, int notfound)" -->
302 <div class="memitem">
303 <div class="memproto">
304       <table class="memname">
305         <tr>
306           <td class="memname">int iniparser_getint           </td>
307           <td>(</td>
308           <td class="paramtype">dictionary *&nbsp;</td>
309           <td class="paramname"> <em>d</em>, </td>
310         </tr>
311         <tr>
312           <td class="paramkey"></td>
313           <td></td>
314           <td class="paramtype">const char *&nbsp;</td>
315           <td class="paramname"> <em>key</em>, </td>
316         </tr>
317         <tr>
318           <td class="paramkey"></td>
319           <td></td>
320           <td class="paramtype">int&nbsp;</td>
321           <td class="paramname"> <em>notfound</em></td><td>&nbsp;</td>
322         </tr>
323         <tr>
324           <td></td>
325           <td>)</td>
326           <td></td><td></td><td width="100%"></td>
327         </tr>
328       </table>
329 </div>
330 <div class="memdoc">
331
332 <p>
333 Get the string associated to a key, convert to an int. 
334 <p>
335 <dl compact><dt><b>Parameters:</b></dt><dd>
336   <table border="0" cellspacing="2" cellpadding="0">
337     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to search </td></tr>
338     <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key string to look for </td></tr>
339     <tr><td valign="top"></td><td valign="top"><em>notfound</em>&nbsp;</td><td>Value to return in case of error </td></tr>
340   </table>
341 </dl>
342 <dl class="return" compact><dt><b>Returns:</b></dt><dd>integer</dd></dl>
343 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>
344 Supported values for integers include the usual C notation so decimal, octal (starting with 0) and hexadecimal (starting with 0x) are supported. Examples:<p>
345 <ul>
346 <li>"42" -&gt; 42</li><li>"042" -&gt; 34 (octal -&gt; decimal)</li><li>"0x42" -&gt; 66 (hexa -&gt; decimal)</li></ul>
347 <p>
348 Warning: the conversion may overflow in various ways. Conversion is totally outsourced to strtol(), see the associated man page for overflow handling.<p>
349 Credits: Thanks to A. Becker for suggesting strtol() 
350 </div>
351 </div><p>
352 <a class="anchor" name="0b5d6cdc7587e2d27a30f5cdc4a91931"></a><!-- doxytag: member="iniparser.h::iniparser_getnsec" ref="0b5d6cdc7587e2d27a30f5cdc4a91931" args="(dictionary *d)" -->
353 <div class="memitem">
354 <div class="memproto">
355       <table class="memname">
356         <tr>
357           <td class="memname">int iniparser_getnsec           </td>
358           <td>(</td>
359           <td class="paramtype">dictionary *&nbsp;</td>
360           <td class="paramname"> <em>d</em>          </td>
361           <td>&nbsp;)&nbsp;</td>
362           <td width="100%"></td>
363         </tr>
364       </table>
365 </div>
366 <div class="memdoc">
367
368 <p>
369 Get number of sections in a dictionary. 
370 <p>
371 <dl compact><dt><b>Parameters:</b></dt><dd>
372   <table border="0" cellspacing="2" cellpadding="0">
373     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to examine </td></tr>
374   </table>
375 </dl>
376 <dl class="return" compact><dt><b>Returns:</b></dt><dd>int Number of sections found in dictionary</dd></dl>
377 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>
378 This clearly fails in the case a section name contains a colon, but this should simply be avoided.<p>
379 This function returns -1 in case of error. 
380 </div>
381 </div><p>
382 <a class="anchor" name="393212be805f395bbfdeb1bafa8bb72a"></a><!-- doxytag: member="iniparser.h::iniparser_getsecname" ref="393212be805f395bbfdeb1bafa8bb72a" args="(dictionary *d, int n)" -->
383 <div class="memitem">
384 <div class="memproto">
385       <table class="memname">
386         <tr>
387           <td class="memname">char* iniparser_getsecname           </td>
388           <td>(</td>
389           <td class="paramtype">dictionary *&nbsp;</td>
390           <td class="paramname"> <em>d</em>, </td>
391         </tr>
392         <tr>
393           <td class="paramkey"></td>
394           <td></td>
395           <td class="paramtype">int&nbsp;</td>
396           <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
397         </tr>
398         <tr>
399           <td></td>
400           <td>)</td>
401           <td></td><td></td><td width="100%"></td>
402         </tr>
403       </table>
404 </div>
405 <div class="memdoc">
406
407 <p>
408 Get name for section n in a dictionary. 
409 <p>
410 <dl compact><dt><b>Parameters:</b></dt><dd>
411   <table border="0" cellspacing="2" cellpadding="0">
412     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to examine </td></tr>
413     <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>Section number (from 0 to nsec-1). </td></tr>
414   </table>
415 </dl>
416 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to char string</dd></dl>
417 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>
418 This function returns NULL in case of error. 
419 </div>
420 </div><p>
421 <a class="anchor" name="7894f8480e1f254d4a1b4a31bdc51b46"></a><!-- doxytag: member="iniparser.h::iniparser_getstring" ref="7894f8480e1f254d4a1b4a31bdc51b46" args="(dictionary *d, const char *key, char *def)" -->
422 <div class="memitem">
423 <div class="memproto">
424       <table class="memname">
425         <tr>
426           <td class="memname">char* iniparser_getstring           </td>
427           <td>(</td>
428           <td class="paramtype">dictionary *&nbsp;</td>
429           <td class="paramname"> <em>d</em>, </td>
430         </tr>
431         <tr>
432           <td class="paramkey"></td>
433           <td></td>
434           <td class="paramtype">const char *&nbsp;</td>
435           <td class="paramname"> <em>key</em>, </td>
436         </tr>
437         <tr>
438           <td class="paramkey"></td>
439           <td></td>
440           <td class="paramtype">char *&nbsp;</td>
441           <td class="paramname"> <em>def</em></td><td>&nbsp;</td>
442         </tr>
443         <tr>
444           <td></td>
445           <td>)</td>
446           <td></td><td></td><td width="100%"></td>
447         </tr>
448       </table>
449 </div>
450 <div class="memdoc">
451
452 <p>
453 Get the string associated to a key. 
454 <p>
455 <dl compact><dt><b>Parameters:</b></dt><dd>
456   <table border="0" cellspacing="2" cellpadding="0">
457     <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>Dictionary to search </td></tr>
458     <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key string to look for </td></tr>
459     <tr><td valign="top"></td><td valign="top"><em>def</em>&nbsp;</td><td>Default value to return if key not found. </td></tr>
460   </table>
461 </dl>
462 <dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to statically allocated character string</dd></dl>
463 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. 
464 </div>
465 </div><p>
466 <a class="anchor" name="b0be559bfb769224b3f1b75e26242a67"></a><!-- doxytag: member="iniparser.h::iniparser_load" ref="b0be559bfb769224b3f1b75e26242a67" args="(const char *ininame)" -->
467 <div class="memitem">
468 <div class="memproto">
469       <table class="memname">
470         <tr>
471           <td class="memname">dictionary* iniparser_load           </td>
472           <td>(</td>
473           <td class="paramtype">const char *&nbsp;</td>
474           <td class="paramname"> <em>ininame</em>          </td>
475           <td>&nbsp;)&nbsp;</td>
476           <td width="100%"></td>
477         </tr>
478       </table>
479 </div>
480 <div class="memdoc">
481
482 <p>
483 Parse an ini file and return an allocated dictionary object. 
484 <p>
485 <dl compact><dt><b>Parameters:</b></dt><dd>
486   <table border="0" cellspacing="2" cellpadding="0">
487     <tr><td valign="top"></td><td valign="top"><em>ininame</em>&nbsp;</td><td>Name of the ini file to read. </td></tr>
488   </table>
489 </dl>
490 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to newly allocated dictionary</dd></dl>
491 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>
492 The returned dictionary must be freed using <a class="el" href="iniparser_8h.html#90549ee518523921886b74454ff872eb" title="Free all memory associated to an ini dictionary.">iniparser_freedict()</a>. 
493 </div>
494 </div><p>
495 <a class="anchor" name="89d37d24721b68a3702f40505bd36985"></a><!-- doxytag: member="iniparser.h::iniparser_setstring" ref="89d37d24721b68a3702f40505bd36985" args="(dictionary *ini, char *entry, char *val)" -->
496 <div class="memitem">
497 <div class="memproto">
498       <table class="memname">
499         <tr>
500           <td class="memname">int iniparser_setstring           </td>
501           <td>(</td>
502           <td class="paramtype">dictionary *&nbsp;</td>
503           <td class="paramname"> <em>ini</em>, </td>
504         </tr>
505         <tr>
506           <td class="paramkey"></td>
507           <td></td>
508           <td class="paramtype">char *&nbsp;</td>
509           <td class="paramname"> <em>entry</em>, </td>
510         </tr>
511         <tr>
512           <td class="paramkey"></td>
513           <td></td>
514           <td class="paramtype">char *&nbsp;</td>
515           <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
516         </tr>
517         <tr>
518           <td></td>
519           <td>)</td>
520           <td></td><td></td><td width="100%"></td>
521         </tr>
522       </table>
523 </div>
524 <div class="memdoc">
525
526 <p>
527 Set an entry in a dictionary. 
528 <p>
529 <dl compact><dt><b>Parameters:</b></dt><dd>
530   <table border="0" cellspacing="2" cellpadding="0">
531     <tr><td valign="top"></td><td valign="top"><em>ini</em>&nbsp;</td><td>Dictionary to modify. </td></tr>
532     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>Entry to modify (entry name) </td></tr>
533     <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>New value to associate to the entry. </td></tr>
534   </table>
535 </dl>
536 <dl class="return" compact><dt><b>Returns:</b></dt><dd>int 0 if Ok, -1 otherwise.</dd></dl>
537 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. 
538 </div>
539 </div><p>
540 <a class="anchor" name="7b1a7f2492a35043867fa801b8f21e52"></a><!-- doxytag: member="iniparser.h::iniparser_unset" ref="7b1a7f2492a35043867fa801b8f21e52" args="(dictionary *ini, char *entry)" -->
541 <div class="memitem">
542 <div class="memproto">
543       <table class="memname">
544         <tr>
545           <td class="memname">void iniparser_unset           </td>
546           <td>(</td>
547           <td class="paramtype">dictionary *&nbsp;</td>
548           <td class="paramname"> <em>ini</em>, </td>
549         </tr>
550         <tr>
551           <td class="paramkey"></td>
552           <td></td>
553           <td class="paramtype">char *&nbsp;</td>
554           <td class="paramname"> <em>entry</em></td><td>&nbsp;</td>
555         </tr>
556         <tr>
557           <td></td>
558           <td>)</td>
559           <td></td><td></td><td width="100%"></td>
560         </tr>
561       </table>
562 </div>
563 <div class="memdoc">
564
565 <p>
566 Delete an entry in a dictionary. 
567 <p>
568 <dl compact><dt><b>Parameters:</b></dt><dd>
569   <table border="0" cellspacing="2" cellpadding="0">
570     <tr><td valign="top"></td><td valign="top"><em>ini</em>&nbsp;</td><td>Dictionary to modify </td></tr>
571     <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>Entry to delete (entry name) </td></tr>
572   </table>
573 </dl>
574 <dl class="return" compact><dt><b>Returns:</b></dt><dd>void</dd></dl>
575 If the given entry can be found, it is deleted from the dictionary. 
576 </div>
577 </div><p>
578 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 3 19:45:34 2008 for iniparser by&nbsp;
579 <a href="http://www.doxygen.org/index.html">
580 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
581 </body>
582 </html>