]> git.seodisparate.com - UDPConnection/commitdiff
deploy: 3fac706d86f54327b0bcaf84d82dff11063a31b1
authorStephen-Seo <Stephen-Seo@users.noreply.github.com>
Wed, 19 Apr 2023 09:54:35 +0000 (09:54 +0000)
committerStephen-Seo <Stephen-Seo@users.noreply.github.com>
Wed, 19 Apr 2023 09:54:35 +0000 (09:54 +0000)
UDPC_8h.html
UDPC_8h_source.html
globals.html
globals_func.html
search/all_5.js
search/functions_0.js
structUDPC__PacketInfo.html

index 2436232bec9b3d4c5fd6984be675d1fe8f114c97..cc9e8cc6ec28fb9df6b7fdbe778fad9519e65d5e 100644 (file)
@@ -241,6 +241,9 @@ UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId
 <tr class="memitem:a68ed6dcb37c6024486fad28ab0bed845"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> (<a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo)</td></tr>
 <tr class="memdesc:a68ed6dcb37c6024486fad28ab0bed845"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>.  <a href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">More...</a><br /></td></tr>
 <tr class="separator:a68ed6dcb37c6024486fad28ab0bed845"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad77c746ea0401664e11bfd76c56e94f5"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> (<a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> *pInfoPtr)</td></tr>
+<tr class="memdesc:ad77c746ea0401664e11bfd76c56e94f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>.  <a href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">More...</a><br /></td></tr>
+<tr class="separator:ad77c746ea0401664e11bfd76c56e94f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a> (UDPC_HContext ctx, const unsigned char *sk, const unsigned char *pk)</td></tr>
 <tr class="memdesc:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets public/private keys used for packet verification.  <a href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">More...</a><br /></td></tr>
 <tr class="separator:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -447,7 +450,7 @@ Variables</h2></td></tr>
 
 <p>Data representing a received/sent packet. </p>
 <p >If data is NULL or dataSize is 0, then this packet is invalid.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to UDPC_free_PacketInfo to avoid a memory leak. </dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> or <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> to avoid a memory leak. </dd></dl>
 
 </div>
 </div>
@@ -882,8 +885,35 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. </p>
-<p >Internally, the member variable UDPC_PacketInfo::data will be free'd and set to NULL and UDPC_PacketInfo::dataSize will be set to 0 if the given packet is valid. </p>
+<p >Internally, the member variable UDPC_PacketInfo::data will be free'd. <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> is safer to use than this function, as it also zeros out the relevant data to avoid double frees. </p>
 
+</div>
+</div>
+<a id="ad77c746ea0401664e11bfd76c56e94f5" name="ad77c746ea0401664e11bfd76c56e94f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad77c746ea0401664e11bfd76c56e94f5">&#9670;&#160;</a></span>UDPC_free_PacketInfo_ptr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">UDPC_EXPORT void UDPC_free_PacketInfo_ptr </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> *&#160;</td>
+          <td class="paramname"><em>pInfoPtr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. </p>
+<p >This is a safer alternative to <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> because it internally zeroes out the internal pointer and size variables, making it safe to pass the same ptr multiple times to this function as it avoids a double free.</p>
+<p >Usage: </p><div class="fragment"><div class="line"><a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pinfo = <a class="code hl_function" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(ctx, NULL);</div>
+<div class="line"><a class="code hl_function" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a>(&amp;pinfo);</div>
+<div class="line"><a class="code hl_function" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a>(&amp;pinfo); <span class="comment">// This is safe, no double free.</span></div>
+<div class="ttc" id="aUDPC_8h_html_ad77c746ea0401664e11bfd76c56e94f5"><div class="ttname"><a href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_free_PacketInfo_ptr(UDPC_PacketInfo *pInfoPtr)</div><div class="ttdoc">Frees a UDPC_PacketInfo.</div></div>
+<div class="ttc" id="aUDPC_8h_html_affa8655a4e7e3475be441060e92213b3"><div class="ttname"><a href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a></div><div class="ttdeci">UDPC_EXPORT UDPC_PacketInfo UDPC_get_received(UDPC_HContext ctx, unsigned long *remaining)</div><div class="ttdoc">Get a received packet from a given UDPC context.</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html"><div class="ttname"><a href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a></div><div class="ttdoc">Data representing a received/sent packet.</div><div class="ttdef"><b>Definition:</b> UDPC.h:168</div></div>
+</div><!-- fragment --> 
 </div>
 </div>
 <a id="ab79769e36a92c346c6c410be158ddfe4" name="ab79769e36a92c346c6c410be158ddfe4"></a>
@@ -1154,7 +1184,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Get a received packet from a given UDPC context. </p>
-<dl class="section warning"><dt>Warning</dt><dd>The received packet (if valid) must be free'd with a call to <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo()</a> to avoid a memory leak. </dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>The received packet (if valid) must be free'd with a call to <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> or <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> to avoid a memory leak. </dd></dl>
 
 </div>
 </div>
