]> git.seodisparate.com - UDPConnection/commitdiff
deploy: c7dfdf028cf515ba968171a26cba40d4e4606481
authorStephen-Seo <Stephen-Seo@users.noreply.github.com>
Wed, 12 Mar 2025 07:09:09 +0000 (07:09 +0000)
committerStephen-Seo <Stephen-Seo@users.noreply.github.com>
Wed, 12 Mar 2025 07:09:09 +0000 (07:09 +0000)
UDPC_8h.html
UDPC_8h_source.html
doxygen_crawl.html
globals.html
globals_func.html
search/all_5.js
search/functions_0.js

index 5a40bc1bedf610351b04493f06fb3f3a568a5274..5f0d73357dc66bcf33961d6e3a2bf810a1a4a5ed 100644 (file)
@@ -306,6 +306,9 @@ UDPC_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_atos
 <tr class="memitem:a2e47fb8779abe3a9db72a08bf494dc75" id="r_a2e47fb8779abe3a9db72a08bf494dc75"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a> (const char **addrBuf)</td></tr>
 <tr class="memdesc:a2e47fb8779abe3a9db72a08bf494dc75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an addr string created with <a class="el" href="#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free&#39;d.">UDPC_atostr_unsafe()</a> and zeroes the pointer.  <br /></td></tr>
 <tr class="separator:a2e47fb8779abe3a9db72a08bf494dc75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb40d2c285eec0c53dd77e9d2cfeb5a2" id="r_aeb40d2c285eec0c53dd77e9d2cfeb5a2"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeb40d2c285eec0c53dd77e9d2cfeb5a2">UDPC_set_heartbeat_millis</a> (UDPC_HContext ctx, unsigned int millis)</td></tr>
+<tr class="memdesc:aeb40d2c285eec0c53dd77e9d2cfeb5a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the amount of time between heartbeat packets.  <br /></td></tr>
+<tr class="separator:aeb40d2c285eec0c53dd77e9d2cfeb5a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2ae8e7d87f785dd3b3353a00005c3dc6" id="r_a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="memItemLeft" align="right" valign="top"><a id="a2ae8e7d87f785dd3b3353a00005c3dc6" name="a2ae8e7d87f785dd3b3353a00005c3dc6"></a>
 UDPC_EXPORT UDPC_IPV6_ADDR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_strtoa</b> (const char *addrStr)</td></tr>
 <tr class="memdesc:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">addrStr must be a valid ipv6 address or a valid ipv4 address <br /></td></tr>
@@ -389,7 +392,9 @@ Variables</h2></td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Public API for UDPConnection. </p>
-<p>Note that all functions are thread-safe unless mentioned otherwise in the function's documentation. </p>
+<p>Note that all functions are thread-safe unless mentioned otherwise in the function's documentation.</p>
+<p>UDPC maintains a binary state for each connection. This state is either "good mode" or "bad mode". All connections start in "bad mode". When in "bad
+mode", the fastest packet sending rate is 1 packet per 0.1 seconds, or 10 packets per second. When in "good mode", the fastest packet sending rate is 1 packet per 33.333 milliseconds, or 30 packets a second. Queued packets are sent immediately at the current mode's fastest-interval rate. If there are no queued packets, then "heartbeat" packets are sent at a rate of 1 packet per 0.15 seconds, or roughly 6 packets a second. This "heartbeat interval" can be adjusted with the <a class="el" href="#aeb40d2c285eec0c53dd77e9d2cfeb5a2">UDPC_set_heartbeat_millis()</a> function. </p>
 </div><h2 class="groupheader">Typedef Documentation</h2>
 <a id="a228cd7ddf56a4e76e216bc3b80e8bd4a" name="a228cd7ddf56a4e76e216bc3b80e8bd4a"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a228cd7ddf56a4e76e216bc3b80e8bd4a">&#9670;&#160;</a></span>UDPC_AuthPolicy</h2>
@@ -605,7 +610,7 @@ Variables</h2></td></tr>
 <div class="line"><a class="code hl_function" href="#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a>(&amp;addrString);</div>
 <div class="ttc" id="aUDPC_8h_html_a1549eee3edacbc23ca144eec72d274bb"><div class="ttname"><a href="#a1549eee3edacbc23ca144eec72d274bb">UDPC_atostr_unsafe_cid</a></div><div class="ttdeci">UDPC_EXPORT const char * UDPC_atostr_unsafe_cid(UDPC_ConnectionId cid)</div><div class="ttdoc">Similar to UPDC_atostr(), but the returned ptr must be free'd.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a2e47fb8779abe3a9db72a08bf494dc75"><div class="ttname"><a href="#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_atostr_unsafe_free_ptr(const char **addrBuf)</div><div class="ttdoc">Free an addr string created with UDPC_atostr_unsafe() and zeroes the pointer.</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:159</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:169</div></div>
 </div><!-- fragment --> 
 </div>
 </div>
@@ -979,7 +984,7 @@ Variables</h2></td></tr>
 <div class="line"><a class="code hl_function" href="#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="#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="#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:174</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:184</div></div>
 </div><!-- fragment --> 
 </div>
 </div>
