Tue, 22 Oct 2024 23:10:31 +0200
avoid state buffer allocation for JSON with reasonable nesting depth
390 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2 | <html xmlns="http://www.w3.org/1999/xhtml"> | |
3 | <head> | |
4 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | |
5 | <meta http-equiv="X-UA-Compatible" content="IE=9"/> | |
6 | <meta name="generator" content="Doxygen 1.8.13"/> | |
7 | <meta name="viewport" content="width=device-width, initial-scale=1"/> | |
8 | <title>ucx: /home/mike/workspace/c/ucx/src/ucx/properties.h Source File</title> | |
9 | <link href="tabs.css" rel="stylesheet" type="text/css"/> | |
10 | <script type="text/javascript" src="jquery.js"></script> | |
11 | <script type="text/javascript" src="dynsections.js"></script> | |
12 | <link href="search/search.css" rel="stylesheet" type="text/css"/> | |
13 | <script type="text/javascript" src="search/searchdata.js"></script> | |
14 | <script type="text/javascript" src="search/search.js"></script> | |
15 | <link href="doxygen.css" rel="stylesheet" type="text/css" /> | |
16 | </head> | |
17 | <body> | |
18 | <div id="top"><!-- do not remove this div, it is closed by doxygen! --> | |
19 | <div id="titlearea"> | |
20 | <table cellspacing="0" cellpadding="0"> | |
21 | <tbody> | |
22 | <tr style="height: 56px;"> | |
23 | <td id="projectlogo"><img alt="Logo" src="uaplogo.png"/></td> | |
24 | <td id="projectalign" style="padding-left: 0.5em;"> | |
25 | <div id="projectname">ucx | |
26 | </div> | |
27 | <div id="projectbrief">UAP Common Extensions</div> | |
28 | </td> | |
29 | </tr> | |
30 | </tbody> | |
31 | </table> | |
32 | </div> | |
33 | <!-- end header part --> | |
34 | <!-- Generated by Doxygen 1.8.13 --> | |
35 | <script type="text/javascript"> | |
36 | var searchBox = new SearchBox("searchBox", "search",false,'Search'); | |
37 | </script> | |
38 | <script type="text/javascript" src="menudata.js"></script> | |
39 | <script type="text/javascript" src="menu.js"></script> | |
40 | <script type="text/javascript"> | |
41 | $(function() { | |
42 | initMenu('',true,false,'search.php','Search'); | |
43 | $(document).ready(function() { init_search(); }); | |
44 | }); | |
45 | </script> | |
46 | <div id="main-nav"></div> | |
47 | <!-- window showing the filter options --> | |
48 | <div id="MSearchSelectWindow" | |
49 | onmouseover="return searchBox.OnSearchSelectShow()" | |
50 | onmouseout="return searchBox.OnSearchSelectHide()" | |
51 | onkeydown="return searchBox.OnSearchSelectKey(event)"> | |
52 | </div> | |
53 | ||
54 | <!-- iframe showing the search results (closed by default) --> | |
55 | <div id="MSearchResultsWindow"> | |
56 | <iframe src="javascript:void(0)" frameborder="0" | |
57 | name="MSearchResults" id="MSearchResults"> | |
58 | </iframe> | |
59 | </div> | |
60 | ||
61 | <div id="nav-path" class="navpath"> | |
62 | <ul> | |
63 | <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_69f4ea29401808fe6229564976cde3ce.html">ucx</a></li> </ul> | |
64 | </div> | |
65 | </div><!-- top --> | |
66 | <div class="header"> | |
67 | <div class="headertitle"> | |
68 | <div class="title">properties.h</div> </div> | |
69 | </div><!--header--> | |
70 | <div class="contents"> | |
71 | <a href="properties_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Copyright 2017 Mike Becker, Olaf Wintermann All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * modification, are permitted provided that the following conditions are met:</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#ifndef UCX_PROPERTIES_H</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define UCX_PROPERTIES_H</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="ucx_8h.html">ucx.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="map_8h.html">map.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structUcxProperties.html"> 53</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a6bb4d29686df41a0f42641ee15232bfd"> 58</a></span>  <span class="keywordtype">char</span> *<a class="code" href="structUcxProperties.html#a6bb4d29686df41a0f42641ee15232bfd">buffer</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a4e7524434525267e29f493a25dcca6b5"> 64</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structUcxProperties.html#a4e7524434525267e29f493a25dcca6b5">buflen</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structUcxProperties.html#addd36ac8e5e42241c0a57453633970db"> 70</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structUcxProperties.html#addd36ac8e5e42241c0a57453633970db">pos</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a68556d4260153f58dde44e4c365edce6"> 76</a></span>  <span class="keywordtype">char</span> *<a class="code" href="structUcxProperties.html#a68556d4260153f58dde44e4c365edce6">tmp</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a8a81853d5903bee2f4e1fa53fdffae6e"> 82</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structUcxProperties.html#a8a81853d5903bee2f4e1fa53fdffae6e">tmplen</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  </div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a5af10131ea9f679b4ee174499f92e210"> 88</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structUcxProperties.html#a5af10131ea9f679b4ee174499f92e210">tmpcap</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  </div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a34f71a6ab6dcb6892e3b4eb802e75bff"> 95</a></span>  <span class="keywordtype">int</span> <a class="code" href="structUcxProperties.html#a34f71a6ab6dcb6892e3b4eb802e75bff">error</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structUcxProperties.html#af6adb3f69616cf9d2bb5ea7b4d837ca5"> 101</a></span>  <span class="keywordtype">char</span> <a class="code" href="structUcxProperties.html#af6adb3f69616cf9d2bb5ea7b4d837ca5">delimiter</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structUcxProperties.html#afaa2e6a289fa6949b7b01df35fa5def8"> 107</a></span>  <span class="keywordtype">char</span> <a class="code" href="structUcxProperties.html#afaa2e6a289fa6949b7b01df35fa5def8">comment1</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a9ea7ecb414ca8bc7bef62cdd19cc6363"> 113</a></span>  <span class="keywordtype">char</span> <a class="code" href="structUcxProperties.html#a9ea7ecb414ca8bc7bef62cdd19cc6363">comment2</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  </div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structUcxProperties.html#a5f3e561e32bac03e36a191a6940cca92"> 119</a></span>  <span class="keywordtype">char</span> <a class="code" href="structUcxProperties.html#a5f3e561e32bac03e36a191a6940cca92">comment3</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> } <a class="code" href="structUcxProperties.html">UcxProperties</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <a class="code" href="structUcxProperties.html">UcxProperties</a> *<a class="code" href="properties_8h.html#a44d9dd12cab3aaa0084f1c8b89405796">ucx_properties_new</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">void</span> <a class="code" href="properties_8h.html#a38a2fe7bb2986bd87c7e69356ab05c05">ucx_properties_free</a>(<a class="code" href="structUcxProperties.html">UcxProperties</a> *prop);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">void</span> <a class="code" href="properties_8h.html#aaf8de121764a4d22c763ff2ab41f3a4d">ucx_properties_fill</a>(<a class="code" href="structUcxProperties.html">UcxProperties</a> *prop, <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">int</span> <a class="code" href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c">ucx_properties_next</a>(<a class="code" href="structUcxProperties.html">UcxProperties</a> *prop, <a class="code" href="structsstr__t.html">sstr_t</a> *name, <a class="code" href="structsstr__t.html">sstr_t</a> *value);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">int</span> <a class="code" href="properties_8h.html#a5c7ff8bc3139960a3f3dc92072b742f3">ucx_properties2map</a>(<a class="code" href="structUcxProperties.html">UcxProperties</a> *prop, <a class="code" href="structUcxMap.html">UcxMap</a> *map);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">int</span> <a class="code" href="properties_8h.html#ae1b600f839a6b2278b68fc314981a8a3">ucx_properties_load</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *map, FILE *file);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordtype">int</span> <a class="code" href="properties_8h.html#a63c0c1b7648e675b21a1788917ff36fb">ucx_properties_store</a>(<a class="code" href="structUcxMap.html">UcxMap</a> *map, FILE *file);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#endif </span><span class="comment">/* UCX_PROPERTIES_H */</span><span class="preprocessor"></span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="ttc" id="structsstr__t_html"><div class="ttname"><a href="structsstr__t.html">sstr_t</a></div><div class="ttdoc">The UCX string structure. </div><div class="ttdef"><b>Definition:</b> string.h:90</div></div> | |
72 | <div class="ttc" id="properties_8h_html_a44d9dd12cab3aaa0084f1c8b89405796"><div class="ttname"><a href="properties_8h.html#a44d9dd12cab3aaa0084f1c8b89405796">ucx_properties_new</a></div><div class="ttdeci">UcxProperties * ucx_properties_new()</div><div class="ttdoc">Constructs a new UcxProperties object. </div><div class="ttdef"><b>Definition:</b> properties.c:35</div></div> | |
73 | <div class="ttc" id="structUcxProperties_html_a5f3e561e32bac03e36a191a6940cca92"><div class="ttname"><a href="structUcxProperties.html#a5f3e561e32bac03e36a191a6940cca92">UcxProperties::comment3</a></div><div class="ttdeci">char comment3</div><div class="ttdoc">The third comment character. </div><div class="ttdef"><b>Definition:</b> properties.h:119</div></div> | |
74 | <div class="ttc" id="ucx_8h_html"><div class="ttname"><a href="ucx_8h.html">ucx.h</a></div><div class="ttdoc">Main UCX Header providing most common definitions. </div></div> | |
75 | <div class="ttc" id="structUcxProperties_html_addd36ac8e5e42241c0a57453633970db"><div class="ttname"><a href="structUcxProperties.html#addd36ac8e5e42241c0a57453633970db">UcxProperties::pos</a></div><div class="ttdeci">size_t pos</div><div class="ttdoc">Current buffer position (don&#39;t set manually). </div><div class="ttdef"><b>Definition:</b> properties.h:70</div></div> | |
76 | <div class="ttc" id="structUcxProperties_html_a9ea7ecb414ca8bc7bef62cdd19cc6363"><div class="ttname"><a href="structUcxProperties.html#a9ea7ecb414ca8bc7bef62cdd19cc6363">UcxProperties::comment2</a></div><div class="ttdeci">char comment2</div><div class="ttdoc">The second comment character. </div><div class="ttdef"><b>Definition:</b> properties.h:113</div></div> | |
77 | <div class="ttc" id="properties_8h_html_ae1b600f839a6b2278b68fc314981a8a3"><div class="ttname"><a href="properties_8h.html#ae1b600f839a6b2278b68fc314981a8a3">ucx_properties_load</a></div><div class="ttdeci">int ucx_properties_load(UcxMap *map, FILE *file)</div><div class="ttdoc">Loads a properties file to a UcxMap. </div><div class="ttdef"><b>Definition:</b> properties.c:222</div></div> | |
78 | <div class="ttc" id="structUcxProperties_html"><div class="ttname"><a href="structUcxProperties.html">UcxProperties</a></div><div class="ttdoc">UcxProperties object for parsing properties data. </div><div class="ttdef"><b>Definition:</b> properties.h:53</div></div> | |
79 | <div class="ttc" id="structUcxProperties_html_a4e7524434525267e29f493a25dcca6b5"><div class="ttname"><a href="structUcxProperties.html#a4e7524434525267e29f493a25dcca6b5">UcxProperties::buflen</a></div><div class="ttdeci">size_t buflen</div><div class="ttdoc">Length of the input buffer (don&#39;t set manually). </div><div class="ttdef"><b>Definition:</b> properties.h:64</div></div> | |
80 | <div class="ttc" id="structUcxProperties_html_a6bb4d29686df41a0f42641ee15232bfd"><div class="ttname"><a href="structUcxProperties.html#a6bb4d29686df41a0f42641ee15232bfd">UcxProperties::buffer</a></div><div class="ttdeci">char * buffer</div><div class="ttdoc">Input buffer (don&#39;t set manually). </div><div class="ttdef"><b>Definition:</b> properties.h:58</div></div> | |
81 | <div class="ttc" id="structUcxProperties_html_a34f71a6ab6dcb6892e3b4eb802e75bff"><div class="ttname"><a href="structUcxProperties.html#a34f71a6ab6dcb6892e3b4eb802e75bff">UcxProperties::error</a></div><div class="ttdeci">int error</div><div class="ttdoc">Parser error code. </div><div class="ttdef"><b>Definition:</b> properties.h:95</div></div> | |
82 | <div class="ttc" id="structUcxProperties_html_a8a81853d5903bee2f4e1fa53fdffae6e"><div class="ttname"><a href="structUcxProperties.html#a8a81853d5903bee2f4e1fa53fdffae6e">UcxProperties::tmplen</a></div><div class="ttdeci">size_t tmplen</div><div class="ttdoc">Internal temporary buffer length (don&#39;t set manually). </div><div class="ttdef"><b>Definition:</b> properties.h:82</div></div> | |
83 | <div class="ttc" id="structUcxProperties_html_afaa2e6a289fa6949b7b01df35fa5def8"><div class="ttname"><a href="structUcxProperties.html#afaa2e6a289fa6949b7b01df35fa5def8">UcxProperties::comment1</a></div><div class="ttdeci">char comment1</div><div class="ttdoc">The first comment character. </div><div class="ttdef"><b>Definition:</b> properties.h:107</div></div> | |
84 | <div class="ttc" id="properties_8h_html_a7e03bc573d45d48c538cd721e810d33c"><div class="ttname"><a href="properties_8h.html#a7e03bc573d45d48c538cd721e810d33c">ucx_properties_next</a></div><div class="ttdeci">int ucx_properties_next(UcxProperties *prop, sstr_t *name, sstr_t *value)</div><div class="ttdoc">Retrieves the next key/value-pair. </div><div class="ttdef"><b>Definition:</b> properties.c:80</div></div> | |
85 | <div class="ttc" id="properties_8h_html_a5c7ff8bc3139960a3f3dc92072b742f3"><div class="ttname"><a href="properties_8h.html#a5c7ff8bc3139960a3f3dc92072b742f3">ucx_properties2map</a></div><div class="ttdeci">int ucx_properties2map(UcxProperties *prop, UcxMap *map)</div><div class="ttdoc">Retrieves all available key/value-pairs and puts them into a UcxMap. </div><div class="ttdef"><b>Definition:</b> properties.c:200</div></div> | |
86 | <div class="ttc" id="structUcxProperties_html_af6adb3f69616cf9d2bb5ea7b4d837ca5"><div class="ttname"><a href="structUcxProperties.html#af6adb3f69616cf9d2bb5ea7b4d837ca5">UcxProperties::delimiter</a></div><div class="ttdeci">char delimiter</div><div class="ttdoc">The delimiter that shall be used. </div><div class="ttdef"><b>Definition:</b> properties.h:101</div></div> | |
87 | <div class="ttc" id="structUcxProperties_html_a68556d4260153f58dde44e4c365edce6"><div class="ttname"><a href="structUcxProperties.html#a68556d4260153f58dde44e4c365edce6">UcxProperties::tmp</a></div><div class="ttdeci">char * tmp</div><div class="ttdoc">Internal temporary buffer (don&#39;t set manually). </div><div class="ttdef"><b>Definition:</b> properties.h:76</div></div> | |
88 | <div class="ttc" id="structUcxMap_html"><div class="ttname"><a href="structUcxMap.html">UcxMap</a></div><div class="ttdoc">Structure for the UCX map. </div><div class="ttdef"><b>Definition:</b> map.h:81</div></div> | |
89 | <div class="ttc" id="structUcxProperties_html_a5af10131ea9f679b4ee174499f92e210"><div class="ttname"><a href="structUcxProperties.html#a5af10131ea9f679b4ee174499f92e210">UcxProperties::tmpcap</a></div><div class="ttdeci">size_t tmpcap</div><div class="ttdoc">Internal temporary buffer capacity (don&#39;t set manually). </div><div class="ttdef"><b>Definition:</b> properties.h:88</div></div> | |
90 | <div class="ttc" id="map_8h_html"><div class="ttname"><a href="map_8h.html">map.h</a></div><div class="ttdoc">Hash map implementation. </div></div> | |
91 | <div class="ttc" id="properties_8h_html_aaf8de121764a4d22c763ff2ab41f3a4d"><div class="ttname"><a href="properties_8h.html#aaf8de121764a4d22c763ff2ab41f3a4d">ucx_properties_fill</a></div><div class="ttdeci">void ucx_properties_fill(UcxProperties *prop, char *buf, size_t len)</div><div class="ttdoc">Sets the input buffer for the properties parser. </div><div class="ttdef"><b>Definition:</b> properties.c:64</div></div> | |
92 | <div class="ttc" id="properties_8h_html_a63c0c1b7648e675b21a1788917ff36fb"><div class="ttname"><a href="properties_8h.html#a63c0c1b7648e675b21a1788917ff36fb">ucx_properties_store</a></div><div class="ttdeci">int ucx_properties_store(UcxMap *map, FILE *file)</div><div class="ttdoc">Stores a UcxMap to a file. </div><div class="ttdef"><b>Definition:</b> properties.c:242</div></div> | |
93 | <div class="ttc" id="properties_8h_html_a38a2fe7bb2986bd87c7e69356ab05c05"><div class="ttname"><a href="properties_8h.html#a38a2fe7bb2986bd87c7e69356ab05c05">ucx_properties_free</a></div><div class="ttdeci">void ucx_properties_free(UcxProperties *prop)</div><div class="ttdoc">Destroys a UcxProperties object. </div><div class="ttdef"><b>Definition:</b> properties.c:57</div></div> | |
94 | </div><!-- fragment --></div><!-- contents --> | |
95 | <!-- start footer part --> | |
96 | <hr class="footer"/><address class="footer"><small> | |
97 | Generated on Thu Dec 19 2019 19:58:24 for ucx by  <a href="http://www.doxygen.org/index.html"> | |
98 | <img class="footer" src="doxygen.png" alt="doxygen"/> | |
99 | </a> 1.8.13 | |
100 | </small></address> | |
101 | </body> | |
102 | </html> |