index 270b035bb3073ab341c51fc13385518a3d1056bd..350abc33dd01052a8c4c077886d662343268f6e4 100644 (file)
@@ -206,152 +206,154 @@ $(function() {
 <div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    uint16_t port;</div>
 <div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">  157</a></span>} <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>;</div>
 <div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html">  167</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> {</div>
-<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    <span class="comment">// id is stored at offset 8, size 4 (uint32_t) even for &quot;empty&quot; PktInfos</span></div>
-<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">  173</a></span>    <span class="keywordtype">char</span> *<a class="code hl_variable" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a>;</div>
-<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">  184</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a>;</div>
-<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">  192</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a>;</div>
-<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">  202</a></span>    uint16_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>;</div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    uint16_t rtt;</div>
-<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">  205</a></span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_variable" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">sender</a>;</div>
-<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">  207</a></span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_variable" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">receiver</a>;</div>
-<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">  208</a></span>} <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a>;</div>
-<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
-<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">  229</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> {</div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>    UDPC_ET_NONE,</div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>    UDPC_ET_REQUEST_CONNECT,</div>
-<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>    UDPC_ET_REQUEST_DISCONNECT,</div>
-<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>    UDPC_ET_CONNECTED,</div>
-<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>    UDPC_ET_DISCONNECTED,</div>
-<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>    UDPC_ET_FAIL_CONNECT,</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>    UDPC_ET_GOOD_MODE,</div>
-<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    UDPC_ET_BAD_MODE</div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>} <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>;</div>
-<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
-<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="structUDPC__Event.html">  250</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a> {</div>
-<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>    <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> type;</div>
-<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> conId;</div>
-<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="unionUDPC__Event_1_1Value.html">  253</a></span>    <span class="keyword">union </span><a class="code hl_union" href="unionUDPC__Event_1_1Value.html">Value</a> {</div>
-<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>        <span class="keywordtype">int</span> dropAllWithAddr;</div>
-<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>        <span class="keywordtype">int</span> enableLibSodium;</div>
-<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>    } v;</div>
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">  257</a></span>} <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a>;</div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> </div>
-<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">  269</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a>(UDPC_IPV6_ADDR_TYPE addr, uint16_t port);</div>
-<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span> </div>
-<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">  278</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC_create_id_full</a>(UDPC_IPV6_ADDR_TYPE addr, uint32_t scope_id, uint16_t port);</div>
-<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
-<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">  289</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a>(uint16_t port);</div>
-<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span> </div>
-<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">  301</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrString, uint16_t port);</div>
-<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span> </div>
-<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> UDPC_create_id_hostname(<span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, uint16_t port);</div>
-<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span> </div>
-<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">  321</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, <span class="keywordtype">int</span> isClient, <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">  341</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC_init_threaded_update</a>(</div>
-<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
-<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>    <span class="keywordtype">int</span> isClient,</div>
-<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">  364</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC_init_threaded_update_ms</a>(</div>
-<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
-<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>    <span class="keywordtype">int</span> isClient,</div>
-<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span>    <span class="keywordtype">int</span> updateMS,</div>
-<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span> </div>
-<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">  379</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC_enable_threaded_update</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">  390</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> updateMS);</div>
-<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">  399</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC_disable_threaded_update</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span> </div>
-<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">  406</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span> </div>
-<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">  417</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span> </div>
-<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">  438</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span> </div>
-<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">  450</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC_client_initiate_connection</a>(</div>
-<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span>    UDPC_HContext ctx,</div>
-<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId,</div>
-<div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  453</span>    <span class="keywordtype">int</span> enableLibSodium);</div>
-<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
-<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">  473</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> destinationId,</div>
-<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span>                     <span class="keywordtype">int</span> isChecked, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, uint32_t size);</div>
-<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span> </div>
-<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">  492</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span> </div>
-<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">  510</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> *exists);</div>
-<div class="line"><a id="l00511" name="l00511"></a><span class="lineno">  511</span> </div>
-<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">  520</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a>();</div>
-<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span> </div>
-<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">  528</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC_set_accept_new_connections</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isAccepting);</div>
-<div class="line"><a id="l00529" name="l00529"></a><span class="lineno">  529</span> </div>
-<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">  541</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC_drop_connection</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, <span class="keywordtype">int</span> dropAllWithAddr);</div>
-<div class="line"><a id="l00542" name="l00542"></a><span class="lineno">  542</span> </div>
-<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">  552</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
-<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span> </div>
-<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">  568</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>* <a class="code hl_function" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size);</div>
-<div class="line"><a id="l00569" name="l00569"></a><span class="lineno">  569</span> </div>
-<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">  574</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list);</div>
-<div class="line"><a id="l00575" name="l00575"></a><span class="lineno">  575</span> </div>
-<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">  587</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00588" name="l00588"></a><span class="lineno">  588</span> </div>
-<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">  599</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a>(UDPC_HContext ctx, uint32_t <span class="keywordtype">id</span>);</div>
-<div class="line"><a id="l00600" name="l00600"></a><span class="lineno">  600</span> </div>
-<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">  609</a></span>UDPC_EXPORT UDPC_LoggingType <a class="code hl_function" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  610</span> </div>
-<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">  620</a></span>UDPC_EXPORT UDPC_LoggingType <a class="code hl_function" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a>(UDPC_HContext ctx, UDPC_LoggingType loggingType);</div>
-<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  621</span> </div>
-<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">  630</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC_get_receiving_events</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00631" name="l00631"></a><span class="lineno">  631</span> </div>
-<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">  641</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC_set_receiving_events</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isReceivingEvents);</div>
-<div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span> </div>
-<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">  654</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a> <a class="code hl_function" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
-<div class="line"><a id="l00655" name="l00655"></a><span class="lineno">  655</span> </div>
-<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"><a class="line" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">  662</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> <a class="code hl_function" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
-<div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span> </div>
-<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">  671</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a>(<a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo);</div>
-<div class="line"><a id="l00672" name="l00672"></a><span class="lineno">  672</span> </div>
-<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">  690</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html">  168</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> {</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>    <span class="comment">// id is stored at offset 8, size 4 (uint32_t) even for &quot;empty&quot; PktInfos</span></div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">  174</a></span>    <span class="keywordtype">char</span> *<a class="code hl_variable" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a>;</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">  185</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a>;</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">  193</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a>;</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">  203</a></span>    uint16_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    uint16_t rtt;</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">  206</a></span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_variable" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">sender</a>;</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">  208</a></span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_variable" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">receiver</a>;</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">  209</a></span>} <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a>;</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">  230</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> {</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>    UDPC_ET_NONE,</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>    UDPC_ET_REQUEST_CONNECT,</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>    UDPC_ET_REQUEST_DISCONNECT,</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>    UDPC_ET_CONNECTED,</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>    UDPC_ET_DISCONNECTED,</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>    UDPC_ET_FAIL_CONNECT,</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    UDPC_ET_GOOD_MODE,</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>    UDPC_ET_BAD_MODE</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>} <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>;</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="structUDPC__Event.html">  251</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a> {</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> type;</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> conId;</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="unionUDPC__Event_1_1Value.html">  254</a></span>    <span class="keyword">union </span><a class="code hl_union" href="unionUDPC__Event_1_1Value.html">Value</a> {</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>        <span class="keywordtype">int</span> dropAllWithAddr;</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>        <span class="keywordtype">int</span> enableLibSodium;</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>    } v;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">  258</a></span>} <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a>;</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">  270</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a>(UDPC_IPV6_ADDR_TYPE addr, uint16_t port);</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">  279</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC_create_id_full</a>(UDPC_IPV6_ADDR_TYPE addr, uint32_t scope_id, uint16_t port);</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">  290</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a>(uint16_t port);</div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">  302</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrString, uint16_t port);</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> UDPC_create_id_hostname(<span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, uint16_t port);</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">  322</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, <span class="keywordtype">int</span> isClient, <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">  342</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC_init_threaded_update</a>(</div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>    <span class="keywordtype">int</span> isClient,</div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">  365</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC_init_threaded_update_ms</a>(</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span>    <span class="keywordtype">int</span> isClient,</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>    <span class="keywordtype">int</span> updateMS,</div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">  380</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC_enable_threaded_update</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">  391</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> updateMS);</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">  400</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC_disable_threaded_update</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">  407</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">  418</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">  439</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">  451</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC_client_initiate_connection</a>(</div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span>    UDPC_HContext ctx,</div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  453</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId,</div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span>    <span class="keywordtype">int</span> enableLibSodium);</div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  455</span> </div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">  474</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> destinationId,</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>                     <span class="keywordtype">int</span> isChecked, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, uint32_t size);</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">  493</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">  511</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> *exists);</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">  521</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a>();</div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">  529</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC_set_accept_new_connections</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isAccepting);</div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span> </div>
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">  542</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC_drop_connection</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, <span class="keywordtype">int</span> dropAllWithAddr);</div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">  553</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span> </div>
+<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">  569</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>* <a class="code hl_function" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size);</div>
+<div class="line"><a id="l00570" name="l00570"></a><span class="lineno">  570</span> </div>
+<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">  575</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list);</div>
+<div class="line"><a id="l00576" name="l00576"></a><span class="lineno">  576</span> </div>
+<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">  588</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span> </div>
+<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">  600</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a>(UDPC_HContext ctx, uint32_t <span class="keywordtype">id</span>);</div>
+<div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span> </div>
+<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">  610</a></span>UDPC_EXPORT UDPC_LoggingType <a class="code hl_function" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span> </div>
+<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">  621</a></span>UDPC_EXPORT UDPC_LoggingType <a class="code hl_function" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a>(UDPC_HContext ctx, UDPC_LoggingType loggingType);</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"><a class="line" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">  631</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC_get_receiving_events</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span> </div>
+<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">  642</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC_set_receiving_events</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isReceivingEvents);</div>
+<div class="line"><a id="l00643" name="l00643"></a><span class="lineno">  643</span> </div>
+<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">  655</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a> <a class="code hl_function" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
+<div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span> </div>
+<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"><a class="line" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">  664</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> <a class="code hl_function" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
+<div class="line"><a id="l00665" name="l00665"></a><span class="lineno">  665</span> </div>
+<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">  673</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a>(<a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo);</div>
+<div class="line"><a id="l00674" name="l00674"></a><span class="lineno">  674</span> </div>
+<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">  690</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a>(<a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> *pInfoPtr);</div>
 <div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span> </div>
-<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">  705</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk);</div>
-<div class="line"><a id="l00706" name="l00706"></a><span class="lineno">  706</span> </div>
-<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">  715</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00716" name="l00716"></a><span class="lineno">  716</span> </div>
-<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">  732</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a id="l00733" name="l00733"></a><span class="lineno">  733</span> </div>
-<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">  742</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a id="l00743" name="l00743"></a><span class="lineno">  743</span> </div>
-<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">  752</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a id="l00753" name="l00753"></a><span class="lineno">  753</span> </div>
-<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">  768</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span> </div>
-<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">  784</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a>(UDPC_HContext ctx);</div>
-<div class="line"><a id="l00785" name="l00785"></a><span class="lineno">  785</span> </div>
-<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">  800</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> value);</div>
-<div class="line"><a id="l00801" name="l00801"></a><span class="lineno">  801</span> </div>
-<div class="line"><a id="l00802" name="l00802"></a><span class="lineno">  802</span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr_cid(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
-<div class="line"><a id="l00803" name="l00803"></a><span class="lineno">  803</span> </div>
-<div class="line"><a id="l00804" name="l00804"></a><span class="lineno">  804</span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr);</div>
-<div class="line"><a id="l00805" name="l00805"></a><span class="lineno">  805</span> </div>
-<div class="line"><a id="l00806" name="l00806"></a><span class="lineno">  806</span><span class="comment">// =============================================================================</span></div>
-<div class="line"><a id="l00807" name="l00807"></a><span class="lineno">  807</span><span class="comment">// Helpers</span></div>
-<div class="line"><a id="l00808" name="l00808"></a><span class="lineno">  808</span> </div>
-<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">  810</a></span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE <a class="code hl_function" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC_strtoa</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr);</div>
-<div class="line"><a id="l00811" name="l00811"></a><span class="lineno">  811</span> </div>
-<div class="line"><a id="l00812" name="l00812"></a><span class="lineno">  812</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_strtoa_link(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr, uint32_t *linkId_out);</div>
-<div class="line"><a id="l00813" name="l00813"></a><span class="lineno">  813</span> </div>
-<div class="line"><a id="l00814" name="l00814"></a><span class="lineno">  814</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_a4toa6(uint32_t a4_be);</div>
-<div class="line"><a id="l00815" name="l00815"></a><span class="lineno">  815</span> </div>
-<div class="line"><a id="l00816" name="l00816"></a><span class="lineno">  816</span>UDPC_EXPORT <span class="keywordtype">int</span> UDPC_is_big_endian();</div>
-<div class="line"><a id="l00817" name="l00817"></a><span class="lineno">  817</span>UDPC_EXPORT uint16_t UDPC_no16i(uint16_t i);</div>
-<div class="line"><a id="l00818" name="l00818"></a><span class="lineno">  818</span>UDPC_EXPORT uint32_t UDPC_no32i(uint32_t i);</div>
-<div class="line"><a id="l00819" name="l00819"></a><span class="lineno">  819</span>UDPC_EXPORT uint64_t UDPC_no64i(uint64_t i);</div>
-<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  820</span>UDPC_EXPORT <span class="keywordtype">float</span> UDPC_no32f(<span class="keywordtype">float</span> f);</div>
-<div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  821</span>UDPC_EXPORT <span class="keywordtype">double</span> UDPC_no64f(<span class="keywordtype">double</span> f);</div>
+<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">  709</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00710" name="l00710"></a><span class="lineno">  710</span> </div>
+<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">  724</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk);</div>
+<div class="line"><a id="l00725" name="l00725"></a><span class="lineno">  725</span> </div>
+<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">  734</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00735" name="l00735"></a><span class="lineno">  735</span> </div>
+<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">  751</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00752" name="l00752"></a><span class="lineno">  752</span> </div>
+<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">  761</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00762" name="l00762"></a><span class="lineno">  762</span> </div>
+<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">  771</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00772" name="l00772"></a><span class="lineno">  772</span> </div>
+<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">  787</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00788" name="l00788"></a><span class="lineno">  788</span> </div>
+<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">  803</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00804" name="l00804"></a><span class="lineno">  804</span> </div>
+<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">  819</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> value);</div>
+<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  820</span> </div>
+<div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  821</span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr_cid(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
 <div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  822</span> </div>
-<div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  823</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  824</span>}</div>
-<div class="line"><a id="l00825" name="l00825"></a><span class="lineno">  825</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00826" name="l00826"></a><span class="lineno">  826</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  823</span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr);</div>
+<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  824</span> </div>
+<div class="line"><a id="l00825" name="l00825"></a><span class="lineno">  825</span><span class="comment">// =============================================================================</span></div>
+<div class="line"><a id="l00826" name="l00826"></a><span class="lineno">  826</span><span class="comment">// Helpers</span></div>
+<div class="line"><a id="l00827" name="l00827"></a><span class="lineno">  827</span> </div>
+<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">  829</a></span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE <a class="code hl_function" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC_strtoa</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr);</div>
+<div class="line"><a id="l00830" name="l00830"></a><span class="lineno">  830</span> </div>
+<div class="line"><a id="l00831" name="l00831"></a><span class="lineno">  831</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_strtoa_link(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr, uint32_t *linkId_out);</div>
+<div class="line"><a id="l00832" name="l00832"></a><span class="lineno">  832</span> </div>
+<div class="line"><a id="l00833" name="l00833"></a><span class="lineno">  833</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_a4toa6(uint32_t a4_be);</div>
+<div class="line"><a id="l00834" name="l00834"></a><span class="lineno">  834</span> </div>
+<div class="line"><a id="l00835" name="l00835"></a><span class="lineno">  835</span>UDPC_EXPORT <span class="keywordtype">int</span> UDPC_is_big_endian();</div>
+<div class="line"><a id="l00836" name="l00836"></a><span class="lineno">  836</span>UDPC_EXPORT uint16_t UDPC_no16i(uint16_t i);</div>
+<div class="line"><a id="l00837" name="l00837"></a><span class="lineno">  837</span>UDPC_EXPORT uint32_t UDPC_no32i(uint32_t i);</div>
+<div class="line"><a id="l00838" name="l00838"></a><span class="lineno">  838</span>UDPC_EXPORT uint64_t UDPC_no64i(uint64_t i);</div>
+<div class="line"><a id="l00839" name="l00839"></a><span class="lineno">  839</span>UDPC_EXPORT <span class="keywordtype">float</span> UDPC_no32f(<span class="keywordtype">float</span> f);</div>
+<div class="line"><a id="l00840" name="l00840"></a><span class="lineno">  840</span>UDPC_EXPORT <span class="keywordtype">double</span> UDPC_no64f(<span class="keywordtype">double</span> f);</div>
+<div class="line"><a id="l00841" name="l00841"></a><span class="lineno">  841</span> </div>
+<div class="line"><a id="l00842" name="l00842"></a><span class="lineno">  842</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00843" name="l00843"></a><span class="lineno">  843</span>}</div>
+<div class="line"><a id="l00844" name="l00844"></a><span class="lineno">  844</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00845" name="l00845"></a><span class="lineno">  845</span><span class="preprocessor">#endif</span></div>
 <div class="ttc" id="aUDPC_8h_html_a0720bec1922660c983b1b3d9f6a5de3a"><div class="ttname"><a href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a></div><div class="ttdeci">UDPC_EXPORT uint32_t UDPC_set_protocol_id(UDPC_HContext ctx, uint32_t id)</div><div class="ttdoc">Sets the protocol id of the UDPC context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a0e2e0c6a6a442db2cb3223d26f849d26"><div class="ttname"><a href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_clear_whitelist(UDPC_HContext ctx)</div><div class="ttdoc">Clears the public key whitelist.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a0fa3e1e54877029a226ab9cfb74215df"><div class="ttname"><a href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId UDPC_create_id_anyaddr(uint16_t port)</div><div class="ttdoc">Creates an UDPC_ConnectionId with the given port.</div></div>
@@ -399,20 +401,21 @@ $(function() {
 <div class="ttc" id="aUDPC_8h_html_ac04213a4287500a9c5330f543eac3103"><div class="ttname"><a href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC_ERROR</a></div><div class="ttdeci">UDPC_ERROR</div><div class="ttdoc">Only log errors.</div><div class="ttdef"><b>Definition:</b> UDPC.h:123</div></div>
 <div class="ttc" id="aUDPC_8h_html_ad0c7d69eeda20e98696d5c89bbbab096"><div class="ttname"><a href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a></div><div class="ttdeci">UDPC_EXPORT UDPC_LoggingType UDPC_get_logging_type(UDPC_HContext ctx)</div><div class="ttdoc">Gets the logging type of the UDPC context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_ad5741af4e5cf1da40fe4a7b92cd1c431"><div class="ttname"><a href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC_VERBOSE</a></div><div class="ttdeci">UDPC_VERBOSE</div><div class="ttdoc">Log errors, warning, info, and verbose.</div><div class="ttdef"><b>Definition:</b> UDPC.h:129</div></div>
+<div class="ttc" id="aUDPC_8h_html_ad77c746ea0401664e11bfd76c56e94f5"><div class="ttname"><a href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_free_PacketInfo_ptr(UDPC_PacketInfo *pInfoPtr)</div><div class="ttdoc">Frees a UDPC_PacketInfo.</div></div>
 <div class="ttc" id="aUDPC_8h_html_ad7eb0c77561f84a63dad29388d099fbe"><div class="ttname"><a href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_set_libsodium_key_easy(UDPC_HContext ctx, const unsigned char *sk)</div><div class="ttdoc">Sets the public/private keys used for packet verification.</div></div>
-<div class="ttc" id="aUDPC_8h_html_adaa0534bf7f04bb2f6ce8975c99c4af0"><div class="ttname"><a href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a></div><div class="ttdeci">enum UDPC_EXPORT UDPC_EventType UDPC_EventType</div><div class="ttdoc">An enum describing the type of event.</div><div class="ttdef"><b>Definition:</b> UDPC.h:229</div></div>
+<div class="ttc" id="aUDPC_8h_html_adaa0534bf7f04bb2f6ce8975c99c4af0"><div class="ttname"><a href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a></div><div class="ttdeci">enum UDPC_EXPORT UDPC_EventType UDPC_EventType</div><div class="ttdoc">An enum describing the type of event.</div><div class="ttdef"><b>Definition:</b> UDPC.h:230</div></div>
 <div class="ttc" id="aUDPC_8h_html_aea7e32ca9fdc04530f95c97459391e6d"><div class="ttname"><a href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId UDPC_create_id(UDPC_IPV6_ADDR_TYPE addr, uint16_t port)</div><div class="ttdoc">Creates an UDPC_ConnectionId with the given addr and port.</div></div>
 <div class="ttc" id="aUDPC_8h_html_affa8655a4e7e3475be441060e92213b3"><div class="ttname"><a href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a></div><div class="ttdeci">UDPC_EXPORT UDPC_PacketInfo UDPC_get_received(UDPC_HContext ctx, unsigned long *remaining)</div><div class="ttdoc">Get a received packet from a given UDPC context.</div></div>
 <div class="ttc" id="astructUDPC__ConnectionId_html"><div class="ttname"><a href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a></div><div class="ttdoc">Data identifying a peer via addr, port, and scope_id.</div><div class="ttdef"><b>Definition:</b> UDPC.h:153</div></div>
-<div class="ttc" id="astructUDPC__Event_html"><div class="ttname"><a href="structUDPC__Event.html">UDPC_Event</a></div><div class="ttdoc">A struct containing information related to the type of event.</div><div class="ttdef"><b>Definition:</b> UDPC.h:250</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html"><div class="ttname"><a href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a></div><div class="ttdoc">Data representing a received/sent packet.</div><div class="ttdef"><b>Definition:</b> UDPC.h:167</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html_a1358f91f28c4a023ef201e868bf1069e"><div class="ttname"><a href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo::data</a></div><div class="ttdeci">char * data</div><div class="ttdef"><b>Definition:</b> UDPC.h:173</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html_a5af734c663d3df72dad2b81a8794b6dc"><div class="ttname"><a href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">UDPC_PacketInfo::sender</a></div><div class="ttdeci">UDPC_ConnectionId sender</div><div class="ttdoc">The UDPC_ConnectionId of the sender.</div><div class="ttdef"><b>Definition:</b> UDPC.h:205</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html_a70230a2eb6a638d9e9fc04e230c92a74"><div class="ttname"><a href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo::dataSize</a></div><div class="ttdeci">uint16_t dataSize</div><div class="ttdoc">The size in bytes of the received packet's data inside the data pointer member variable.</div><div class="ttdef"><b>Definition:</b> UDPC.h:202</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html_a965f393584d389dc72becd439cafde0d"><div class="ttname"><a href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">UDPC_PacketInfo::receiver</a></div><div class="ttdeci">UDPC_ConnectionId receiver</div><div class="ttdoc">The UDPC_ConnectionId of the receiver.</div><div class="ttdef"><b>Definition:</b> UDPC.h:207</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html_ac21cc9beab22eb1e1a2d5c0797ed0fbe"><div class="ttname"><a href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">UDPC_PacketInfo::id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdoc">The packet's id.</div><div class="ttdef"><b>Definition:</b> UDPC.h:192</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html_ad538ac2682e8276dc33553237f012ce1"><div class="ttname"><a href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdoc">Flags indication some additional information about the received packet.</div><div class="ttdef"><b>Definition:</b> UDPC.h:184</div></div>
-<div class="ttc" id="aunionUDPC__Event_1_1Value_html"><div class="ttname"><a href="unionUDPC__Event_1_1Value.html">UDPC_Event::Value</a></div><div class="ttdef"><b>Definition:</b> UDPC.h:253</div></div>
+<div class="ttc" id="astructUDPC__Event_html"><div class="ttname"><a href="structUDPC__Event.html">UDPC_Event</a></div><div class="ttdoc">A struct containing information related to the type of event.</div><div class="ttdef"><b>Definition:</b> UDPC.h:251</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html"><div class="ttname"><a href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a></div><div class="ttdoc">Data representing a received/sent packet.</div><div class="ttdef"><b>Definition:</b> UDPC.h:168</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html_a1358f91f28c4a023ef201e868bf1069e"><div class="ttname"><a href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo::data</a></div><div class="ttdeci">char * data</div><div class="ttdef"><b>Definition:</b> UDPC.h:174</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html_a5af734c663d3df72dad2b81a8794b6dc"><div class="ttname"><a href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">UDPC_PacketInfo::sender</a></div><div class="ttdeci">UDPC_ConnectionId sender</div><div class="ttdoc">The UDPC_ConnectionId of the sender.</div><div class="ttdef"><b>Definition:</b> UDPC.h:206</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html_a70230a2eb6a638d9e9fc04e230c92a74"><div class="ttname"><a href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo::dataSize</a></div><div class="ttdeci">uint16_t dataSize</div><div class="ttdoc">The size in bytes of the received packet's data inside the data pointer member variable.</div><div class="ttdef"><b>Definition:</b> UDPC.h:203</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html_a965f393584d389dc72becd439cafde0d"><div class="ttname"><a href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">UDPC_PacketInfo::receiver</a></div><div class="ttdeci">UDPC_ConnectionId receiver</div><div class="ttdoc">The UDPC_ConnectionId of the receiver.</div><div class="ttdef"><b>Definition:</b> UDPC.h:208</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html_ac21cc9beab22eb1e1a2d5c0797ed0fbe"><div class="ttname"><a href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">UDPC_PacketInfo::id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdoc">The packet's id.</div><div class="ttdef"><b>Definition:</b> UDPC.h:193</div></div>
+<div class="ttc" id="astructUDPC__PacketInfo_html_ad538ac2682e8276dc33553237f012ce1"><div class="ttname"><a href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdoc">Flags indication some additional information about the received packet.</div><div class="ttdef"><b>Definition:</b> UDPC.h:185</div></div>
+<div class="ttc" id="aunionUDPC__Event_1_1Value_html"><div class="ttname"><a href="unionUDPC__Event_1_1Value.html">UDPC_Event::Value</a></div><div class="ttdef"><b>Definition:</b> UDPC.h:254</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 3cd0d0025bbd8d4b9ca66b6776f2e2812a95b6cf..0cea76ff65cecc5bef37202a4a54c05904403d08 100644 (file)
@@ -94,6 +94,7 @@ $(function() {
 <li>UDPC_EventType&#160;:&#160;<a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC.h</a></li>
 <li>UDPC_free_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC.h</a></li>
 <li>UDPC_free_PacketInfo()&#160;:&#160;<a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC.h</a></li>
+<li>UDPC_free_PacketInfo_ptr()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC.h</a></li>
 <li>UDPC_get_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC.h</a></li>
 <li>UDPC_get_event()&#160;:&#160;<a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC.h</a></li>
 <li>UDPC_get_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC.h</a></li>
index da9f89d9268eca9e0eab776fb27574e54c9e423e..fdf4c6cc47c312890f64e256651da7e97ccb0b22 100644 (file)
@@ -87,6 +87,7 @@ $(function() {
 <li>UDPC_enable_threaded_update_ms()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC.h</a></li>
 <li>UDPC_free_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC.h</a></li>
 <li>UDPC_free_PacketInfo()&#160;:&#160;<a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC.h</a></li>
+<li>UDPC_free_PacketInfo_ptr()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC.h</a></li>
 <li>UDPC_get_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC.h</a></li>
 <li>UDPC_get_event()&#160;:&#160;<a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC.h</a></li>
 <li>UDPC_get_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC.h</a></li>
index 3fc71b889d88ff1477c782fdb26b2496dea34d91..8bfc54ee13bf22299e7d6ad7aba9ab6b4ccb13c4 100644 (file)
@@ -22,39 +22,40 @@ var searchData=
   ['udpc_5feventtype_19',['UDPC_EventType',['../UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0',1,'UDPC.h']]],
   ['udpc_5ffree_5flist_5fconnected_20',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
   ['udpc_5ffree_5fpacketinfo_21',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
-  ['udpc_5fget_5fauth_5fpolicy_22',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
-  ['udpc_5fget_5fevent_23',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
-  ['udpc_5fget_5flist_5fconnected_24',['UDPC_get_list_connected',['../UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547',1,'UDPC.h']]],
-  ['udpc_5fget_5flogging_5ftype_25',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
-  ['udpc_5fget_5fmax_5fqueued_5fsize_26',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
-  ['udpc_5fget_5fprotocol_5fid_27',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_28',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueued_5fsize_29',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
-  ['udpc_5fget_5freceived_30',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
-  ['udpc_5fget_5freceiving_5fevents_31',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
-  ['udpc_5fhas_5fconnection_32',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
-  ['udpc_5fhas_5fwhitelist_5fpk_33',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
-  ['udpc_5finfo_34',['UDPC_INFO',['../UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15',1,'UDPC.h']]],
-  ['udpc_5finit_35',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_36',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_5fms_37',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
-  ['udpc_5fis_5fvalid_5fcontext_38',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
-  ['udpc_5fpacket_5fmax_5fsize_39',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]],
-  ['udpc_5fpacketinfo_40',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC_PacketInfo():&#160;UDPC.h'],['../structUDPC__PacketInfo.html',1,'UDPC_PacketInfo']]],
-  ['udpc_5fqueue_5fsend_41',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
-  ['udpc_5fremove_5fwhitelist_5fpk_42',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
-  ['udpc_5fset_5faccept_5fnew_5fconnections_43',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
-  ['udpc_5fset_5fauth_5fpolicy_44',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkey_5feasy_45',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkeys_46',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
-  ['udpc_5fset_5flogging_5ftype_47',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
-  ['udpc_5fset_5fprotocol_5fid_48',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
-  ['udpc_5fset_5freceiving_5fevents_49',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
-  ['udpc_5fsilent_50',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
-  ['udpc_5fstrtoa_51',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
-  ['udpc_5funset_5flibsodium_5fkeys_52',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
-  ['udpc_5fupdate_53',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]],
-  ['udpc_5fverbose_54',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
-  ['udpc_5fwarning_55',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]],
-  ['udpconnection_56',['UDPConnection',['../index.html',1,'']]]
+  ['udpc_5ffree_5fpacketinfo_5fptr_22',['UDPC_free_PacketInfo_ptr',['../UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5',1,'UDPC.h']]],
+  ['udpc_5fget_5fauth_5fpolicy_23',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
+  ['udpc_5fget_5fevent_24',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
+  ['udpc_5fget_5flist_5fconnected_25',['UDPC_get_list_connected',['../UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547',1,'UDPC.h']]],
+  ['udpc_5fget_5flogging_5ftype_26',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
+  ['udpc_5fget_5fmax_5fqueued_5fsize_27',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
+  ['udpc_5fget_5fprotocol_5fid_28',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_29',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueued_5fsize_30',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
+  ['udpc_5fget_5freceived_31',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
+  ['udpc_5fget_5freceiving_5fevents_32',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
+  ['udpc_5fhas_5fconnection_33',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
+  ['udpc_5fhas_5fwhitelist_5fpk_34',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
+  ['udpc_5finfo_35',['UDPC_INFO',['../UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15',1,'UDPC.h']]],
+  ['udpc_5finit_36',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_37',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_5fms_38',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
+  ['udpc_5fis_5fvalid_5fcontext_39',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
+  ['udpc_5fpacket_5fmax_5fsize_40',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]],
+  ['udpc_5fpacketinfo_41',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC_PacketInfo():&#160;UDPC.h'],['../structUDPC__PacketInfo.html',1,'UDPC_PacketInfo']]],
+  ['udpc_5fqueue_5fsend_42',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
+  ['udpc_5fremove_5fwhitelist_5fpk_43',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
+  ['udpc_5fset_5faccept_5fnew_5fconnections_44',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
+  ['udpc_5fset_5fauth_5fpolicy_45',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkey_5feasy_46',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkeys_47',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
+  ['udpc_5fset_5flogging_5ftype_48',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
+  ['udpc_5fset_5fprotocol_5fid_49',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
+  ['udpc_5fset_5freceiving_5fevents_50',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
+  ['udpc_5fsilent_51',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
+  ['udpc_5fstrtoa_52',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
+  ['udpc_5funset_5flibsodium_5fkeys_53',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
+  ['udpc_5fupdate_54',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]],
+  ['udpc_5fverbose_55',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
+  ['udpc_5fwarning_56',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]],
+  ['udpconnection_57',['UDPConnection',['../index.html',1,'']]]
 ];
index f9145e00ae1a7b85d55993efce3e7e9c6ff9b1be..32fe126a08b050dd0a85c1ab5d46ac5d767d2d0e 100644 (file)
@@ -14,32 +14,33 @@ var searchData=
   ['udpc_5fenable_5fthreaded_5fupdate_5fms_11',['UDPC_enable_threaded_update_ms',['../UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833',1,'UDPC.h']]],
   ['udpc_5ffree_5flist_5fconnected_12',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
   ['udpc_5ffree_5fpacketinfo_13',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
-  ['udpc_5fget_5fauth_5fpolicy_14',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
-  ['udpc_5fget_5fevent_15',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
-  ['udpc_5fget_5flist_5fconnected_16',['UDPC_get_list_connected',['../UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547',1,'UDPC.h']]],
-  ['udpc_5fget_5flogging_5ftype_17',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
-  ['udpc_5fget_5fmax_5fqueued_5fsize_18',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
-  ['udpc_5fget_5fprotocol_5fid_19',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_20',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueued_5fsize_21',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
-  ['udpc_5fget_5freceived_22',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
-  ['udpc_5fget_5freceiving_5fevents_23',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
-  ['udpc_5fhas_5fconnection_24',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
-  ['udpc_5fhas_5fwhitelist_5fpk_25',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
-  ['udpc_5finit_26',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_27',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_5fms_28',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
-  ['udpc_5fis_5fvalid_5fcontext_29',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
-  ['udpc_5fqueue_5fsend_30',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
-  ['udpc_5fremove_5fwhitelist_5fpk_31',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
-  ['udpc_5fset_5faccept_5fnew_5fconnections_32',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
-  ['udpc_5fset_5fauth_5fpolicy_33',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkey_5feasy_34',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkeys_35',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
-  ['udpc_5fset_5flogging_5ftype_36',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
-  ['udpc_5fset_5fprotocol_5fid_37',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
-  ['udpc_5fset_5freceiving_5fevents_38',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
-  ['udpc_5fstrtoa_39',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
-  ['udpc_5funset_5flibsodium_5fkeys_40',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
-  ['udpc_5fupdate_41',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]]
+  ['udpc_5ffree_5fpacketinfo_5fptr_14',['UDPC_free_PacketInfo_ptr',['../UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5',1,'UDPC.h']]],
+  ['udpc_5fget_5fauth_5fpolicy_15',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
+  ['udpc_5fget_5fevent_16',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
+  ['udpc_5fget_5flist_5fconnected_17',['UDPC_get_list_connected',['../UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547',1,'UDPC.h']]],
+  ['udpc_5fget_5flogging_5ftype_18',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
+  ['udpc_5fget_5fmax_5fqueued_5fsize_19',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
+  ['udpc_5fget_5fprotocol_5fid_20',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_21',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueued_5fsize_22',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
+  ['udpc_5fget_5freceived_23',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
+  ['udpc_5fget_5freceiving_5fevents_24',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
+  ['udpc_5fhas_5fconnection_25',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
+  ['udpc_5fhas_5fwhitelist_5fpk_26',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
+  ['udpc_5finit_27',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_28',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_5fms_29',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
+  ['udpc_5fis_5fvalid_5fcontext_30',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
+  ['udpc_5fqueue_5fsend_31',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
+  ['udpc_5fremove_5fwhitelist_5fpk_32',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
+  ['udpc_5fset_5faccept_5fnew_5fconnections_33',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
+  ['udpc_5fset_5fauth_5fpolicy_34',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkey_5feasy_35',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkeys_36',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
+  ['udpc_5fset_5flogging_5ftype_37',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
+  ['udpc_5fset_5fprotocol_5fid_38',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
+  ['udpc_5fset_5freceiving_5fevents_39',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
+  ['udpc_5fstrtoa_40',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
+  ['udpc_5funset_5flibsodium_5fkeys_41',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
+  ['udpc_5fupdate_42',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]]
 ];
index 953302ed86351787ceea04e509006435d8cee756..a7959770063782d3f70e884a87b7bfc08ce7f105 100644 (file)
@@ -109,7 +109,7 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p >Data representing a received/sent packet. </p>
 <p >If <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> is NULL or <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a> is 0, then this packet is invalid.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to UDPC_free_PacketInfo to avoid a memory leak. </dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> or <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> to avoid a memory leak. </dd></dl>
 </div><h2 class="groupheader">Field Documentation</h2>
 <a id="a1358f91f28c4a023ef201e868bf1069e" name="a1358f91f28c4a023ef201e868bf1069e"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a1358f91f28c4a023ef201e868bf1069e">&#9670;&#160;</a></span>data</h2>