@@ -1774,6 +1779,34 @@ Variables</h2></td></tr>
 <p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>The previous auth policy (see <a class="el" href="#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>), or zero on fail </dd></dl>
 
+</div>
+</div>
+<a id="aeb40d2c285eec0c53dd77e9d2cfeb5a2" name="aeb40d2c285eec0c53dd77e9d2cfeb5a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb40d2c285eec0c53dd77e9d2cfeb5a2">&#9670;&#160;</a></span>UDPC_set_heartbeat_millis()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">UDPC_EXPORT int UDPC_set_heartbeat_millis </td>
+          <td>(</td>
+          <td class="paramtype">UDPC_HContext</td>          <td class="paramname"><span class="paramname"><em>ctx</em></span>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int</td>          <td class="paramname"><span class="paramname"><em>millis</em></span>&#160;)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sets the amount of time between heartbeat packets. </p>
+<p>By default, UDPC sends a heartbeat packet every 150 milliseconds. This function can be used to increase the heartbeat interval time. Valid values are between 150 to 5000 milliseconds. Any value outside of this range will be clamped to within this range.</p>
+<p>This function affects all connections associated with the given UDPC Context.</p>
+<p>This is useful for cases where low-latency is not required. Also note that increasing the heartbeat interval may prevent UDPC from entering "good mode" for any connection. (See <a href="#details">details</a> for info on "good
+mode" and "bad mode".)</p>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 if clamped to minimum, 2 if clamped to maximum, -1 if the given context is invalid. </dd></dl>
+
 </div>
 </div>
 <a id="ad7eb0c77561f84a63dad29388d099fbe" name="ad7eb0c77561f84a63dad29388d099fbe"></a>
index 2a243b514b4d3479403310abe77b26b3fda8fa5b..aba18dc6e538309af224c6e6e7eb1022ab569757 100644 (file)
@@ -93,307 +93,309 @@ $(function(){ initResizable(false); });
 </div><!--header-->
 <div class="contents">
 <a href="UDPC_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#ifndef UDPC_CONNECTION_H</span></div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#define UDPC_CONNECTION_H</span></div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment">// Determine platform macros</span></div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor"># define UDPC_PLATFORM_WINDOWS 1</span></div>
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor"># define UDPC_PLATFORM_MAC 2</span></div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor"># define UDPC_PLATFORM_LINUX 3</span></div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor"># define UDPC_PLATFORM_UNKNOWN 0</span></div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor"># if defined _WIN32</span></div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_WINDOWS</span></div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor"># elif defined __APPLE__</span></div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_MAC</span></div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor"># elif defined __linux__</span></div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_LINUX</span></div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor"># else</span></div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_UNKNOWN</span></div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#ifndef UDPC_CONNECTION_H</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#define UDPC_CONNECTION_H</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment">// Determine platform macros</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor"># define UDPC_PLATFORM_WINDOWS 1</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor"># define UDPC_PLATFORM_MAC 2</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor"># define UDPC_PLATFORM_LINUX 3</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor"># define UDPC_PLATFORM_UNKNOWN 0</span></div>
 <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="comment">// OS-based networking macros</span></div>
-<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">#if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
-<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor"># include &lt;winsock2.h&gt;</span></div>
-<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="preprocessor"># ifdef UDPC_PLATFORM_MINGW</span></div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="preprocessor">#  include &lt;ws2ipdef.h&gt;</span></div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="preprocessor">#  include &lt;in6addr.h&gt;</span></div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="preprocessor"># else</span></div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="preprocessor">#  include &lt;Ws2ipdef.h&gt;</span></div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="preprocessor">#  include &lt;In6addr.h&gt;</span></div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="preprocessor"># endif</span></div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
-<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) closesocket(x)</span></div>
-<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="preprocessor">#  define UDPC_SOCKETTYPE SOCKET</span></div>
-<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE SOCKADDR_IN6</span></div>
-<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE IN6_ADDR</span></div>
-<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.u.Byte</span></div>
-<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket == INVALID_SOCKET)</span></div>
-<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
-<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
-<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="preprocessor">#elif UDPC_PLATFORM == UDPC_PLATFORM_MAC || UDPC_PLATFORM == UDPC_PLATFORM_LINUX</span></div>
-<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="preprocessor"># include &lt;fcntl.h&gt;</span></div>
-<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="preprocessor"># include &lt;netinet/in.h&gt;</span></div>
-<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="preprocessor"># include &lt;sys/socket.h&gt;</span></div>
-<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="preprocessor"># include &lt;unistd.h&gt;</span></div>
-<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
-<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor"># if defined _WIN32</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_WINDOWS</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor"># elif defined __APPLE__</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_MAC</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor"># elif defined __linux__</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_LINUX</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="preprocessor"># else</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_UNKNOWN</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="comment">// OS-based networking macros</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor">#if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="preprocessor"># include &lt;winsock2.h&gt;</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="preprocessor"># ifdef UDPC_PLATFORM_MINGW</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="preprocessor">#  include &lt;ws2ipdef.h&gt;</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="preprocessor">#  include &lt;in6addr.h&gt;</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="preprocessor"># else</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#  include &lt;Ws2ipdef.h&gt;</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="preprocessor">#  include &lt;In6addr.h&gt;</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) closesocket(x)</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="preprocessor">#  define UDPC_SOCKETTYPE SOCKET</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE SOCKADDR_IN6</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE IN6_ADDR</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.u.Byte</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket == INVALID_SOCKET)</span></div>
 <div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span> </div>
-<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) close(x)</span></div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="preprocessor">#  define UDPC_SOCKETTYPE int</span></div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span><span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE struct sockaddr_in6</span></div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE struct in6_addr</span></div>
-<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.s6_addr</span></div>
-<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span><span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket &lt;= 0)</span></div>
-<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span> </div>
-<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
-<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span><span class="preprocessor">#else</span></div>
-<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) ((void)0)</span></div>
-<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span> </div>
-<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="comment">// other defines</span></div>
-<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">   87</a></span><span class="preprocessor">#define UDPC_PACKET_MAX_SIZE 8192</span></div>
-<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span><span class="preprocessor">#define UDPC_DEFAULT_PROTOCOL_ID 1357924680 </span><span class="comment">// 0x50f04948</span></div>
-<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span> </div>
-<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span> </div>
-<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span><span class="comment">// other defines continued</span></div>
-<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
-<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="preprocessor"># ifndef UDPC_LIBSODIUM_ENABLED</span></div>
-<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="preprocessor">#  ifndef crypto_sign_PUBLICKEYBYTES</span></div>
-<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span><span class="preprocessor">#   define crypto_sign_PUBLICKEYBYTES 1</span></div>
-<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span><span class="preprocessor">#  endif</span></div>
-<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="preprocessor">#  ifndef crypto_sign_SECRETKEYBYTES</span></div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span><span class="preprocessor">#   define crypto_sign_SECRETKEYBYTES 1</span></div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="preprocessor">#  endif</span></div>
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="preprocessor">#  ifndef crypto_sign_BYTES</span></div>
-<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="preprocessor">#   define crypto_sign_BYTES 1</span></div>
-<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="preprocessor">#  endif</span></div>
-<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="preprocessor"># endif</span></div>
-<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span><span class="preprocessor"># if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
-<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span><span class="preprocessor">#  define UDPC_EXPORT __declspec(dllexport)</span></div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span><span class="preprocessor"># else</span></div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="preprocessor">#  define UDPC_EXPORT</span></div>
-<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span><span class="preprocessor"># endif</span></div>
-<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
-<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span><span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
-<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span><span class="preprocessor"># include &lt;cstdint&gt;</span></div>
-<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="preprocessor">#else</span></div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span><span class="preprocessor"># include &lt;stdint.h&gt;</span></div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
-<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span><span class="keyword">struct </span>UDPC_Context;</div>
-<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_Context *UDPC_HContext;</div>
-<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span> </div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT UDPC_LoggingType {</div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">  127</a></span>    <a class="code hl_variable" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a>,</div>
-<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">  129</a></span>    <a class="code hl_variable" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC_ERROR</a>,</div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">  131</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a>,</div>
-<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">  133</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a>,</div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">  135</a></span>    <a class="code hl_variable" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC_VERBOSE</a>,</div>
-<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>    UDPC_DEBUG</div>
-<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>} UDPC_LoggingType;</div>
-<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
-<div class="foldopen" id="foldopen00142" data-start="{" data-end="};">
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">  142</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code hl_typedef" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a> {</div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">  144</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a>=0,</div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">  146</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a>,</div>
-<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>    <span class="comment">// Used internally to get max size of enum</span></div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>    UDPC_AUTH_POLICY_SIZE</div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>} <a class="code hl_typedef" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span><span class="preprocessor">#elif UDPC_PLATFORM == UDPC_PLATFORM_MAC || UDPC_PLATFORM == UDPC_PLATFORM_LINUX</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="preprocessor"># include &lt;fcntl.h&gt;</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="preprocessor"># include &lt;netinet/in.h&gt;</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span><span class="preprocessor"># include &lt;sys/socket.h&gt;</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="preprocessor"># include &lt;unistd.h&gt;</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) close(x)</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span><span class="preprocessor">#  define UDPC_SOCKETTYPE int</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE struct sockaddr_in6</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE struct in6_addr</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.s6_addr</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket &lt;= 0)</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) ((void)0)</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="comment">// other defines</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">   97</a></span><span class="preprocessor">#define UDPC_PACKET_MAX_SIZE 8192</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="preprocessor">#define UDPC_DEFAULT_PROTOCOL_ID 1357924680 </span><span class="comment">// 0x50f04948</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="comment">// other defines continued</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="preprocessor"># ifndef UDPC_LIBSODIUM_ENABLED</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span><span class="preprocessor">#  ifndef crypto_sign_PUBLICKEYBYTES</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span><span class="preprocessor">#   define crypto_sign_PUBLICKEYBYTES 1</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span><span class="preprocessor">#  endif</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span><span class="preprocessor">#  ifndef crypto_sign_SECRETKEYBYTES</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="preprocessor">#   define crypto_sign_SECRETKEYBYTES 1</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span><span class="preprocessor">#  endif</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="preprocessor">#  ifndef crypto_sign_BYTES</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span><span class="preprocessor">#   define crypto_sign_BYTES 1</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span><span class="preprocessor">#  endif</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span><span class="preprocessor"># if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="preprocessor">#  define UDPC_EXPORT __declspec(dllexport)</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span><span class="preprocessor"># else</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span><span class="preprocessor">#  define UDPC_EXPORT</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span><span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span><span class="preprocessor"># include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span><span class="preprocessor"># include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span><span class="keyword">struct </span>UDPC_Context;</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_Context *UDPC_HContext;</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT UDPC_LoggingType {</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">  137</a></span>    <a class="code hl_variable" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a>,</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">  139</a></span>    <a class="code hl_variable" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC_ERROR</a>,</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">  141</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a>,</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">  143</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a>,</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">  145</a></span>    <a class="code hl_variable" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC_VERBOSE</a>,</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>    UDPC_DEBUG</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>} UDPC_LoggingType;</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="foldopen" id="foldopen00152" data-start="{" data-end="};">
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">  152</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code hl_typedef" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a> {</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">  154</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a>=0,</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">  156</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a>,</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>    <span class="comment">// Used internally to get max size of enum</span></div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>    UDPC_AUTH_POLICY_SIZE</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>} <a class="code hl_typedef" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>;</div>
 </div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span> </div>
-<div class="foldopen" id="foldopen00159" data-start="{" data-end="};">
-<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="structUDPC__ConnectionId.html">  159</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> {</div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    UDPC_IPV6_ADDR_TYPE addr;</div>
-<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    uint32_t scope_id;</div>
-<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    uint16_t port;</div>
-<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">  163</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a>;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="foldopen" id="foldopen00169" data-start="{" data-end="};">
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="structUDPC__ConnectionId.html">  169</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> {</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>    UDPC_IPV6_ADDR_TYPE addr;</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>    uint32_t scope_id;</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    uint16_t port;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">  173</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a>;</div>
 </div>
-<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
-<div class="foldopen" id="foldopen00174" data-start="{" data-end="};">
-<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html">  174</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="l00179" name="l00179"></a><span class="lineno">  179</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="l00180" name="l00180"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">  180</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="l00191" name="l00191"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">  191</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a>;</div>
-<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">  199</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a>;</div>
-<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">  209</a></span>    uint16_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>;</div>
-<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>    uint16_t rtt;</div>
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">  212</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="l00214" name="l00214"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">  214</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="l00215" name="l00215"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">  215</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a>;</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="foldopen" id="foldopen00184" data-start="{" data-end="};">
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html">  184</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="l00189" name="l00189"></a><span class="lineno">  189</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="l00190" name="l00190"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">  190</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="l00201" name="l00201"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">  201</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a>;</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">  209</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a>;</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">  219</a></span>    uint16_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>    uint16_t rtt;</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">  222</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="l00224" name="l00224"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">  224</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="l00225" name="l00225"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">  225</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a>;</div>
 </div>
-<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
-<div class="foldopen" id="foldopen00236" data-start="{" data-end="};">
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"><a class="line" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">  236</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="l00237" name="l00237"></a><span class="lineno">  237</span>    UDPC_ET_NONE,</div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>    UDPC_ET_REQUEST_CONNECT,</div>
-<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>    UDPC_ET_REQUEST_DISCONNECT,</div>
-<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>    UDPC_ET_CONNECTED,</div>
-<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span>    UDPC_ET_DISCONNECTED,</div>
-<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>    UDPC_ET_FAIL_CONNECT,</div>
-<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>    UDPC_ET_GOOD_MODE,</div>
-<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>    UDPC_ET_BAD_MODE</div>
-<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>} <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>;</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="foldopen" id="foldopen00246" data-start="{" data-end="};">
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">  246</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="l00247" name="l00247"></a><span class="lineno">  247</span>    UDPC_ET_NONE,</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>    UDPC_ET_REQUEST_CONNECT,</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>    UDPC_ET_REQUEST_DISCONNECT,</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>    UDPC_ET_CONNECTED,</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>    UDPC_ET_DISCONNECTED,</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    UDPC_ET_FAIL_CONNECT,</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>    UDPC_ET_GOOD_MODE,</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>    UDPC_ET_BAD_MODE</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>} <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>;</div>
 </div>
-<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span> </div>
-<div class="foldopen" id="foldopen00257" data-start="{" data-end="};">
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="structUDPC__Event.html">  257</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="l00258" name="l00258"></a><span class="lineno">  258</span>    <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> type;</div>
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> conId;</div>
-<div class="foldopen" id="foldopen00260" data-start="{" data-end="};">
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="unionUDPC__Event_1_1Value.html">  260</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="l00261" name="l00261"></a><span class="lineno">  261</span>        <span class="keywordtype">int</span> dropAllWithAddr;</div>
-<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>        <span class="keywordtype">int</span> enableLibSodium;</div>
-<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>    } v;</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="foldopen" id="foldopen00267" data-start="{" data-end="};">
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="structUDPC__Event.html">  267</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="l00268" name="l00268"></a><span class="lineno">  268</span>    <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> type;</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> conId;</div>
+<div class="foldopen" id="foldopen00270" data-start="{" data-end="};">
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="unionUDPC__Event_1_1Value.html">  270</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="l00271" name="l00271"></a><span class="lineno">  271</span>        <span class="keywordtype">int</span> dropAllWithAddr;</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>        <span class="keywordtype">int</span> enableLibSodium;</div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>    } v;</div>
 </div>
-<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">  264</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a>;</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">  274</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a>;</div>
 </div>
-<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> </div>
-<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">  276</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="l00277" name="l00277"></a><span class="lineno">  277</span> </div>
-<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">  285</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="l00286" name="l00286"></a><span class="lineno">  286</span> </div>
-<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">  296</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="l00297" name="l00297"></a><span class="lineno">  297</span> </div>
-<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">  308</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="l00309" name="l00309"></a><span class="lineno">  309</span> </div>
-<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</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="l00311" name="l00311"></a><span class="lineno">  311</span> </div>
-<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">  334</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="l00354" name="l00354"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">  354</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="l00355" name="l00355"></a><span class="lineno">  355</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
-<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span>    <span class="keywordtype">int</span> isClient,</div>
-<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">  377</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="l00378" name="l00378"></a><span class="lineno">  378</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
-<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span>    <span class="keywordtype">int</span> isClient,</div>
-<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span>    <span class="keywordtype">int</span> updateMS,</div>
-<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span> </div>
-<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">  392</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="l00403" name="l00403"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">  403</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="l00412" name="l00412"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">  412</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="l00413" name="l00413"></a><span class="lineno">  413</span> </div>
-<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">  419</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="l00420" name="l00420"></a><span class="lineno">  420</span> </div>
-<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">  430</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="l00431" name="l00431"></a><span class="lineno">  431</span> </div>
-<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">  451</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="l00452" name="l00452"></a><span class="lineno">  452</span> </div>
-<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">  463</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="l00464" name="l00464"></a><span class="lineno">  464</span>    UDPC_HContext ctx,</div>
-<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId,</div>
-<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span>    <span class="keywordtype">int</span> enableLibSodium);</div>
-<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span> </div>
-<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">  486</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="l00487" name="l00487"></a><span class="lineno">  487</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="l00488" name="l00488"></a><span class="lineno">  488</span> </div>
-<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">  505</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="l00506" name="l00506"></a><span class="lineno">  506</span> </div>
-<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">  523</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="l00524" name="l00524"></a><span class="lineno">  524</span> </div>
-<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">  533</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="l00275" name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">  286</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="l00287" name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">  295</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="l00296" name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">  306</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="l00307" name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">  318</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="l00319" name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</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="l00321" name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">  344</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="l00364" name="l00364"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">  364</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="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> isUsingLibsodium);</div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">  387</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="l00388" name="l00388"></a><span class="lineno">  388</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>    <span class="keywordtype">int</span> isClient,</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span>    <span class="keywordtype">int</span> updateMS,</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">  402</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="l00413" name="l00413"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">  413</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="l00422" name="l00422"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">  422</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="l00423" name="l00423"></a><span class="lineno">  423</span> </div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">  429</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="l00430" name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">  440</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="l00441" name="l00441"></a><span class="lineno">  441</span> </div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">  461</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="l00462" name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">  473</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="l00474" name="l00474"></a><span class="lineno">  474</span>    UDPC_HContext ctx,</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId,</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span>    <span class="keywordtype">int</span> enableLibSodium);</div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">  496</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="l00497" name="l00497"></a><span class="lineno">  497</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="l00498" name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">  515</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="l00516" name="l00516"></a><span class="lineno">  516</span> </div>
+<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">  533</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="l00534" name="l00534"></a><span class="lineno">  534</span> </div>
-<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">  541</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="l00542" name="l00542"></a><span class="lineno">  542</span> </div>
-<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">  554</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="l00555" name="l00555"></a><span class="lineno">  555</span> </div>
-<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">  565</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="l00566" name="l00566"></a><span class="lineno">  566</span> </div>
-<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">  581</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="l00582" name="l00582"></a><span class="lineno">  582</span> </div>
-<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">  587</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="l00588" name="l00588"></a><span class="lineno">  588</span> </div>
-<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">  600</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="l00601" name="l00601"></a><span class="lineno">  601</span> </div>
-<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">  612</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="l00613" name="l00613"></a><span class="lineno">  613</span> </div>
-<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">  622</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="l00543" name="l00543"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">  543</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="l00544" name="l00544"></a><span class="lineno">  544</span> </div>
+<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">  551</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="l00552" name="l00552"></a><span class="lineno">  552</span> </div>
+<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">  564</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="l00565" name="l00565"></a><span class="lineno">  565</span> </div>
+<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">  575</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="l00576" name="l00576"></a><span class="lineno">  576</span> </div>
+<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">  591</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="l00592" name="l00592"></a><span class="lineno">  592</span> </div>
+<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">  597</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="l00598" name="l00598"></a><span class="lineno">  598</span> </div>
+<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">  610</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="l00611" name="l00611"></a><span class="lineno">  611</span> </div>
+<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">  622</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="l00623" name="l00623"></a><span class="lineno">  623</span> </div>
-<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">  633</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="l00634" name="l00634"></a><span class="lineno">  634</span> </div>
-<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">  643</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"><a class="line" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">  632</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="l00633" name="l00633"></a><span class="lineno">  633</span> </div>
+<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">  643</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="l00644" name="l00644"></a><span class="lineno">  644</span> </div>
-<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">  654</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="l00655" name="l00655"></a><span class="lineno">  655</span> </div>
-<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">  667</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="l00668" name="l00668"></a><span class="lineno">  668</span> </div>
-<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"><a class="line" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">  676</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="l00677" name="l00677"></a><span class="lineno">  677</span> </div>
-<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">  685</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="l00686" name="l00686"></a><span class="lineno">  686</span> </div>
-<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">  702</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="l00703" name="l00703"></a><span class="lineno">  703</span> </div>
-<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">  721</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="l00722" name="l00722"></a><span class="lineno">  722</span> </div>
-<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">  736</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="l00737" name="l00737"></a><span class="lineno">  737</span> </div>
-<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">  746</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="l00653" name="l00653"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">  653</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="l00654" name="l00654"></a><span class="lineno">  654</span> </div>
+<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">  664</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="l00665" name="l00665"></a><span class="lineno">  665</span> </div>
+<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">  677</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="l00678" name="l00678"></a><span class="lineno">  678</span> </div>
+<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"><a class="line" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">  686</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="l00687" name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">  695</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="l00696" name="l00696"></a><span class="lineno">  696</span> </div>
+<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">  712</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="l00713" name="l00713"></a><span class="lineno">  713</span> </div>
+<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">  731</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="l00732" name="l00732"></a><span class="lineno">  732</span> </div>
+<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">  746</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="l00747" name="l00747"></a><span class="lineno">  747</span> </div>
-<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">  763</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="l00764" name="l00764"></a><span class="lineno">  764</span> </div>
-<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">  773</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="l00756" name="l00756"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">  756</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="l00757" name="l00757"></a><span class="lineno">  757</span> </div>
+<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">  773</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="l00774" name="l00774"></a><span class="lineno">  774</span> </div>
-<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">  783</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="l00783" name="l00783"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">  783</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="l00784" name="l00784"></a><span class="lineno">  784</span> </div>
-<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">  799</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="l00800" name="l00800"></a><span class="lineno">  800</span> </div>
-<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">  815</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="l00816" name="l00816"></a><span class="lineno">  816</span> </div>
-<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">  831</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="l00832" name="l00832"></a><span class="lineno">  832</span> </div>
-<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a5a3c613a0d96a075ccddfba1e8900828">  837</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a5a3c613a0d96a075ccddfba1e8900828">UDPC_atostr_cid</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
-<div class="line"><a id="l00838" name="l00838"></a><span class="lineno">  838</span> </div>
-<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">  868</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">UDPC_atostr</a>(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr);</div>
-<div class="line"><a id="l00869" name="l00869"></a><span class="lineno">  869</span> </div>
-<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">  884</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">UDPC_atostr_unsafe</a>(UDPC_IPV6_ADDR_TYPE addr);</div>
-<div class="line"><a id="l00885" name="l00885"></a><span class="lineno">  885</span> </div>
-<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">  898</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">UDPC_atostr_unsafe_cid</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> cid);</div>
-<div class="line"><a id="l00899" name="l00899"></a><span class="lineno">  899</span> </div>
-<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a5c6fe261f7d53e7ccae4c7233c42c76b">  903</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a5c6fe261f7d53e7ccae4c7233c42c76b">UDPC_atostr_unsafe_free</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrBuf);</div>
-<div class="line"><a id="l00904" name="l00904"></a><span class="lineno">  904</span> </div>
-<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">  916</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **addrBuf);</div>
-<div class="line"><a id="l00917" name="l00917"></a><span class="lineno">  917</span> </div>
-<div class="line"><a id="l00918" name="l00918"></a><span class="lineno">  918</span><span class="comment">// =============================================================================</span></div>
-<div class="line"><a id="l00919" name="l00919"></a><span class="lineno">  919</span><span class="comment">// Helpers</span></div>
-<div class="line"><a id="l00920" name="l00920"></a><span class="lineno">  920</span> </div>
-<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">  922</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="l00923" name="l00923"></a><span class="lineno">  923</span> </div>
-<div class="line"><a id="l00924" name="l00924"></a><span class="lineno">  924</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="l00925" name="l00925"></a><span class="lineno">  925</span> </div>
-<div class="line"><a id="l00926" name="l00926"></a><span class="lineno">  926</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_a4toa6(uint32_t a4_be);</div>
+<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">  793</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="l00794" name="l00794"></a><span class="lineno">  794</span> </div>
+<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">  809</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="l00810" name="l00810"></a><span class="lineno">  810</span> </div>
+<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">  825</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="l00826" name="l00826"></a><span class="lineno">  826</span> </div>
+<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">  841</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="l00842" name="l00842"></a><span class="lineno">  842</span> </div>
+<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a5a3c613a0d96a075ccddfba1e8900828">  847</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a5a3c613a0d96a075ccddfba1e8900828">UDPC_atostr_cid</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
+<div class="line"><a id="l00848" name="l00848"></a><span class="lineno">  848</span> </div>
+<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">  878</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">UDPC_atostr</a>(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr);</div>
+<div class="line"><a id="l00879" name="l00879"></a><span class="lineno">  879</span> </div>
+<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">  894</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">UDPC_atostr_unsafe</a>(UDPC_IPV6_ADDR_TYPE addr);</div>
+<div class="line"><a id="l00895" name="l00895"></a><span class="lineno">  895</span> </div>
+<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">  908</a></span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">UDPC_atostr_unsafe_cid</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> cid);</div>
+<div class="line"><a id="l00909" name="l00909"></a><span class="lineno">  909</span> </div>
+<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a5c6fe261f7d53e7ccae4c7233c42c76b">  913</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a5c6fe261f7d53e7ccae4c7233c42c76b">UDPC_atostr_unsafe_free</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrBuf);</div>
+<div class="line"><a id="l00914" name="l00914"></a><span class="lineno">  914</span> </div>
+<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">  926</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **addrBuf);</div>
 <div class="line"><a id="l00927" name="l00927"></a><span class="lineno">  927</span> </div>
