/
githubmirror
/
libeconf
Обзор
Документация
Войти
/
githubmirror
/
libeconf
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
docs/libeconf_8h_source.html
450 строк
102 KB
Stefan Schubert
update docu
27 апр 2026, 15:03
27 апр 2026, 15:03
a9d0c3d
Код
Авторство
О чём код?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=11"/> <meta name="generator" content="Doxygen 1.14.0"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libeconf: include/libeconf.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <script type="text/javascript" src="clipboard.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="cookie.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr id="projectrow"> <td id="projectalign"> <div id="projectname">libeconf<span id="projectnumber"> 0.8.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.14.0 --> <script type="text/javascript"> $(function() { codefold.init(); }); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search',true); }); </script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(function(){initNavTree('libeconf_8h_source.html','',''); }); </script> <div id="container"> <div id="doc-content"> <div class="header"> <div class="headertitle"><div class="title">libeconf.h</div></div> </div><!--header--> <div class="contents"> <a href="libeconf_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div> <div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> Copyright (C) 2019 SUSE LLC</span></div> <div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> Author: Pascal Arlt <parlt@suse.com></span></div> <div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div> <div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> Permission is hereby granted, free of charge, to any person obtaining a copy</span></div> <div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> of this software and associated documentation files (the "Software"), to deal</span></div> <div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> in the Software without restriction, including without limitation the rights</span></div> <div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div> <div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> copies of the Software, and to permit persons to whom the Software is</span></div> <div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> furnished to do so, subject to the following conditions:</span></div> <div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"></span> </div> <div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> The above copyright notice and this permission notice shall be included in all</span></div> <div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> copies or substantial portions of the Software.</span></div> <div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"></span> </div> <div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div> <div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div> <div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div> <div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div> <div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div> <div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div> <div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> SOFTWARE.</span></div> <div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">*/</span></div> <div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div> <div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#pragma once</span></div> <div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span></div> <div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div> <div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <stdbool.h></span></div> <div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include <stdint.h></span></div> <div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include <stdlib.h></span></div> <div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include <sys/types.h></span></div> <div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div> <div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#endif</span></div> <div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span></div> <div class="foldopen" id="foldopen00041" data-start="{" data-end="};"> <div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a"> 41</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> {</div> <div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aafe011d1ce92a3b4c1e8c172c8c3a9604"> 43</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aafe011d1ce92a3b4c1e8c172c8c3a9604">ECONF_SUCCESS</a> = 0,</div> <div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaf17cead6d4a9e4bd46bf07dd14476fb2"> 45</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaf17cead6d4a9e4bd46bf07dd14476fb2">ECONF_ERROR</a> = 1,</div> <div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa1d7757fbcf5df49ba92c9a436d3bff33"> 47</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa1d7757fbcf5df49ba92c9a436d3bff33">ECONF_NOMEM</a> = 2,</div> <div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aad48f6a68474df566c7676ce325380b7f"> 49</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aad48f6a68474df566c7676ce325380b7f">ECONF_NOFILE</a> = 3,</div> <div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa2eb2ee8b0ffb2cd4c0829944af1168a1"> 51</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa2eb2ee8b0ffb2cd4c0829944af1168a1">ECONF_NOGROUP</a> = 4,</div> <div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aac3909d9fd9bdac53e1e8b2b80c470eb0"> 53</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aac3909d9fd9bdac53e1e8b2b80c470eb0">ECONF_NOKEY</a> = 5,</div> <div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaf3119f73c97a08fd08e2dfbc3d42493c"> 55</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaf3119f73c97a08fd08e2dfbc3d42493c">ECONF_EMPTYKEY</a> = 6,</div> <div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaa0542bb798322dd272fe66411b0ede6c"> 57</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaa0542bb798322dd272fe66411b0ede6c">ECONF_WRITEERROR</a> = 7,</div> <div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa6df088da6aad41d83acc2b6060acb7fe"> 59</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa6df088da6aad41d83acc2b6060acb7fe">ECONF_PARSE_ERROR</a> = 8,</div> <div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaaf3716ec7b6faf6a0183007060c2ac16"> 61</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaaf3716ec7b6faf6a0183007060c2ac16">ECONF_MISSING_BRACKET</a> = 9,</div> <div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aacd662d9a8a5249d344bc716517a5506f"> 63</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aacd662d9a8a5249d344bc716517a5506f">ECONF_MISSING_DELIMITER</a> = 10,</div> <div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa8bffb248bd0e7fbfe09f404ec73ffeb6"> 65</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa8bffb248bd0e7fbfe09f404ec73ffeb6">ECONF_EMPTY_SECTION_NAME</a> = 11,</div> <div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa5af88d2cd68517701b2d8b9c34fbb4a0"> 67</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa5af88d2cd68517701b2d8b9c34fbb4a0">ECONF_TEXT_AFTER_SECTION</a> = 12,</div> <div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa1635184e73c0a6d522d82bba0abd0e4a"> 69</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa1635184e73c0a6d522d82bba0abd0e4a">ECONF_FILE_LIST_IS_NULL</a> = 13,</div> <div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa4725ff7773c2b5a9d703460f1ca070f4"> 71</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa4725ff7773c2b5a9d703460f1ca070f4">ECONF_WRONG_BOOLEAN_VALUE</a> = 14,</div> <div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaa7f3b09e2b8a627f11f4df6e745103c9"> 73</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaa7f3b09e2b8a627f11f4df6e745103c9">ECONF_KEY_HAS_NULL_VALUE</a> = 15,</div> <div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aae8f9a6e81d529822968f1af70c9b1946"> 75</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aae8f9a6e81d529822968f1af70c9b1946">ECONF_WRONG_OWNER</a> = 16,</div> <div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aab28f4a0d53a21a1f0ed21fe8601a6d14"> 77</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aab28f4a0d53a21a1f0ed21fe8601a6d14">ECONF_WRONG_GROUP</a> = 17,</div> <div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa768ba4de0c5ba47154dba9dc4a26cb84"> 79</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa768ba4de0c5ba47154dba9dc4a26cb84">ECONF_WRONG_FILE_PERMISSION</a> = 18,</div> <div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aac04246deccfe0075cc58956c543fa408"> 81</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aac04246deccfe0075cc58956c543fa408">ECONF_WRONG_DIR_PERMISSION</a> = 19,</div> <div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aab09de6a0a65f054a6c542151a675e241"> 83</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aab09de6a0a65f054a6c542151a675e241">ECONF_ERROR_FILE_IS_SYM_LINK</a> = 20,</div> <div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa6b9c2f2cdbbf94dbaabfa42e3425deb4"> 85</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa6b9c2f2cdbbf94dbaabfa42e3425deb4">ECONF_PARSING_CALLBACK_FAILED</a> = 21,</div> <div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa85a26e85a81e96c384691d7201d3db60"> 87</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa85a26e85a81e96c384691d7201d3db60">ECONF_ARGUMENT_IS_NULL_VALUE</a> = 22,</div> <div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa88d2df1070c604a0d5ebc233126a805e"> 89</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa88d2df1070c604a0d5ebc233126a805e">ECONF_OPTION_NOT_FOUND</a> = 23,</div> <div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa164ca0fcef7be06bac2c681a0dd97ba6"> 91</a></span> <a class="code hl_enumvalue" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa164ca0fcef7be06bac2c681a0dd97ba6">ECONF_VALUE_CONVERSION_ERROR</a> = 24</div> <div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>};</div> </div> <div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div> <div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a48fef14efd7e0751b5794e0f307f7869"> 94</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a>;</div> <div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span></div> <div class="foldopen" id="foldopen00106" data-start="" data-end=""> <div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a65b4282db33b845e3ce644ee6a2219c8"> 106</a></span><span class="preprocessor">#define econf_setValue(kf, group, key, value) (( \</span></div> <div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="preprocessor"> _Generic((value), \</span></div> <div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor"> int: econf_setIntValue, \</span></div> <div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="preprocessor"> long: econf_setInt64Value, \</span></div> <div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor"> unsigned int: econf_setUIntValue, \</span></div> <div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="preprocessor"> unsigned long: econf_setUInt64Value, \</span></div> <div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor"> float: econf_setFloatValue, \</span></div> <div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"> double: econf_setDoubleValue, \</span></div> <div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="preprocessor"> char*: econf_setStringValue, void*: econf_setStringValue)) \</span></div> <div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="preprocessor">(kf, group, key, value))</span></div> </div> <div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span></div> <div class="foldopen" id="foldopen00123" data-start="" data-end=""> <div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a27a9d78ae827ef885a4373fa591ded73"> 123</a></span><span class="preprocessor">#define econf_free(value) (( \</span></div> <div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor"> _Generic((value), \</span></div> <div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="preprocessor"> econf_file*: econf_freeFile , \</span></div> <div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="preprocessor"> char**: econf_freeArray)) \</span></div> <div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="preprocessor">(value))</span></div> </div> <div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div> <div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735"> 129</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> <a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a>;</div> <div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span></div> <div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="libeconf_8h.html#aa03377bd02882239b3342c095f916561"> 155</a></span><span class="keyword">extern</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#aa03377bd02882239b3342c095f916561">econf_readFile</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **result, <span class="keyword">const</span> <span class="keywordtype">char</span> *file_name,</div> <div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *delim, <span class="keyword">const</span> <span class="keywordtype">char</span> *comment);</div> <div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span></div> <div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a6bf61969ee7ea191fdd28b0c8de5761d"> 198</a></span><span class="keyword">extern</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a6bf61969ee7ea191fdd28b0c8de5761d">econf_readFileWithCallback</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **result, <span class="keyword">const</span> <span class="keywordtype">char</span> *file_name,</div> <div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *delim, <span class="keyword">const</span> <span class="keywordtype">char</span> *comment,</div> <div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordtype">bool</span> (*callback)(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keyword">const</span> <span class="keywordtype">void</span> *data),</div> <div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">const</span> <span class="keywordtype">void</span> *callback_data);</div> <div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span></div> <div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="keyword">extern</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a2aba75b3474b33173edbc0f80b2e8a79">econf_mergeFiles</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **merged_file,</div> <div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *usr_file, <a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *etc_file);</div> <div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div> <div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span></div> <div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="keyword">extern</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a0ed2af8bb1d8f4563a9ac5c83a798881">econf_readConfig</a> (<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **key_file,</div> <div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *project,</div> <div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *usr_subdir,</div> <div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *config_name,</div> <div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *config_suffix,</div> <div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *delim,</div> <div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *comment);</div> <div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span></div> <div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span><span class="keyword">extern</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#ace4ad5a9fd48b5efae40d683d14cf313">econf_readConfigWithCallback</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **key_file,</div> <div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *project,</div> <div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *usr_subdir,</div> <div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *config_name,</div> <div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *config_suffix,</div> <div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *delim,</div> <div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *comment,</div> <div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> <span class="keywordtype">bool</span> (*callback)(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keyword">const</span> <span class="keywordtype">void</span> *data),</div> <div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <span class="keyword">const</span> <span class="keywordtype">void</span> *callback_data);</div> <div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> </div> <div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span></div> <div class="line"><a id="l00496" name="l00496"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a42f74209e586b194b1f966f5381ce827"> 496</a></span><span class="keyword">extern</span> <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> __attribute__ ((deprecated(<span class="stringliteral">"Use the econf_readConfig/econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span><a class="code hl_function" href="libeconf_8h.html#a42f74209e586b194b1f966f5381ce827">econf_readDirs</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **key_file,</div> <div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> const <span class="keywordtype">char</span> *usr_conf_dir,</div> <div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> const <span class="keywordtype">char</span> *etc_conf_dir,</div> <div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> const <span class="keywordtype">char</span> *config_name,</div> <div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> const <span class="keywordtype">char</span> *config_suffix,</div> <div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> const <span class="keywordtype">char</span> *delim,</div> <div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> const <span class="keywordtype">char</span> *comment);</div> <div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span></div> <div class="line"><a id="l00551" name="l00551"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a910efcd721aa9a2cdbafeb187479a923"> 551</a></span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> __attribute__ ((deprecated(<span class="stringliteral">"Use the econf_readConfig/econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span><a class="code hl_function" href="libeconf_8h.html#a910efcd721aa9a2cdbafeb187479a923">econf_readDirsWithCallback</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **key_file,</div> <div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> const <span class="keywordtype">char</span> *usr_conf_dir,</div> <div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> const <span class="keywordtype">char</span> *etc_conf_dir,</div> <div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> const <span class="keywordtype">char</span> *config_name,</div> <div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> const <span class="keywordtype">char</span> *config_suffix,</div> <div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> const <span class="keywordtype">char</span> *delim,</div> <div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> const <span class="keywordtype">char</span> *comment,</div> <div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordtype">bool</span> (*callback)(const <span class="keywordtype">char</span> *filename, const <span class="keywordtype">void</span> *data),</div> <div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> const <span class="keywordtype">void</span> *callback_data);</div> <div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span></div> <div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a64407a0ea75bbfb09d0af8fdb991c40b">econf_readDirsHistory</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> ***key_files,</div> <div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">size_t</span> *size,</div> <div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> const <span class="keywordtype">char</span> *usr_conf_dir,</div> <div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> const <span class="keywordtype">char</span> *etc_conf_dir,</div> <div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> const <span class="keywordtype">char</span> *config_name,</div> <div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> const <span class="keywordtype">char</span> *config_suffix,</div> <div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> const <span class="keywordtype">char</span> *delim,</div> <div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> const <span class="keywordtype">char</span> *comment);</div> <div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span></div> <div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a3e99ddefa0267f8c9f7bf04a44968f93">econf_readDirsHistoryWithCallback</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> ***key_files,</div> <div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">size_t</span> *size,</div> <div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> const <span class="keywordtype">char</span> *usr_conf_dir,</div> <div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> const <span class="keywordtype">char</span> *etc_conf_dir,</div> <div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> const <span class="keywordtype">char</span> *config_name,</div> <div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> const <span class="keywordtype">char</span> *config_suffix,</div> <div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> const <span class="keywordtype">char</span> *delim,</div> <div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> const <span class="keywordtype">char</span> *comment,</div> <div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> <span class="keywordtype">bool</span> (*callback)(const <span class="keywordtype">char</span> *filename, const <span class="keywordtype">void</span> *data),</div> <div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> const <span class="keywordtype">void</span> *callback_data);</div> <div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span></div> <div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a94f42f580d8c9dff8cdb01a5c91bb5ec">econf_newKeyFile</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **result, <span class="keywordtype">char</span> delimiter, <span class="keywordtype">char</span> comment);</div> <div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span></div> <div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a6bc0961dd90471bebae2f606d3db972d">econf_newKeyFile_with_options</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **result, const <span class="keywordtype">char</span> *options);</div> <div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span></div> <div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a0b7c823419269683749a7394e776b22c">econf_newIniFile</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **result);</div> <div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span></div> <div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span>extern <span class="keywordtype">char</span> <a class="code hl_function" href="libeconf_8h.html#a5d24ab3c1515a2a0cf4668221a0ee6f7">econf_comment_tag</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *key_file);</div> <div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span></div> <div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span>extern <span class="keywordtype">char</span> <a class="code hl_function" href="libeconf_8h.html#a2fa45814606cac4dc4abdfe462f8ee70">econf_delimiter_tag</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *key_file);</div> <div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span></div> <div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span>extern <span class="keywordtype">void</span> <a class="code hl_function" href="libeconf_8h.html#a1dc59b13a0293943b10dfc09e6daba09">econf_set_comment_tag</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *key_file, const <span class="keywordtype">char</span> comment);</div> <div class="line"><a id="l00725" name="l00725"></a><span class="lineno"> 725</span></div> <div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span>extern <span class="keywordtype">void</span> <a class="code hl_function" href="libeconf_8h.html#aa14d17dc8e3ebc26e155ceb2d497ad14">econf_set_delimiter_tag</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *key_file, const <span class="keywordtype">char</span> delimiter);</div> <div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span></div> <div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a5f1e5a7c748ef9147fc7d16604904171">econf_writeFile</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *key_file, const <span class="keywordtype">char</span> *save_to_dir,</div> <div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> const <span class="keywordtype">char</span> *file_name);</div> <div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span> </div> <div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span><span class="comment">/* --------------- */</span></div> <div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span><span class="comment">/* --- GETTERS --- */</span></div> <div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span><span class="comment">/* --------------- */</span></div> <div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span></div> <div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span>extern <span class="keywordtype">char</span> *<a class="code hl_function" href="libeconf_8h.html#aeabac456f1ceda392b616bb851dc6082">econf_getPath</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf);</div> <div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span></div> <div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#aa9f93a7e119c37ee3a49d1ad11936533">econf_getGroups</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, <span class="keywordtype">size_t</span> *length, <span class="keywordtype">char</span> ***groups);</div> <div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span></div> <div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#afa58b02e97241c5e8d778f40b04731b7">econf_getKeys</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, <span class="keywordtype">size_t</span> *length, <span class="keywordtype">char</span> ***keys);</div> <div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span></div> <div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#acdf4785ef2a5b411fdb4f63ea5b05fbc">econf_getIntValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, int32_t *result);</div> <div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span></div> <div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a80f117888ae88f796ba8785294ee76cd">econf_getInt64Value</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, int64_t *result);</div> <div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span></div> <div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#af9ebb2c80265505d7fec80bc3ba08f06">econf_getUIntValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, uint32_t *result);</div> <div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span></div> <div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a413472061e0ed9897eac190d4f3b30b2">econf_getUInt64Value</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, uint64_t *result);</div> <div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span></div> <div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a56c631b316987132609b07b1e6df6e18">econf_getFloatValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">float</span> *result);</div> <div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span></div> <div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#ad082e9c8bd148f6e984b6179b1c64ae9">econf_getDoubleValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">double</span> *result);</div> <div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span></div> <div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#abfe33ab2f7b5259cda5b71d488f46ab0">econf_getStringValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">char</span> **result);</div> <div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span></div> <div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a76c652840d8dfcc03de8113a7cfebc13">econf_getBoolValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">bool</span> *result);</div> <div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span></div> <div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#af6fc2727600785ecb4b1cb6652231ce6">econf_getIntValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, int32_t *result, const int32_t def);</div> <div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span></div> <div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a0e25d09069dd273119c0549b3e81f5c9">econf_getInt64ValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, int64_t *result, const int64_t def);</div> <div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span></div> <div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a34204abad15dee193af27d6368e8fffe">econf_getUIntValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, uint32_t *result, const uint32_t def);</div> <div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span></div> <div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#ad05f83477777820e3af4b6b1b96c31b0">econf_getUInt64ValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, uint64_t *result, const uint64_t def);</div> <div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span></div> <div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#aecd3ff6d01bc8dae14eb0717a6f4963e">econf_getFloatValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">float</span> *result, const <span class="keywordtype">float</span> def);</div> <div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span></div> <div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a2e2059c7f8d77adc964356c9af1600a4">econf_getDoubleValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">double</span> *result, const <span class="keywordtype">double</span> def);</div> <div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span></div> <div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#aca086c8a60b7d14c2d3fdf06460aab1c">econf_getStringValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">char</span> **result, const <span class="keywordtype">char</span> *def);</div> <div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span></div> <div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#af6b9d3d3880b432f255ef35928938ef6">econf_getBoolValueDef</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">bool</span> *result, const <span class="keywordtype">bool</span> def);</div> <div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> </div> <div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span><span class="comment">/* --------------- */</span></div> <div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span><span class="comment">/* --- SETTERS --- */</span></div> <div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span><span class="comment">/* --------------- */</span></div> <div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span></div> <div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a9eba99cc942620012cd76d7fd487c599">econf_setIntValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, int32_t value);</div> <div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span></div> <div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a2fe1e47b604fa259e1fd879bbdc0a347">econf_setInt64Value</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, int64_t value);</div> <div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span></div> <div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a43baa061fcd4f770e2d8e12d3ee58f6e">econf_setUIntValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, uint32_t value);</div> <div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span></div> <div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a0e4050978c3ed94332f8e82862fa4b62">econf_setUInt64Value</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, uint64_t value);</div> <div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span></div> <div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a836b5196842a134fc370c7bc24ffefcb">econf_setFloatValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">float</span> value);</div> <div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span></div> <div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a1ba57afda092a5a591f3cbc14a00caf6">econf_setDoubleValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, <span class="keywordtype">double</span> value);</div> <div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span></div> <div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a808d966041916c3de263a79a6b4983c5">econf_setStringValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, const <span class="keywordtype">char</span> *value);</div> <div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span></div> <div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> <a class="code hl_function" href="libeconf_8h.html#a3f873713848631a5ded240479af96de4">econf_setBoolValue</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *kf, const <span class="keywordtype">char</span> *group, const <span class="keywordtype">char</span> *key, const <span class="keywordtype">char</span> *value);</div> <div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> </div> <div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span><span class="comment">/* --------------- */</span></div> <div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span><span class="comment">/* --- HELPERS --- */</span></div> <div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span><span class="comment">/* --------------- */</span></div> <div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span></div> <div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span>extern const <span class="keywordtype">char</span> *<a class="code hl_function" href="libeconf_8h.html#a1a78a570d9d947cebf347bf9e41a6637">econf_errString</a> (const <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> error);</div> <div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span></div> <div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span>extern <span class="keywordtype">void</span> <a class="code hl_function" href="libeconf_8h.html#adc459d1dfa9096425d4f248b04669761">econf_errLocation</a> (<span class="keywordtype">char</span> **filename, uint64_t *line_nr);</div> <div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span></div> <div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span>extern <span class="keywordtype">char</span> **<a class="code hl_function" href="libeconf_8h.html#ac7076da6784af251dc166461bd3ba40a">econf_freeArray</a>(<span class="keywordtype">char</span> **array);</div> <div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> </div> <div class="foldopen" id="foldopen01093" data-start="{" data-end="}"> <div class="line"><a id="l01093" name="l01093"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a411af7792e1d014566efdcff1e1eafc0"> 1093</a></span><span class="comment">/* helper so that __attribute__((cleanup(econf_freeArrayp)) may be used */</span></div> <div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span>static __inline__ <span class="keywordtype">void</span> <a class="code hl_function" href="libeconf_8h.html#a411af7792e1d014566efdcff1e1eafc0">econf_freeArrayp</a>(<span class="keywordtype">char</span> ***array) {</div> <div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">if</span> (*array)</div> <div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> *array = <a class="code hl_function" href="libeconf_8h.html#ac7076da6784af251dc166461bd3ba40a">econf_freeArray</a>(*array);</div> </div> <div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span>}</div> <div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span></div> <div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span><span class="keyword">extern</span> <a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *<a class="code hl_function" href="libeconf_8h.html#a3bdb79dab514bb4f51c610bc028d54f4">econf_freeFile</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> *key_file);</div> <div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> </div> <div class="foldopen" id="foldopen01111" data-start="{" data-end="}"> <div class="line"><a id="l01111" name="l01111"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a9e75bcdee979ef8a6584f3553202aa17"> 1111</a></span><span class="comment">/* helper so that __attribute__((cleanup(econf_freeFilep)) may be used */</span></div> <div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span><span class="keyword">static</span> __inline__ <span class="keywordtype">void</span> <a class="code hl_function" href="libeconf_8h.html#a9e75bcdee979ef8a6584f3553202aa17">econf_freeFilep</a>(<a class="code hl_typedef" href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a> **key_file) {</div> <div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> <span class="keywordflow">if</span> (*key_file)</div> <div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> *key_file = <a class="code hl_function" href="libeconf_8h.html#a3bdb79dab514bb4f51c610bc028d54f4">econf_freeFile</a>(*key_file);</div> </div> <div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span>}</div> <div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span></div> <div class="line"><a id="l01125" name="l01125"></a><span class="lineno"><a class="line" href="libeconf_8h.html#ab9cf0bcce775cd0d03dcb9bbba534087"> 1125</a></span><span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__ ((deprecated(<span class="stringliteral">"use callback in econf_readFileWithCallback or econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span><a class="code hl_function" href="libeconf_8h.html#ab9cf0bcce775cd0d03dcb9bbba534087">econf_requireOwner</a>(uid_t owner);</div> <div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span></div> <div class="line"><a id="l01137" name="l01137"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a4b9a4f31d04c7ea2087173f7877ec223"> 1137</a></span>extern <span class="keywordtype">void</span> __attribute__ ((deprecated(<span class="stringliteral">"use callback in econf_readFileWithCallback or econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span><a class="code hl_function" href="libeconf_8h.html#a4b9a4f31d04c7ea2087173f7877ec223">econf_requireGroup</a>(gid_t group);</div> <div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span></div> <div class="line"><a id="l01149" name="l01149"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a3378794c25da9179c98671b082f4fdd4"> 1149</a></span>extern <span class="keywordtype">void</span> __attribute__ ((deprecated(<span class="stringliteral">"use callback in econf_readFileWithCallback or econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span><a class="code hl_function" href="libeconf_8h.html#a3378794c25da9179c98671b082f4fdd4">econf_requirePermissions</a>(mode_t file_perms, mode_t dir_perms);</div> <div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span></div> <div class="line"><a id="l01160" name="l01160"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a1d7cc79ac8b7a3ba1253cc24dcc82949"> 1160</a></span>extern <span class="keywordtype">void</span> __attribute__ ((deprecated(<span class="stringliteral">"use callback in econf_readFileWithCallback or econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span><a class="code hl_function" href="libeconf_8h.html#a1d7cc79ac8b7a3ba1253cc24dcc82949">econf_followSymlinks</a>(<span class="keywordtype">bool</span> allow);</div> <div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span></div> <div class="line"><a id="l01171" name="l01171"></a><span class="lineno"><a class="line" href="libeconf_8h.html#ac2c27395368eddbc50c1dc7736bbcf49"> 1171</a></span>extern <span class="keywordtype">void</span> __attribute__ ((deprecated(<span class="stringliteral">"use callback in econf_readFileWithCallback or econf_readConfigWithCallback instead"</span>)))</div> <div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span><a class="code hl_function" href="libeconf_8h.html#ac2c27395368eddbc50c1dc7736bbcf49">econf_reset_security_settings</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span></div> <div class="line"><a id="l01191" name="l01191"></a><span class="lineno"><a class="line" href="libeconf_8h.html#a0466a16c30cfcd58ec6201d210c64731"> 1191</a></span>extern <a class="code hl_enumeration" href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a> __attribute__ ((deprecated(<span class="stringliteral">"Is not thread-safe. Use econf_newKeyFile_with_options instead"</span>)))</div> <div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span><a class="code hl_function" href="libeconf_8h.html#a0466a16c30cfcd58ec6201d210c64731">econf_set_conf_dirs</a>(const <span class="keywordtype">char</span> **dir_postfix_list);</div> <div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> </div> <div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span><span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span>}</div> <div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span><span class="preprocessor">#endif</span></div> <div class="ttc" id="alibeconf_8h_html_a0466a16c30cfcd58ec6201d210c64731"><div class="ttname"><a href="libeconf_8h.html#a0466a16c30cfcd58ec6201d210c64731">econf_set_conf_dirs</a></div><div class="ttdeci">econf_err econf_set_conf_dirs(const char **dir_postfix_list)</div><div class="ttdoc">Set a list of directory structures (with order) which describes the directories in which the files ha...</div></div> <div class="ttc" id="alibeconf_8h_html_a0b7c823419269683749a7394e776b22c"><div class="ttname"><a href="libeconf_8h.html#a0b7c823419269683749a7394e776b22c">econf_newIniFile</a></div><div class="ttdeci">econf_err econf_newIniFile(econf_file **result)</div><div class="ttdoc">Create a new econf_file object in IniFile format.</div></div> <div class="ttc" id="alibeconf_8h_html_a0d29e6d5c6c6d151bb3edc54019c8735"><div class="ttname"><a href="libeconf_8h.html#a0d29e6d5c6c6d151bb3edc54019c8735">econf_file</a></div><div class="ttdeci">struct econf_file econf_file</div><div class="ttdef"><b>Definition</b> <a href="#l00129">libeconf.h:129</a></div></div> <div class="ttc" id="alibeconf_8h_html_a0e25d09069dd273119c0549b3e81f5c9"><div class="ttname"><a href="libeconf_8h.html#a0e25d09069dd273119c0549b3e81f5c9">econf_getInt64ValueDef</a></div><div class="ttdeci">econf_err econf_getInt64ValueDef(econf_file *kf, const char *group, const char *key, int64_t *result, const int64_t def)</div><div class="ttdoc">Evaluating int64 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a0e4050978c3ed94332f8e82862fa4b62"><div class="ttname"><a href="libeconf_8h.html#a0e4050978c3ed94332f8e82862fa4b62">econf_setUInt64Value</a></div><div class="ttdeci">econf_err econf_setUInt64Value(econf_file *kf, const char *group, const char *key, uint64_t value)</div><div class="ttdoc">Set uint64 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a0ed2af8bb1d8f4563a9ac5c83a798881"><div class="ttname"><a href="libeconf_8h.html#a0ed2af8bb1d8f4563a9ac5c83a798881">econf_readConfig</a></div><div class="ttdeci">econf_err econf_readConfig(econf_file **key_file, const char *project, const char *usr_subdir, const char *config_name, const char *config_suffix, const char *delim, const char *comment)</div><div class="ttdoc">Evaluating key/values of a given configuration by reading and merging all needed/available files from...</div></div> <div class="ttc" id="alibeconf_8h_html_a1a78a570d9d947cebf347bf9e41a6637"><div class="ttname"><a href="libeconf_8h.html#a1a78a570d9d947cebf347bf9e41a6637">econf_errString</a></div><div class="ttdeci">const char * econf_errString(const econf_err error)</div><div class="ttdoc">Convert an econf_err type to a string.</div></div> <div class="ttc" id="alibeconf_8h_html_a1ba57afda092a5a591f3cbc14a00caf6"><div class="ttname"><a href="libeconf_8h.html#a1ba57afda092a5a591f3cbc14a00caf6">econf_setDoubleValue</a></div><div class="ttdeci">econf_err econf_setDoubleValue(econf_file *kf, const char *group, const char *key, double value)</div><div class="ttdoc">Set double value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a1d7cc79ac8b7a3ba1253cc24dcc82949"><div class="ttname"><a href="libeconf_8h.html#a1d7cc79ac8b7a3ba1253cc24dcc82949">econf_followSymlinks</a></div><div class="ttdeci">void econf_followSymlinks(bool allow)</div><div class="ttdoc">Allowing the parser to follow sym links (default: true).</div></div> <div class="ttc" id="alibeconf_8h_html_a1dc59b13a0293943b10dfc09e6daba09"><div class="ttname"><a href="libeconf_8h.html#a1dc59b13a0293943b10dfc09e6daba09">econf_set_comment_tag</a></div><div class="ttdeci">void econf_set_comment_tag(econf_file *key_file, const char comment)</div><div class="ttdoc">Set the comment character tag of the given econf_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_a2aba75b3474b33173edbc0f80b2e8a79"><div class="ttname"><a href="libeconf_8h.html#a2aba75b3474b33173edbc0f80b2e8a79">econf_mergeFiles</a></div><div class="ttdeci">econf_err econf_mergeFiles(econf_file **merged_file, econf_file *usr_file, econf_file *etc_file)</div><div class="ttdoc">Merge the contents of two key_files objects.</div></div> <div class="ttc" id="alibeconf_8h_html_a2e2059c7f8d77adc964356c9af1600a4"><div class="ttname"><a href="libeconf_8h.html#a2e2059c7f8d77adc964356c9af1600a4">econf_getDoubleValueDef</a></div><div class="ttdeci">econf_err econf_getDoubleValueDef(econf_file *kf, const char *group, const char *key, double *result, const double def)</div><div class="ttdoc">Evaluating double value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a2fa45814606cac4dc4abdfe462f8ee70"><div class="ttname"><a href="libeconf_8h.html#a2fa45814606cac4dc4abdfe462f8ee70">econf_delimiter_tag</a></div><div class="ttdeci">char econf_delimiter_tag(econf_file *key_file)</div><div class="ttdoc">Returns the delimiter character of the given econf_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_a2fe1e47b604fa259e1fd879bbdc0a347"><div class="ttname"><a href="libeconf_8h.html#a2fe1e47b604fa259e1fd879bbdc0a347">econf_setInt64Value</a></div><div class="ttdeci">econf_err econf_setInt64Value(econf_file *kf, const char *group, const char *key, int64_t value)</div><div class="ttdoc">Set int64 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0a"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0a">econf_err</a></div><div class="ttdeci">econf_err</div><div class="ttdoc">libeconf error codes</div><div class="ttdef"><b>Definition</b> <a href="#l00041">libeconf.h:41</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa1635184e73c0a6d522d82bba0abd0e4a"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa1635184e73c0a6d522d82bba0abd0e4a">ECONF_FILE_LIST_IS_NULL</a></div><div class="ttdeci">@ ECONF_FILE_LIST_IS_NULL</div><div class="ttdoc">Parsed file list is NULL.</div><div class="ttdef"><b>Definition</b> <a href="#l00069">libeconf.h:69</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa164ca0fcef7be06bac2c681a0dd97ba6"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa164ca0fcef7be06bac2c681a0dd97ba6">ECONF_VALUE_CONVERSION_ERROR</a></div><div class="ttdeci">@ ECONF_VALUE_CONVERSION_ERROR</div><div class="ttdoc">Value cannot be converted.</div><div class="ttdef"><b>Definition</b> <a href="#l00091">libeconf.h:91</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa1d7757fbcf5df49ba92c9a436d3bff33"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa1d7757fbcf5df49ba92c9a436d3bff33">ECONF_NOMEM</a></div><div class="ttdeci">@ ECONF_NOMEM</div><div class="ttdoc">Out of memory.</div><div class="ttdef"><b>Definition</b> <a href="#l00047">libeconf.h:47</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa2eb2ee8b0ffb2cd4c0829944af1168a1"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa2eb2ee8b0ffb2cd4c0829944af1168a1">ECONF_NOGROUP</a></div><div class="ttdeci">@ ECONF_NOGROUP</div><div class="ttdoc">Group not found.</div><div class="ttdef"><b>Definition</b> <a href="#l00051">libeconf.h:51</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa4725ff7773c2b5a9d703460f1ca070f4"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa4725ff7773c2b5a9d703460f1ca070f4">ECONF_WRONG_BOOLEAN_VALUE</a></div><div class="ttdeci">@ ECONF_WRONG_BOOLEAN_VALUE</div><div class="ttdoc">Wrong boolean value (1/0 true/false yes/no)</div><div class="ttdef"><b>Definition</b> <a href="#l00071">libeconf.h:71</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa5af88d2cd68517701b2d8b9c34fbb4a0"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa5af88d2cd68517701b2d8b9c34fbb4a0">ECONF_TEXT_AFTER_SECTION</a></div><div class="ttdeci">@ ECONF_TEXT_AFTER_SECTION</div><div class="ttdoc">Text after section.</div><div class="ttdef"><b>Definition</b> <a href="#l00067">libeconf.h:67</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa6b9c2f2cdbbf94dbaabfa42e3425deb4"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa6b9c2f2cdbbf94dbaabfa42e3425deb4">ECONF_PARSING_CALLBACK_FAILED</a></div><div class="ttdeci">@ ECONF_PARSING_CALLBACK_FAILED</div><div class="ttdoc">User defined parsing callback has failed.</div><div class="ttdef"><b>Definition</b> <a href="#l00085">libeconf.h:85</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa6df088da6aad41d83acc2b6060acb7fe"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa6df088da6aad41d83acc2b6060acb7fe">ECONF_PARSE_ERROR</a></div><div class="ttdeci">@ ECONF_PARSE_ERROR</div><div class="ttdoc">General syntax error in input file.</div><div class="ttdef"><b>Definition</b> <a href="#l00059">libeconf.h:59</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa768ba4de0c5ba47154dba9dc4a26cb84"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa768ba4de0c5ba47154dba9dc4a26cb84">ECONF_WRONG_FILE_PERMISSION</a></div><div class="ttdeci">@ ECONF_WRONG_FILE_PERMISSION</div><div class="ttdoc">File has wrong file permissions.</div><div class="ttdef"><b>Definition</b> <a href="#l00079">libeconf.h:79</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa85a26e85a81e96c384691d7201d3db60"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa85a26e85a81e96c384691d7201d3db60">ECONF_ARGUMENT_IS_NULL_VALUE</a></div><div class="ttdeci">@ ECONF_ARGUMENT_IS_NULL_VALUE</div><div class="ttdoc">Given argument is NULL.</div><div class="ttdef"><b>Definition</b> <a href="#l00087">libeconf.h:87</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa88d2df1070c604a0d5ebc233126a805e"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa88d2df1070c604a0d5ebc233126a805e">ECONF_OPTION_NOT_FOUND</a></div><div class="ttdeci">@ ECONF_OPTION_NOT_FOUND</div><div class="ttdoc">Given option not found.</div><div class="ttdef"><b>Definition</b> <a href="#l00089">libeconf.h:89</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aa8bffb248bd0e7fbfe09f404ec73ffeb6"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aa8bffb248bd0e7fbfe09f404ec73ffeb6">ECONF_EMPTY_SECTION_NAME</a></div><div class="ttdeci">@ ECONF_EMPTY_SECTION_NAME</div><div class="ttdoc">Empty section name.</div><div class="ttdef"><b>Definition</b> <a href="#l00065">libeconf.h:65</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aaa0542bb798322dd272fe66411b0ede6c"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaa0542bb798322dd272fe66411b0ede6c">ECONF_WRITEERROR</a></div><div class="ttdeci">@ ECONF_WRITEERROR</div><div class="ttdoc">Error creating or writing to a file.</div><div class="ttdef"><b>Definition</b> <a href="#l00057">libeconf.h:57</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aaa7f3b09e2b8a627f11f4df6e745103c9"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaa7f3b09e2b8a627f11f4df6e745103c9">ECONF_KEY_HAS_NULL_VALUE</a></div><div class="ttdeci">@ ECONF_KEY_HAS_NULL_VALUE</div><div class="ttdoc">Given key has NULL value.</div><div class="ttdef"><b>Definition</b> <a href="#l00073">libeconf.h:73</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aaaf3716ec7b6faf6a0183007060c2ac16"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaaf3716ec7b6faf6a0183007060c2ac16">ECONF_MISSING_BRACKET</a></div><div class="ttdeci">@ ECONF_MISSING_BRACKET</div><div class="ttdoc">Missing closing section bracket.</div><div class="ttdef"><b>Definition</b> <a href="#l00061">libeconf.h:61</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aab09de6a0a65f054a6c542151a675e241"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aab09de6a0a65f054a6c542151a675e241">ECONF_ERROR_FILE_IS_SYM_LINK</a></div><div class="ttdeci">@ ECONF_ERROR_FILE_IS_SYM_LINK</div><div class="ttdoc">File is a sym link which is not permitted.</div><div class="ttdef"><b>Definition</b> <a href="#l00083">libeconf.h:83</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aab28f4a0d53a21a1f0ed21fe8601a6d14"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aab28f4a0d53a21a1f0ed21fe8601a6d14">ECONF_WRONG_GROUP</a></div><div class="ttdeci">@ ECONF_WRONG_GROUP</div><div class="ttdoc">File has wrong group.</div><div class="ttdef"><b>Definition</b> <a href="#l00077">libeconf.h:77</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aac04246deccfe0075cc58956c543fa408"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aac04246deccfe0075cc58956c543fa408">ECONF_WRONG_DIR_PERMISSION</a></div><div class="ttdeci">@ ECONF_WRONG_DIR_PERMISSION</div><div class="ttdoc">File has wrong dir permission.</div><div class="ttdef"><b>Definition</b> <a href="#l00081">libeconf.h:81</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aac3909d9fd9bdac53e1e8b2b80c470eb0"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aac3909d9fd9bdac53e1e8b2b80c470eb0">ECONF_NOKEY</a></div><div class="ttdeci">@ ECONF_NOKEY</div><div class="ttdoc">Key not found.</div><div class="ttdef"><b>Definition</b> <a href="#l00053">libeconf.h:53</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aacd662d9a8a5249d344bc716517a5506f"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aacd662d9a8a5249d344bc716517a5506f">ECONF_MISSING_DELIMITER</a></div><div class="ttdeci">@ ECONF_MISSING_DELIMITER</div><div class="ttdoc">Missing delimiter.</div><div class="ttdef"><b>Definition</b> <a href="#l00063">libeconf.h:63</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aad48f6a68474df566c7676ce325380b7f"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aad48f6a68474df566c7676ce325380b7f">ECONF_NOFILE</a></div><div class="ttdeci">@ ECONF_NOFILE</div><div class="ttdoc">Config file not found.</div><div class="ttdef"><b>Definition</b> <a href="#l00049">libeconf.h:49</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aae8f9a6e81d529822968f1af70c9b1946"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aae8f9a6e81d529822968f1af70c9b1946">ECONF_WRONG_OWNER</a></div><div class="ttdeci">@ ECONF_WRONG_OWNER</div><div class="ttdoc">File has wrong owner.</div><div class="ttdef"><b>Definition</b> <a href="#l00075">libeconf.h:75</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aaf17cead6d4a9e4bd46bf07dd14476fb2"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaf17cead6d4a9e4bd46bf07dd14476fb2">ECONF_ERROR</a></div><div class="ttdeci">@ ECONF_ERROR</div><div class="ttdoc">Generic Error.</div><div class="ttdef"><b>Definition</b> <a href="#l00045">libeconf.h:45</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aaf3119f73c97a08fd08e2dfbc3d42493c"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aaf3119f73c97a08fd08e2dfbc3d42493c">ECONF_EMPTYKEY</a></div><div class="ttdeci">@ ECONF_EMPTYKEY</div><div class="ttdoc">Key is NULL or has empty value.</div><div class="ttdef"><b>Definition</b> <a href="#l00055">libeconf.h:55</a></div></div> <div class="ttc" id="alibeconf_8h_html_a30cb4e6c5ce4daa333646b23b20caa0aafe011d1ce92a3b4c1e8c172c8c3a9604"><div class="ttname"><a href="libeconf_8h.html#a30cb4e6c5ce4daa333646b23b20caa0aafe011d1ce92a3b4c1e8c172c8c3a9604">ECONF_SUCCESS</a></div><div class="ttdeci">@ ECONF_SUCCESS</div><div class="ttdoc">General purpose success code.</div><div class="ttdef"><b>Definition</b> <a href="#l00043">libeconf.h:43</a></div></div> <div class="ttc" id="alibeconf_8h_html_a3378794c25da9179c98671b082f4fdd4"><div class="ttname"><a href="libeconf_8h.html#a3378794c25da9179c98671b082f4fdd4">econf_requirePermissions</a></div><div class="ttdeci">void econf_requirePermissions(mode_t file_perms, mode_t dir_perms)</div><div class="ttdoc">All parsed file have to have these file and directory permissions.</div></div> <div class="ttc" id="alibeconf_8h_html_a34204abad15dee193af27d6368e8fffe"><div class="ttname"><a href="libeconf_8h.html#a34204abad15dee193af27d6368e8fffe">econf_getUIntValueDef</a></div><div class="ttdeci">econf_err econf_getUIntValueDef(econf_file *kf, const char *group, const char *key, uint32_t *result, const uint32_t def)</div><div class="ttdoc">Evaluating uint32 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a3bdb79dab514bb4f51c610bc028d54f4"><div class="ttname"><a href="libeconf_8h.html#a3bdb79dab514bb4f51c610bc028d54f4">econf_freeFile</a></div><div class="ttdeci">econf_file * econf_freeFile(econf_file *key_file)</div><div class="ttdoc">Free memory allocated and returned by econf_readFile(), econf_readFileWithCallback,...</div></div> <div class="ttc" id="alibeconf_8h_html_a3e99ddefa0267f8c9f7bf04a44968f93"><div class="ttname"><a href="libeconf_8h.html#a3e99ddefa0267f8c9f7bf04a44968f93">econf_readDirsHistoryWithCallback</a></div><div class="ttdeci">econf_err econf_readDirsHistoryWithCallback(econf_file ***key_files, size_t *size, const char *usr_conf_dir, const char *etc_conf_dir, const char *config_name, const char *config_suffix, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data)</div><div class="ttdoc">Evaluating key/values for every given configuration files in two different directories (normally in /...</div></div> <div class="ttc" id="alibeconf_8h_html_a3f873713848631a5ded240479af96de4"><div class="ttname"><a href="libeconf_8h.html#a3f873713848631a5ded240479af96de4">econf_setBoolValue</a></div><div class="ttdeci">econf_err econf_setBoolValue(econf_file *kf, const char *group, const char *key, const char *value)</div><div class="ttdoc">Set bool value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a411af7792e1d014566efdcff1e1eafc0"><div class="ttname"><a href="libeconf_8h.html#a411af7792e1d014566efdcff1e1eafc0">econf_freeArrayp</a></div><div class="ttdeci">static __inline__ void econf_freeArrayp(char ***array)</div><div class="ttdef"><b>Definition</b> <a href="#l01093">libeconf.h:1093</a></div></div> <div class="ttc" id="alibeconf_8h_html_a413472061e0ed9897eac190d4f3b30b2"><div class="ttname"><a href="libeconf_8h.html#a413472061e0ed9897eac190d4f3b30b2">econf_getUInt64Value</a></div><div class="ttdeci">econf_err econf_getUInt64Value(econf_file *kf, const char *group, const char *key, uint64_t *result)</div><div class="ttdoc">Evaluating uint64 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a42f74209e586b194b1f966f5381ce827"><div class="ttname"><a href="libeconf_8h.html#a42f74209e586b194b1f966f5381ce827">econf_readDirs</a></div><div class="ttdeci">econf_err econf_readDirs(econf_file **key_file, const char *usr_conf_dir, const char *etc_conf_dir, const char *config_name, const char *config_suffix, const char *delim, const char *comment)</div><div class="ttdoc">Evaluating key/values of a given configuration by reading and merging all needed/available files in t...</div></div> <div class="ttc" id="alibeconf_8h_html_a43baa061fcd4f770e2d8e12d3ee58f6e"><div class="ttname"><a href="libeconf_8h.html#a43baa061fcd4f770e2d8e12d3ee58f6e">econf_setUIntValue</a></div><div class="ttdeci">econf_err econf_setUIntValue(econf_file *kf, const char *group, const char *key, uint32_t value)</div><div class="ttdoc">Set uint32 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a4b9a4f31d04c7ea2087173f7877ec223"><div class="ttname"><a href="libeconf_8h.html#a4b9a4f31d04c7ea2087173f7877ec223">econf_requireGroup</a></div><div class="ttdeci">void econf_requireGroup(gid_t group)</div><div class="ttdoc">All parsed files require this group permission.</div></div> <div class="ttc" id="alibeconf_8h_html_a56c631b316987132609b07b1e6df6e18"><div class="ttname"><a href="libeconf_8h.html#a56c631b316987132609b07b1e6df6e18">econf_getFloatValue</a></div><div class="ttdeci">econf_err econf_getFloatValue(econf_file *kf, const char *group, const char *key, float *result)</div><div class="ttdoc">Evaluating float value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a5d24ab3c1515a2a0cf4668221a0ee6f7"><div class="ttname"><a href="libeconf_8h.html#a5d24ab3c1515a2a0cf4668221a0ee6f7">econf_comment_tag</a></div><div class="ttdeci">char econf_comment_tag(econf_file *key_file)</div><div class="ttdoc">Returns the comment character tag of the given econf_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_a5f1e5a7c748ef9147fc7d16604904171"><div class="ttname"><a href="libeconf_8h.html#a5f1e5a7c748ef9147fc7d16604904171">econf_writeFile</a></div><div class="ttdeci">econf_err econf_writeFile(econf_file *key_file, const char *save_to_dir, const char *file_name)</div><div class="ttdoc">Write content of an econf_file struct to specified location.</div></div> <div class="ttc" id="alibeconf_8h_html_a64407a0ea75bbfb09d0af8fdb991c40b"><div class="ttname"><a href="libeconf_8h.html#a64407a0ea75bbfb09d0af8fdb991c40b">econf_readDirsHistory</a></div><div class="ttdeci">econf_err econf_readDirsHistory(econf_file ***key_files, size_t *size, const char *usr_conf_dir, const char *etc_conf_dir, const char *config_name, const char *config_suffix, const char *delim, const char *comment)</div><div class="ttdoc">Evaluating key/values for every given configuration files in two different directories (normally in /...</div></div> <div class="ttc" id="alibeconf_8h_html_a6bc0961dd90471bebae2f606d3db972d"><div class="ttname"><a href="libeconf_8h.html#a6bc0961dd90471bebae2f606d3db972d">econf_newKeyFile_with_options</a></div><div class="ttdeci">econf_err econf_newKeyFile_with_options(econf_file **result, const char *options)</div><div class="ttdoc">Create a new econf_file object with special options.</div></div> <div class="ttc" id="alibeconf_8h_html_a6bf61969ee7ea191fdd28b0c8de5761d"><div class="ttname"><a href="libeconf_8h.html#a6bf61969ee7ea191fdd28b0c8de5761d">econf_readFileWithCallback</a></div><div class="ttdeci">econf_err econf_readFileWithCallback(econf_file **result, const char *file_name, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data)</div><div class="ttdoc">Process the file of the given file_name and save its contents into key_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_a76c652840d8dfcc03de8113a7cfebc13"><div class="ttname"><a href="libeconf_8h.html#a76c652840d8dfcc03de8113a7cfebc13">econf_getBoolValue</a></div><div class="ttdeci">econf_err econf_getBoolValue(econf_file *kf, const char *group, const char *key, bool *result)</div><div class="ttdoc">Evaluating bool value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a808d966041916c3de263a79a6b4983c5"><div class="ttname"><a href="libeconf_8h.html#a808d966041916c3de263a79a6b4983c5">econf_setStringValue</a></div><div class="ttdeci">econf_err econf_setStringValue(econf_file *kf, const char *group, const char *key, const char *value)</div><div class="ttdoc">Set string value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a80f117888ae88f796ba8785294ee76cd"><div class="ttname"><a href="libeconf_8h.html#a80f117888ae88f796ba8785294ee76cd">econf_getInt64Value</a></div><div class="ttdeci">econf_err econf_getInt64Value(econf_file *kf, const char *group, const char *key, int64_t *result)</div><div class="ttdoc">Evaluating int64 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a836b5196842a134fc370c7bc24ffefcb"><div class="ttname"><a href="libeconf_8h.html#a836b5196842a134fc370c7bc24ffefcb">econf_setFloatValue</a></div><div class="ttdeci">econf_err econf_setFloatValue(econf_file *kf, const char *group, const char *key, float value)</div><div class="ttdoc">Set float value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_a910efcd721aa9a2cdbafeb187479a923"><div class="ttname"><a href="libeconf_8h.html#a910efcd721aa9a2cdbafeb187479a923">econf_readDirsWithCallback</a></div><div class="ttdeci">econf_err econf_readDirsWithCallback(econf_file **key_file, const char *usr_conf_dir, const char *etc_conf_dir, const char *config_name, const char *config_suffix, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data)</div><div class="ttdoc">Evaluating key/values for every given configuration files in two different directories (normally in /...</div></div> <div class="ttc" id="alibeconf_8h_html_a94f42f580d8c9dff8cdb01a5c91bb5ec"><div class="ttname"><a href="libeconf_8h.html#a94f42f580d8c9dff8cdb01a5c91bb5ec">econf_newKeyFile</a></div><div class="ttdeci">econf_err econf_newKeyFile(econf_file **result, char delimiter, char comment)</div><div class="ttdoc">Create a new econf_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_a9e75bcdee979ef8a6584f3553202aa17"><div class="ttname"><a href="libeconf_8h.html#a9e75bcdee979ef8a6584f3553202aa17">econf_freeFilep</a></div><div class="ttdeci">static __inline__ void econf_freeFilep(econf_file **key_file)</div><div class="ttdef"><b>Definition</b> <a href="#l01111">libeconf.h:1111</a></div></div> <div class="ttc" id="alibeconf_8h_html_a9eba99cc942620012cd76d7fd487c599"><div class="ttname"><a href="libeconf_8h.html#a9eba99cc942620012cd76d7fd487c599">econf_setIntValue</a></div><div class="ttdeci">econf_err econf_setIntValue(econf_file *kf, const char *group, const char *key, int32_t value)</div><div class="ttdoc">Set int32 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_aa03377bd02882239b3342c095f916561"><div class="ttname"><a href="libeconf_8h.html#aa03377bd02882239b3342c095f916561">econf_readFile</a></div><div class="ttdeci">econf_err econf_readFile(econf_file **result, const char *file_name, const char *delim, const char *comment)</div><div class="ttdoc">Process the file of the given file_name and save its contents into key_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_aa14d17dc8e3ebc26e155ceb2d497ad14"><div class="ttname"><a href="libeconf_8h.html#aa14d17dc8e3ebc26e155ceb2d497ad14">econf_set_delimiter_tag</a></div><div class="ttdeci">void econf_set_delimiter_tag(econf_file *key_file, const char delimiter)</div><div class="ttdoc">Set the delimiter character of the given econf_file object.</div></div> <div class="ttc" id="alibeconf_8h_html_aa9f93a7e119c37ee3a49d1ad11936533"><div class="ttname"><a href="libeconf_8h.html#aa9f93a7e119c37ee3a49d1ad11936533">econf_getGroups</a></div><div class="ttdeci">econf_err econf_getGroups(econf_file *kf, size_t *length, char ***groups)</div><div class="ttdoc">Evaluating all group entries.</div></div> <div class="ttc" id="alibeconf_8h_html_ab9cf0bcce775cd0d03dcb9bbba534087"><div class="ttname"><a href="libeconf_8h.html#ab9cf0bcce775cd0d03dcb9bbba534087">econf_requireOwner</a></div><div class="ttdeci">void econf_requireOwner(uid_t owner)</div><div class="ttdoc">All parsed files require this user permission.</div></div> <div class="ttc" id="alibeconf_8h_html_abfe33ab2f7b5259cda5b71d488f46ab0"><div class="ttname"><a href="libeconf_8h.html#abfe33ab2f7b5259cda5b71d488f46ab0">econf_getStringValue</a></div><div class="ttdeci">econf_err econf_getStringValue(econf_file *kf, const char *group, const char *key, char **result)</div><div class="ttdoc">Evaluating string value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_ac2c27395368eddbc50c1dc7736bbcf49"><div class="ttname"><a href="libeconf_8h.html#ac2c27395368eddbc50c1dc7736bbcf49">econf_reset_security_settings</a></div><div class="ttdeci">void econf_reset_security_settings(void)</div><div class="ttdoc">Reset all UID, GID, permissions,... restrictions for parsed files/dirs.</div></div> <div class="ttc" id="alibeconf_8h_html_ac7076da6784af251dc166461bd3ba40a"><div class="ttname"><a href="libeconf_8h.html#ac7076da6784af251dc166461bd3ba40a">econf_freeArray</a></div><div class="ttdeci">char ** econf_freeArray(char **array)</div><div class="ttdoc">Free an array of type char** created by econf_getGroups() or econf_getKeys().</div></div> <div class="ttc" id="alibeconf_8h_html_aca086c8a60b7d14c2d3fdf06460aab1c"><div class="ttname"><a href="libeconf_8h.html#aca086c8a60b7d14c2d3fdf06460aab1c">econf_getStringValueDef</a></div><div class="ttdeci">econf_err econf_getStringValueDef(econf_file *kf, const char *group, const char *key, char **result, const char *def)</div><div class="ttdoc">Evaluating string value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_acdf4785ef2a5b411fdb4f63ea5b05fbc"><div class="ttname"><a href="libeconf_8h.html#acdf4785ef2a5b411fdb4f63ea5b05fbc">econf_getIntValue</a></div><div class="ttdeci">econf_err econf_getIntValue(econf_file *kf, const char *group, const char *key, int32_t *result)</div><div class="ttdoc">Evaluating int32 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_ace4ad5a9fd48b5efae40d683d14cf313"><div class="ttname"><a href="libeconf_8h.html#ace4ad5a9fd48b5efae40d683d14cf313">econf_readConfigWithCallback</a></div><div class="ttdeci">econf_err econf_readConfigWithCallback(econf_file **key_file, const char *project, const char *usr_subdir, const char *config_name, const char *config_suffix, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data)</div><div class="ttdoc">Evaluating key/values of a given configuration by reading and merging all needed/available files from...</div></div> <div class="ttc" id="alibeconf_8h_html_ad05f83477777820e3af4b6b1b96c31b0"><div class="ttname"><a href="libeconf_8h.html#ad05f83477777820e3af4b6b1b96c31b0">econf_getUInt64ValueDef</a></div><div class="ttdeci">econf_err econf_getUInt64ValueDef(econf_file *kf, const char *group, const char *key, uint64_t *result, const uint64_t def)</div><div class="ttdoc">Evaluating uint64 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_ad082e9c8bd148f6e984b6179b1c64ae9"><div class="ttname"><a href="libeconf_8h.html#ad082e9c8bd148f6e984b6179b1c64ae9">econf_getDoubleValue</a></div><div class="ttdeci">econf_err econf_getDoubleValue(econf_file *kf, const char *group, const char *key, double *result)</div><div class="ttdoc">Evaluating double value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_adc459d1dfa9096425d4f248b04669761"><div class="ttname"><a href="libeconf_8h.html#adc459d1dfa9096425d4f248b04669761">econf_errLocation</a></div><div class="ttdeci">void econf_errLocation(char **filename, uint64_t *line_nr)</div><div class="ttdoc">Info about where the error has happened.</div></div> <div class="ttc" id="alibeconf_8h_html_aeabac456f1ceda392b616bb851dc6082"><div class="ttname"><a href="libeconf_8h.html#aeabac456f1ceda392b616bb851dc6082">econf_getPath</a></div><div class="ttdeci">char * econf_getPath(econf_file *kf)</div><div class="ttdoc">Evaluating path name.</div></div> <div class="ttc" id="alibeconf_8h_html_aecd3ff6d01bc8dae14eb0717a6f4963e"><div class="ttname"><a href="libeconf_8h.html#aecd3ff6d01bc8dae14eb0717a6f4963e">econf_getFloatValueDef</a></div><div class="ttdeci">econf_err econf_getFloatValueDef(econf_file *kf, const char *group, const char *key, float *result, const float def)</div><div class="ttdoc">Evaluating float value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_af6b9d3d3880b432f255ef35928938ef6"><div class="ttname"><a href="libeconf_8h.html#af6b9d3d3880b432f255ef35928938ef6">econf_getBoolValueDef</a></div><div class="ttdeci">econf_err econf_getBoolValueDef(econf_file *kf, const char *group, const char *key, bool *result, const bool def)</div><div class="ttdoc">Evaluating bool value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_af6fc2727600785ecb4b1cb6652231ce6"><div class="ttname"><a href="libeconf_8h.html#af6fc2727600785ecb4b1cb6652231ce6">econf_getIntValueDef</a></div><div class="ttdeci">econf_err econf_getIntValueDef(econf_file *kf, const char *group, const char *key, int32_t *result, const int32_t def)</div><div class="ttdoc">Evaluating int32 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_af9ebb2c80265505d7fec80bc3ba08f06"><div class="ttname"><a href="libeconf_8h.html#af9ebb2c80265505d7fec80bc3ba08f06">econf_getUIntValue</a></div><div class="ttdeci">econf_err econf_getUIntValue(econf_file *kf, const char *group, const char *key, uint32_t *result)</div><div class="ttdoc">Evaluating uint32 value for given group/key.</div></div> <div class="ttc" id="alibeconf_8h_html_afa58b02e97241c5e8d778f40b04731b7"><div class="ttname"><a href="libeconf_8h.html#afa58b02e97241c5e8d778f40b04731b7">econf_getKeys</a></div><div class="ttdeci">econf_err econf_getKeys(econf_file *kf, const char *group, size_t *length, char ***keys)</div><div class="ttdoc">Evaluating all keys.</div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> </div><!-- container --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a href="libeconf_8h.html">libeconf.h</a></li> <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li> </ul> </div> </body> </html>