-<div class="line"><a id="l00928" name="l00928"></a><span class="lineno">  928</span>UDPC_EXPORT <span class="keywordtype">int</span> UDPC_is_big_endian();</div>
-<div class="line"><a id="l00929" name="l00929"></a><span class="lineno">  929</span> </div>
-<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">  970</a></span>UDPC_EXPORT uint16_t <a class="code hl_function" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">UDPC_no16i</a>(uint16_t i);</div>
-<div class="line"><a id="l00971" name="l00971"></a><span class="lineno">  971</span> </div>
-<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c"> 1012</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">UDPC_no32i</a>(uint32_t i);</div>
-<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> </div>
-<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757"> 1054</a></span>UDPC_EXPORT uint64_t <a class="code hl_function" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">UDPC_no64i</a>(uint64_t i);</div>
-<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> </div>
-<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6"> 1087</a></span>UDPC_EXPORT <span class="keywordtype">float</span> <a class="code hl_function" href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6">UDPC_no32f</a>(<span class="keywordtype">float</span> f);</div>
-<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> </div>
-<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c"> 1120</a></span>UDPC_EXPORT <span class="keywordtype">double</span> <a class="code hl_function" href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c">UDPC_no64f</a>(<span class="keywordtype">double</span> f);</div>
-<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> </div>
-<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span><span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span>}</div>
-<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span><span class="preprocessor">#endif</span></div>
-<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2">  946</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2">UDPC_set_heartbeat_millis</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> millis);</div>
+<div class="line"><a id="l00947" name="l00947"></a><span class="lineno">  947</span> </div>
+<div class="line"><a id="l00948" name="l00948"></a><span class="lineno">  948</span><span class="comment">// =============================================================================</span></div>
+<div class="line"><a id="l00949" name="l00949"></a><span class="lineno">  949</span><span class="comment">// Helpers</span></div>
+<div class="line"><a id="l00950" name="l00950"></a><span class="lineno">  950</span> </div>
+<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">  952</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="l00953" name="l00953"></a><span class="lineno">  953</span> </div>
+<div class="line"><a id="l00954" name="l00954"></a><span class="lineno">  954</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="l00955" name="l00955"></a><span class="lineno">  955</span> </div>
+<div class="line"><a id="l00956" name="l00956"></a><span class="lineno">  956</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_a4toa6(uint32_t a4_be);</div>
+<div class="line"><a id="l00957" name="l00957"></a><span class="lineno">  957</span> </div>
+<div class="line"><a id="l00958" name="l00958"></a><span class="lineno">  958</span>UDPC_EXPORT <span class="keywordtype">int</span> UDPC_is_big_endian();</div>
+<div class="line"><a id="l00959" name="l00959"></a><span class="lineno">  959</span> </div>
+<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587"> 1000</a></span>UDPC_EXPORT uint16_t <a class="code hl_function" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">UDPC_no16i</a>(uint16_t i);</div>
+<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> </div>
+<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c"> 1042</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">UDPC_no32i</a>(uint32_t i);</div>
+<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> </div>
+<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757"> 1084</a></span>UDPC_EXPORT uint64_t <a class="code hl_function" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">UDPC_no64i</a>(uint64_t i);</div>
+<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> </div>
+<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6"> 1117</a></span>UDPC_EXPORT <span class="keywordtype">float</span> <a class="code hl_function" href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6">UDPC_no32f</a>(<span class="keywordtype">float</span> f);</div>
+<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> </div>
+<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c"> 1150</a></span>UDPC_EXPORT <span class="keywordtype">double</span> <a class="code hl_function" href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c">UDPC_no64f</a>(<span class="keywordtype">double</span> f);</div>
+<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> </div>
+<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span>}</div>
+<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</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_a09093c7edd8ed04407c84a94e0d02587"><div class="ttname"><a href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">UDPC_no16i</a></div><div class="ttdeci">UDPC_EXPORT uint16_t UDPC_no16i(uint16_t i)</div><div class="ttdoc">Converts a 16-bit int into/from network byte order (big endian).</div></div>
 <div class="ttc" id="aUDPC_8h_html_a0d6d9407ed6743a23283d8711652d757"><div class="ttname"><a href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">UDPC_no64i</a></div><div class="ttdeci">UDPC_EXPORT uint64_t UDPC_no64i(uint64_t i)</div><div class="ttdoc">Converts a 64-bit int into/from network byte order (big endian).</div></div>
@@ -404,8 +406,8 @@ $(function(){ initResizable(false); });
 <div class="ttc" id="aUDPC_8h_html_a1549eee3edacbc23ca144eec72d274bb"><div class="ttname"><a href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">UDPC_atostr_unsafe_cid</a></div><div class="ttdeci">UDPC_EXPORT const char * UDPC_atostr_unsafe_cid(UDPC_ConnectionId cid)</div><div class="ttdoc">Similar to UPDC_atostr(), but the returned ptr must be free'd.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a1a50763773d55aa7a2a9c7ad69575833"><div class="ttname"><a href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_enable_threaded_update_ms(UDPC_HContext ctx, int updateMS)</div><div class="ttdoc">Enables auto updating on a separate thread for the given UDPC_HContext with the specified update inte...</div></div>
 <div class="ttc" id="aUDPC_8h_html_a1fb87c1522d353bd9fde4c94ec8454c2"><div class="ttname"><a href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a></div><div class="ttdeci">UDPC_EXPORT unsigned long UDPC_get_queued_size(UDPC_HContext ctx, UDPC_ConnectionId id, int *exists)</div><div class="ttdoc">Gets the size of a connection's queue of queued packets.</div></div>
-<div class="ttc" id="aUDPC_8h_html_a228cd7ddf56a4e76e216bc3b80e8bd4a"><div class="ttname"><a href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a></div><div class="ttdeci">enum UDPC_EXPORT UDPC_AuthPolicy UDPC_AuthPolicy</div><div class="ttdef"><b>Definition</b> UDPC.h:142</div></div>
-<div class="ttc" id="aUDPC_8h_html_a248f51c4df127b7fd3a5c91ad5509d15"><div class="ttname"><a href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a></div><div class="ttdeci">UDPC_INFO</div><div class="ttdoc">Log errors, warnings, and info.</div><div class="ttdef"><b>Definition</b> UDPC.h:133</div></div>
+<div class="ttc" id="aUDPC_8h_html_a228cd7ddf56a4e76e216bc3b80e8bd4a"><div class="ttname"><a href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a></div><div class="ttdeci">enum UDPC_EXPORT UDPC_AuthPolicy UDPC_AuthPolicy</div><div class="ttdef"><b>Definition</b> UDPC.h:152</div></div>
+<div class="ttc" id="aUDPC_8h_html_a248f51c4df127b7fd3a5c91ad5509d15"><div class="ttname"><a href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a></div><div class="ttdeci">UDPC_INFO</div><div class="ttdoc">Log errors, warnings, and info.</div><div class="ttdef"><b>Definition</b> UDPC.h:143</div></div>
 <div class="ttc" id="aUDPC_8h_html_a2ae8e7d87f785dd3b3353a00005c3dc6"><div class="ttname"><a href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC_strtoa</a></div><div class="ttdeci">UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_strtoa(const char *addrStr)</div><div class="ttdoc">addrStr must be a valid ipv6 address or a valid ipv4 address</div></div>
 <div class="ttc" id="aUDPC_8h_html_a2c05c6fe89edde1e05ba9b6d8b5f7510"><div class="ttname"><a href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a></div><div class="ttdeci">UDPC_EXPORT UDPC_Event UDPC_get_event(UDPC_HContext ctx, unsigned long *remaining)</div><div class="ttdoc">Gets a recorded event.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a2e47fb8779abe3a9db72a08bf494dc75"><div class="ttname"><a href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_atostr_unsafe_free_ptr(const char **addrBuf)</div><div class="ttdoc">Free an addr string created with UDPC_atostr_unsafe() and zeroes the pointer.</div></div>
@@ -422,7 +424,7 @@ $(function(){ initResizable(false); });
 <div class="ttc" id="aUDPC_8h_html_a62a5131b90653ccbfc86ad5db4031ba9"><div class="ttname"><a href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_unset_libsodium_keys(UDPC_HContext ctx)</div><div class="ttdoc">Removes set keys if any used for packet verification.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a68ed6dcb37c6024486fad28ab0bed845"><div class="ttname"><a href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_free_PacketInfo(UDPC_PacketInfo pInfo)</div><div class="ttdoc">Frees a UDPC_PacketInfo.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a68fefba9edca7cd0a81d97ac27c70c0b"><div class="ttname"><a href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_update(UDPC_HContext ctx)</div><div class="ttdoc">Updates the context.</div></div>
-<div class="ttc" id="aUDPC_8h_html_a6af4629253b3ed1f411015410cee9ad3"><div class="ttname"><a href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a></div><div class="ttdeci">UDPC_AUTH_POLICY_STRICT</div><div class="ttdoc">Only peers with public key verification will be allowed.</div><div class="ttdef"><b>Definition</b> UDPC.h:146</div></div>
+<div class="ttc" id="aUDPC_8h_html_a6af4629253b3ed1f411015410cee9ad3"><div class="ttname"><a href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a></div><div class="ttdeci">UDPC_AUTH_POLICY_STRICT</div><div class="ttdoc">Only peers with public key verification will be allowed.</div><div class="ttdef"><b>Definition</b> UDPC.h:156</div></div>
 <div class="ttc" id="aUDPC_8h_html_a6b4355331c9b2797af0c13ce16515547"><div class="ttname"><a href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId * UDPC_get_list_connected(UDPC_HContext ctx, unsigned int *size)</div><div class="ttdoc">Gets a dynamically allocated array of connected peers' identifiers.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a6c90dc723e67a07bf65c1fc97e526305"><div class="ttname"><a href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a></div><div class="ttdeci">UDPC_EXPORT UDPC_LoggingType UDPC_set_logging_type(UDPC_HContext ctx, UDPC_LoggingType loggingType)</div><div class="ttdoc">Sets the logging type of the UDPC context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a71f9bf85a02ddd1b4c921fe9b6694fe8"><div class="ttname"><a href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_add_whitelist_pk(UDPC_HContext ctx, const unsigned char *pk)</div><div class="ttdoc">Adds a public key to the whitelist.</div></div>
@@ -437,11 +439,11 @@ $(function(){ initResizable(false); });
 <div class="ttc" id="aUDPC_8h_html_a939b6c407297f6cf913f2983869f051f"><div class="ttname"><a href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">UDPC_atostr_unsafe</a></div><div class="ttdeci">UDPC_EXPORT const char * UDPC_atostr_unsafe(UDPC_IPV6_ADDR_TYPE addr)</div><div class="ttdoc">Similar to UPDC_atostr(), but the returned ptr must be free'd.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a93a1a33c4d5dcd4f3e829ce4b15df11c"><div class="ttname"><a href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c">UDPC_no64f</a></div><div class="ttdeci">UDPC_EXPORT double UDPC_no64f(double f)</div><div class="ttdoc">Converts a 64-bit float into/from network byte order (big endian).</div></div>
 <div class="ttc" id="aUDPC_8h_html_a94660d04e7f9b4d9c51a7b2c67707172"><div class="ttname"><a href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_has_whitelist_pk(UDPC_HContext ctx, const unsigned char *pk)</div><div class="ttdoc">Checks if a public key is in the whitelist.</div></div>
-<div class="ttc" id="aUDPC_8h_html_a96ecd597f88d458ed108f33e4f0a6612"><div class="ttname"><a href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a></div><div class="ttdeci">UDPC_AUTH_POLICY_FALLBACK</div><div class="ttdoc">All peers will not be denied regardless of use of public key verification.</div><div class="ttdef"><b>Definition</b> UDPC.h:144</div></div>
-<div class="ttc" id="aUDPC_8h_html_a9cc5d705069747eb439a1c5607baac17"><div class="ttname"><a href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a></div><div class="ttdeci">UDPC_WARNING</div><div class="ttdoc">Log errors and warnings.</div><div class="ttdef"><b>Definition</b> UDPC.h:131</div></div>
+<div class="ttc" id="aUDPC_8h_html_a96ecd597f88d458ed108f33e4f0a6612"><div class="ttname"><a href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a></div><div class="ttdeci">UDPC_AUTH_POLICY_FALLBACK</div><div class="ttdoc">All peers will not be denied regardless of use of public key verification.</div><div class="ttdef"><b>Definition</b> UDPC.h:154</div></div>
+<div class="ttc" id="aUDPC_8h_html_a9cc5d705069747eb439a1c5607baac17"><div class="ttname"><a href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a></div><div class="ttdeci">UDPC_WARNING</div><div class="ttdoc">Log errors and warnings.</div><div class="ttdef"><b>Definition</b> UDPC.h:141</div></div>
 <div class="ttc" id="aUDPC_8h_html_a9e2401b133c0aae43c5d69304dabbdcc"><div class="ttname"><a href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">UDPC_atostr</a></div><div class="ttdeci">UDPC_EXPORT const char * UDPC_atostr(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr)</div><div class="ttdoc">Returns a pointer to a null-terminated address string derived from the given address.</div></div>
 <div class="ttc" id="aUDPC_8h_html_aa3f67ad23ae34b647b7f4dd17a8a96dd"><div class="ttname"><a href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a></div><div class="ttdeci">UDPC_EXPORT unsigned long UDPC_get_queue_send_current_size(UDPC_HContext ctx)</div><div class="ttdoc">Gets the size of the data structure holding queued packets.</div></div>
-<div class="ttc" id="aUDPC_8h_html_aa5c197773a0914125cb358771139065c"><div class="ttname"><a href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a></div><div class="ttdeci">UDPC_SILENT</div><div class="ttdoc">Does not log anything.</div><div class="ttdef"><b>Definition</b> UDPC.h:127</div></div>
+<div class="ttc" id="aUDPC_8h_html_aa5c197773a0914125cb358771139065c"><div class="ttname"><a href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a></div><div class="ttdeci">UDPC_SILENT</div><div class="ttdoc">Does not log anything.</div><div class="ttdef"><b>Definition</b> UDPC.h:137</div></div>
 <div class="ttc" id="aUDPC_8h_html_aab6fb21c6f5b44123e2660f84561d404"><div class="ttname"><a href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a></div><div class="ttdeci">UDPC_EXPORT uint32_t UDPC_get_protocol_id(UDPC_HContext ctx)</div><div class="ttdoc">Gets the protocol id of the UDPC context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_aad0e88866d4c5cb9c0676bc8d7df574e"><div class="ttname"><a href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_destroy(UDPC_HContext ctx)</div><div class="ttdoc">Cleans up the UDPC_HContext.</div></div>
 <div class="ttc" id="aUDPC_8h_html_ab79769e36a92c346c6c410be158ddfe4"><div class="ttname"><a href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_get_auth_policy(UDPC_HContext ctx)</div><div class="ttdoc">Gets how peers are handled regarding public key verification.</div></div>
@@ -450,26 +452,27 @@ $(function(){ initResizable(false); });
 <div class="ttc" id="aUDPC_8h_html_abc2d3284e5c45d6cd888154e813a1383"><div class="ttname"><a href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_remove_whitelist_pk(UDPC_HContext ctx, const unsigned char *pk)</div><div class="ttdoc">Removes a public key from the whitelist.</div></div>
 <div class="ttc" id="aUDPC_8h_html_abd0a7d5c0a17cf3351dbe5abf5f70df1"><div class="ttname"><a href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_set_libsodium_keys(UDPC_HContext ctx, const unsigned char *sk, const unsigned char *pk)</div><div class="ttdoc">Sets public/private keys used for packet verification.</div></div>
 <div class="ttc" id="aUDPC_8h_html_ac01480f803b063e2b44794420df0f671"><div class="ttname"><a href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_is_valid_context(UDPC_HContext ctx)</div><div class="ttdoc">Checks if the given UDPC_HContext is valid (successfully initialized)</div></div>
-<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:129</div></div>
+<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:139</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:135</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:145</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:236</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:246</div></div>
 <div class="ttc" id="aUDPC_8h_html_ae0261958047ebb5c6a402aa805e4e55b"><div class="ttname"><a href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a></div><div class="ttdeci">struct UDPC_EXPORT UDPC_PacketInfo UDPC_PacketInfo</div><div class="ttdoc">Data representing a received/sent packet.</div></div>
 <div class="ttc" id="aUDPC_8h_html_ae5afb11964c7a55edf34ddf9097779b2"><div class="ttname"><a href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a></div><div class="ttdeci">struct UDPC_EXPORT UDPC_ConnectionId UDPC_ConnectionId</div><div class="ttdoc">Data identifying a peer via addr, port, and scope_id.</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_aeb40d2c285eec0c53dd77e9d2cfeb5a2"><div class="ttname"><a href="UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2">UDPC_set_heartbeat_millis</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_set_heartbeat_millis(UDPC_HContext ctx, unsigned int millis)</div><div class="ttdoc">Sets the amount of time between heartbeat packets.</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:159</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:257</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:174</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:180</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:212</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:209</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:214</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:199</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:191</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:260</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:169</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:267</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:184</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:190</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:222</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:219</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:224</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:209</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:201</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:270</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index 528cc9c4cd80a1dfdaf2a6eec2fdc0a065cc6dd4..588a696b1eea26f5c85a2bd72bdebb5875988ff0 100644 (file)
 <a href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b"/>
 <a href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2"/>
 <a href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d"/>
+<a href="UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2"/>
 <a href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3"/>
 <a href="annotated.html"/>
 <a href="classes.html"/>
index b7b18abf34e01e203a4c7a18a23f96434ed03635..ca315508c34c6fa25f3574ab7f8b8f5973acae67 100644 (file)
@@ -144,6 +144,7 @@ $(function(){ initResizable(false); });
 <li>UDPC_remove_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC.h</a></li>
 <li>UDPC_set_accept_new_connections()&#160;:&#160;<a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC.h</a></li>
 <li>UDPC_set_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC.h</a></li>
+<li>UDPC_set_heartbeat_millis()&#160;:&#160;<a class="el" href="UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2">UDPC.h</a></li>
 <li>UDPC_set_libsodium_key_easy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC.h</a></li>
 <li>UDPC_set_libsodium_keys()&#160;:&#160;<a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC.h</a></li>
 <li>UDPC_set_logging_type()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC.h</a></li>
index 36739f6791f58268fb320da0c058524f423e5ebb..edb705e1cfa0ab8d4ecfe413d917d903c458b0f9 100644 (file)
@@ -134,6 +134,7 @@ $(function(){ initResizable(false); });
 <li>UDPC_remove_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC.h</a></li>
 <li>UDPC_set_accept_new_connections()&#160;:&#160;<a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC.h</a></li>
 <li>UDPC_set_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC.h</a></li>
+<li>UDPC_set_heartbeat_millis()&#160;:&#160;<a class="el" href="UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2">UDPC.h</a></li>
 <li>UDPC_set_libsodium_key_easy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC.h</a></li>
 <li>UDPC_set_libsodium_keys()&#160;:&#160;<a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC.h</a></li>
 <li>UDPC_set_logging_type()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC.h</a></li>
index 6225bb1a150159b7278e8587802b7baf4277543b..e09430e697c55b63b8ff432e85fd3e340e37e836 100644 (file)
@@ -57,16 +57,17 @@ var searchData=
   ['udpc_5fremove_5fwhitelist_5fpk_54',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
   ['udpc_5fset_5faccept_5fnew_5fconnections_55',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
   ['udpc_5fset_5fauth_5fpolicy_56',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkey_5feasy_57',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkeys_58',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
-  ['udpc_5fset_5flogging_5ftype_59',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
-  ['udpc_5fset_5fprotocol_5fid_60',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
-  ['udpc_5fset_5freceiving_5fevents_61',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
-  ['udpc_5fsilent_62',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
-  ['udpc_5fstrtoa_63',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
-  ['udpc_5funset_5flibsodium_5fkeys_64',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
-  ['udpc_5fupdate_65',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]],
-  ['udpc_5fverbose_66',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
-  ['udpc_5fwarning_67',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]],
-  ['udpconnection_68',['UDPConnection',['../index.html',1,'']]]
+  ['udpc_5fset_5fheartbeat_5fmillis_57',['UDPC_set_heartbeat_millis',['../UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkey_5feasy_58',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkeys_59',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
+  ['udpc_5fset_5flogging_5ftype_60',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
+  ['udpc_5fset_5fprotocol_5fid_61',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
+  ['udpc_5fset_5freceiving_5fevents_62',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
+  ['udpc_5fsilent_63',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
+  ['udpc_5fstrtoa_64',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
+  ['udpc_5funset_5flibsodium_5fkeys_65',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
+  ['udpc_5fupdate_66',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]],
+  ['udpc_5fverbose_67',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
+  ['udpc_5fwarning_68',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]],
+  ['udpconnection_69',['UDPConnection',['../index.html',1,'']]]
 ];
index d1db5d0fe5fb31c97cbd6de8f673734cbc17b68d..62be41b3e2ead7cca876bb7032c30f0c943152b6 100644 (file)
@@ -46,12 +46,13 @@ var searchData=
   ['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_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_5fset_5fheartbeat_5fmillis_46',['UDPC_set_heartbeat_millis',['../UDPC_8h.html#aeb40d2c285eec0c53dd77e9d2cfeb5a2',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkey_5feasy_47',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkeys_48',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
+  ['udpc_5fset_5flogging_5ftype_49',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
+  ['udpc_5fset_5fprotocol_5fid_50',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
+  ['udpc_5fset_5freceiving_5fevents_51',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',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']]]
 ];