<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: src/UDPC.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
-<tr class="memitem:a8ed92f1223b3f658536728f22d3b3827"><td class="memItemLeft" align="right" valign="top"><a id="a8ed92f1223b3f658536728f22d3b3827" name="a8ed92f1223b3f658536728f22d3b3827"></a>
+<tr class="memitem:a8ed92f1223b3f658536728f22d3b3827" id="r_a8ed92f1223b3f658536728f22d3b3827"><td class="memItemLeft" align="right" valign="top"><a id="a8ed92f1223b3f658536728f22d3b3827" name="a8ed92f1223b3f658536728f22d3b3827"></a>
#define </td><td class="memItemRight" valign="bottom"><b>UDPC_PACKET_MAX_SIZE</b>   8192</td></tr>
<tr class="memdesc:a8ed92f1223b3f658536728f22d3b3827"><td class="mdescLeft"> </td><td class="mdescRight">The maximum size of a UDP packet. <br /></td></tr>
<tr class="separator:a8ed92f1223b3f658536728f22d3b3827"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a780462f48fb18ccb15545ad9d05c70df"><td class="memItemLeft" align="right" valign="top"><a id="a780462f48fb18ccb15545ad9d05c70df" name="a780462f48fb18ccb15545ad9d05c70df"></a>
+<tr class="memitem:a780462f48fb18ccb15545ad9d05c70df" id="r_a780462f48fb18ccb15545ad9d05c70df"><td class="memItemLeft" align="right" valign="top"><a id="a780462f48fb18ccb15545ad9d05c70df" name="a780462f48fb18ccb15545ad9d05c70df"></a>
#define </td><td class="memItemRight" valign="bottom"><b>UDPC_DEFAULT_PROTOCOL_ID</b>   1357924680</td></tr>
<tr class="separator:a780462f48fb18ccb15545ad9d05c70df"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
-<tr class="memitem:a6414a39d34be1f50a660ef89f01c800a"><td class="memItemLeft" align="right" valign="top"><a id="a6414a39d34be1f50a660ef89f01c800a" name="a6414a39d34be1f50a660ef89f01c800a"></a>
+<tr class="memitem:a6414a39d34be1f50a660ef89f01c800a" id="r_a6414a39d34be1f50a660ef89f01c800a"><td class="memItemLeft" align="right" valign="top"><a id="a6414a39d34be1f50a660ef89f01c800a" name="a6414a39d34be1f50a660ef89f01c800a"></a>
typedef struct UDPC_Context * </td><td class="memItemRight" valign="bottom"><b>UDPC_HContext</b></td></tr>
<tr class="separator:a6414a39d34be1f50a660ef89f01c800a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:acf09773dbd86360fc70149232bfd3e8e"><td class="memItemLeft" align="right" valign="top"><a id="acf09773dbd86360fc70149232bfd3e8e" name="acf09773dbd86360fc70149232bfd3e8e"></a>
+<tr class="memitem:acf09773dbd86360fc70149232bfd3e8e" id="r_acf09773dbd86360fc70149232bfd3e8e"><td class="memItemLeft" align="right" valign="top"><a id="acf09773dbd86360fc70149232bfd3e8e" name="acf09773dbd86360fc70149232bfd3e8e"></a>
typedef enum UDPC_EXPORT UDPC_LoggingType </td><td class="memItemRight" valign="bottom"><b>UDPC_LoggingType</b></td></tr>
<tr class="separator:acf09773dbd86360fc70149232bfd3e8e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a228cd7ddf56a4e76e216bc3b80e8bd4a"><td class="memItemLeft" align="right" valign="top">typedef enum UDPC_EXPORT <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a></td></tr>
+<tr class="memitem:a228cd7ddf56a4e76e216bc3b80e8bd4a" id="r_a228cd7ddf56a4e76e216bc3b80e8bd4a"><td class="memItemLeft" align="right" valign="top">typedef enum UDPC_EXPORT <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a></td></tr>
<tr class="separator:a228cd7ddf56a4e76e216bc3b80e8bd4a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ae5afb11964c7a55edf34ddf9097779b2"><td class="memItemLeft" align="right" valign="top">typedef struct UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a></td></tr>
-<tr class="memdesc:ae5afb11964c7a55edf34ddf9097779b2"><td class="mdescLeft"> </td><td class="mdescRight">Data identifying a peer via addr, port, and scope_id. <a href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">More...</a><br /></td></tr>
+<tr class="memitem:ae5afb11964c7a55edf34ddf9097779b2" id="r_ae5afb11964c7a55edf34ddf9097779b2"><td class="memItemLeft" align="right" valign="top">typedef struct UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a></td></tr>
+<tr class="memdesc:ae5afb11964c7a55edf34ddf9097779b2"><td class="mdescLeft"> </td><td class="mdescRight">Data identifying a peer via addr, port, and scope_id. <br /></td></tr>
<tr class="separator:ae5afb11964c7a55edf34ddf9097779b2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ae0261958047ebb5c6a402aa805e4e55b"><td class="memItemLeft" align="right" valign="top">typedef struct UDPC_EXPORT <a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a></td></tr>
-<tr class="memdesc:ae0261958047ebb5c6a402aa805e4e55b"><td class="mdescLeft"> </td><td class="mdescRight">Data representing a received/sent packet. <a href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">More...</a><br /></td></tr>
+<tr class="memitem:ae0261958047ebb5c6a402aa805e4e55b" id="r_ae0261958047ebb5c6a402aa805e4e55b"><td class="memItemLeft" align="right" valign="top">typedef struct UDPC_EXPORT <a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a></td></tr>
+<tr class="memdesc:ae0261958047ebb5c6a402aa805e4e55b"><td class="mdescLeft"> </td><td class="mdescRight">Data representing a received/sent packet. <br /></td></tr>
<tr class="separator:ae0261958047ebb5c6a402aa805e4e55b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:adaa0534bf7f04bb2f6ce8975c99c4af0"><td class="memItemLeft" align="right" valign="top">typedef enum UDPC_EXPORT <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a></td></tr>
-<tr class="memdesc:adaa0534bf7f04bb2f6ce8975c99c4af0"><td class="mdescLeft"> </td><td class="mdescRight">An enum describing the type of event. <a href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">More...</a><br /></td></tr>
+<tr class="memitem:adaa0534bf7f04bb2f6ce8975c99c4af0" id="r_adaa0534bf7f04bb2f6ce8975c99c4af0"><td class="memItemLeft" align="right" valign="top">typedef enum UDPC_EXPORT <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a></td></tr>
+<tr class="memdesc:adaa0534bf7f04bb2f6ce8975c99c4af0"><td class="mdescLeft"> </td><td class="mdescRight">An enum describing the type of event. <br /></td></tr>
<tr class="separator:adaa0534bf7f04bb2f6ce8975c99c4af0"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7b3215b65686670720f098eda2ca1eed"><td class="memItemLeft" align="right" valign="top">typedef struct UDPC_EXPORT <a class="el" href="structUDPC__Event.html">UDPC_Event</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a></td></tr>
-<tr class="memdesc:a7b3215b65686670720f098eda2ca1eed"><td class="mdescLeft"> </td><td class="mdescRight">A struct containing information related to the type of event. <a href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">More...</a><br /></td></tr>
+<tr class="memitem:a7b3215b65686670720f098eda2ca1eed" id="r_a7b3215b65686670720f098eda2ca1eed"><td class="memItemLeft" align="right" valign="top">typedef struct UDPC_EXPORT <a class="el" href="structUDPC__Event.html">UDPC_Event</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a></td></tr>
+<tr class="memdesc:a7b3215b65686670720f098eda2ca1eed"><td class="mdescLeft"> </td><td class="mdescRight">A struct containing information related to the type of event. <br /></td></tr>
<tr class="separator:a7b3215b65686670720f098eda2ca1eed"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:aea7e32ca9fdc04530f95c97459391e6d"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a> (UDPC_IPV6_ADDR_TYPE addr, uint16_t port)</td></tr>
-<tr class="memdesc:aea7e32ca9fdc04530f95c97459391e6d"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr and port. <a href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">More...</a><br /></td></tr>
+<tr class="memitem:aea7e32ca9fdc04530f95c97459391e6d" id="r_aea7e32ca9fdc04530f95c97459391e6d"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a> (UDPC_IPV6_ADDR_TYPE addr, uint16_t port)</td></tr>
+<tr class="memdesc:aea7e32ca9fdc04530f95c97459391e6d"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr and port. <br /></td></tr>
<tr class="separator:aea7e32ca9fdc04530f95c97459391e6d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab7cb345ce117c04017afd443e5748f19"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC_create_id_full</a> (UDPC_IPV6_ADDR_TYPE addr, uint32_t scope_id, uint16_t port)</td></tr>
-<tr class="memdesc:ab7cb345ce117c04017afd443e5748f19"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr, scope_id, and port. <a href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">More...</a><br /></td></tr>
+<tr class="memitem:ab7cb345ce117c04017afd443e5748f19" id="r_ab7cb345ce117c04017afd443e5748f19"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC_create_id_full</a> (UDPC_IPV6_ADDR_TYPE addr, uint32_t scope_id, uint16_t port)</td></tr>
+<tr class="memdesc:ab7cb345ce117c04017afd443e5748f19"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr, scope_id, and port. <br /></td></tr>
<tr class="separator:ab7cb345ce117c04017afd443e5748f19"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0fa3e1e54877029a226ab9cfb74215df"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a> (uint16_t port)</td></tr>
-<tr class="memdesc:a0fa3e1e54877029a226ab9cfb74215df"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given port. <a href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">More...</a><br /></td></tr>
+<tr class="memitem:a0fa3e1e54877029a226ab9cfb74215df" id="r_a0fa3e1e54877029a226ab9cfb74215df"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a> (uint16_t port)</td></tr>
+<tr class="memdesc:a0fa3e1e54877029a226ab9cfb74215df"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given port. <br /></td></tr>
<tr class="separator:a0fa3e1e54877029a226ab9cfb74215df"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8b80d2df882f03aeee8a92bed7fb0131"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a> (const char *addrString, uint16_t port)</td></tr>
-<tr class="memdesc:a8b80d2df882f03aeee8a92bed7fb0131"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr string and port. <a href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">More...</a><br /></td></tr>
+<tr class="memitem:a8b80d2df882f03aeee8a92bed7fb0131" id="r_a8b80d2df882f03aeee8a92bed7fb0131"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a> (const char *addrString, uint16_t port)</td></tr>
+<tr class="memdesc:a8b80d2df882f03aeee8a92bed7fb0131"><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr string and port. <br /></td></tr>
<tr class="separator:a8b80d2df882f03aeee8a92bed7fb0131"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a980a8258674d2445604499efc7c75462"><td class="memItemLeft" align="right" valign="top"><a id="a980a8258674d2445604499efc7c75462" name="a980a8258674d2445604499efc7c75462"></a>
+<tr class="memitem:a980a8258674d2445604499efc7c75462" id="r_a980a8258674d2445604499efc7c75462"><td class="memItemLeft" align="right" valign="top"><a id="a980a8258674d2445604499efc7c75462" name="a980a8258674d2445604499efc7c75462"></a>
UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><b>UDPC_create_id_hostname</b> (const char *hostname, uint16_t port)</td></tr>
<tr class="separator:a980a8258674d2445604499efc7c75462"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a89dee65fcd5b70d25abbf6d4a3ee59f2"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int isUsingLibsodium)</td></tr>
-<tr class="memdesc:a89dee65fcd5b70d25abbf6d4a3ee59f2"><td class="mdescLeft"> </td><td class="mdescRight">Creates an UDPC_HContext that holds state for connections. <a href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">More...</a><br /></td></tr>
+<tr class="memitem:a89dee65fcd5b70d25abbf6d4a3ee59f2" id="r_a89dee65fcd5b70d25abbf6d4a3ee59f2"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int isUsingLibsodium)</td></tr>
+<tr class="memdesc:a89dee65fcd5b70d25abbf6d4a3ee59f2"><td class="mdescLeft"> </td><td class="mdescRight">Creates an UDPC_HContext that holds state for connections. <br /></td></tr>
<tr class="separator:a89dee65fcd5b70d25abbf6d4a3ee59f2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a614e2a058b89839d53fe9d348a058323"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC_init_threaded_update</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int isUsingLibsodium)</td></tr>
-<tr class="memdesc:a614e2a058b89839d53fe9d348a058323"><td class="mdescLeft"> </td><td class="mdescRight">Creates an UDPC_HContext that holds state for connections that auto-updates via a thread. <a href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">More...</a><br /></td></tr>
+<tr class="memitem:a614e2a058b89839d53fe9d348a058323" id="r_a614e2a058b89839d53fe9d348a058323"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC_init_threaded_update</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int isUsingLibsodium)</td></tr>
+<tr class="memdesc:a614e2a058b89839d53fe9d348a058323"><td class="mdescLeft"> </td><td class="mdescRight">Creates an UDPC_HContext that holds state for connections that auto-updates via a thread. <br /></td></tr>
<tr class="separator:a614e2a058b89839d53fe9d348a058323"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab9a5258877ad3084f7d29954be525bd6"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC_init_threaded_update_ms</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int updateMS, int isUsingLibsodium)</td></tr>
-<tr class="memdesc:ab9a5258877ad3084f7d29954be525bd6"><td class="mdescLeft"> </td><td class="mdescRight">Creates an UDPC_HContext that holds state for connections that auto-updates via a thread at a specified interval. <a href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">More...</a><br /></td></tr>
+<tr class="memitem:ab9a5258877ad3084f7d29954be525bd6" id="r_ab9a5258877ad3084f7d29954be525bd6"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC_init_threaded_update_ms</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int updateMS, int isUsingLibsodium)</td></tr>
+<tr class="memdesc:ab9a5258877ad3084f7d29954be525bd6"><td class="mdescLeft"> </td><td class="mdescRight">Creates an UDPC_HContext that holds state for connections that auto-updates via a thread at a specified interval. <br /></td></tr>
<tr class="separator:ab9a5258877ad3084f7d29954be525bd6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0fafce547e9185c29f42d06213b0ff4f"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC_enable_threaded_update</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:a0fafce547e9185c29f42d06213b0ff4f"><td class="mdescLeft"> </td><td class="mdescRight">Enables auto updating on a separate thread for the given UDPC_HContext. <a href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">More...</a><br /></td></tr>
+<tr class="memitem:a0fafce547e9185c29f42d06213b0ff4f" id="r_a0fafce547e9185c29f42d06213b0ff4f"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC_enable_threaded_update</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:a0fafce547e9185c29f42d06213b0ff4f"><td class="mdescLeft"> </td><td class="mdescRight">Enables auto updating on a separate thread for the given UDPC_HContext. <br /></td></tr>
<tr class="separator:a0fafce547e9185c29f42d06213b0ff4f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1a50763773d55aa7a2a9c7ad69575833"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a> (UDPC_HContext ctx, int updateMS)</td></tr>
-<tr class="memdesc:a1a50763773d55aa7a2a9c7ad69575833"><td class="mdescLeft"> </td><td class="mdescRight">Enables auto updating on a separate thread for the given UDPC_HContext with the specified update interval. <a href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">More...</a><br /></td></tr>
+<tr class="memitem:a1a50763773d55aa7a2a9c7ad69575833" id="r_a1a50763773d55aa7a2a9c7ad69575833"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a> (UDPC_HContext ctx, int updateMS)</td></tr>
+<tr class="memdesc:a1a50763773d55aa7a2a9c7ad69575833"><td class="mdescLeft"> </td><td class="mdescRight">Enables auto updating on a separate thread for the given UDPC_HContext with the specified update interval. <br /></td></tr>
<tr class="separator:a1a50763773d55aa7a2a9c7ad69575833"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a404d2c7a83903004f928737241ecc63a"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC_disable_threaded_update</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:a404d2c7a83903004f928737241ecc63a"><td class="mdescLeft"> </td><td class="mdescRight">Disables auto updating on a separate thread for the given UDPC_HContext. <a href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">More...</a><br /></td></tr>
+<tr class="memitem:a404d2c7a83903004f928737241ecc63a" id="r_a404d2c7a83903004f928737241ecc63a"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC_disable_threaded_update</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:a404d2c7a83903004f928737241ecc63a"><td class="mdescLeft"> </td><td class="mdescRight">Disables auto updating on a separate thread for the given UDPC_HContext. <br /></td></tr>
<tr class="separator:a404d2c7a83903004f928737241ecc63a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ac01480f803b063e2b44794420df0f671"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:ac01480f803b063e2b44794420df0f671"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the given UDPC_HContext is valid (successfully initialized) <a href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">More...</a><br /></td></tr>
+<tr class="memitem:ac01480f803b063e2b44794420df0f671" id="r_ac01480f803b063e2b44794420df0f671"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:ac01480f803b063e2b44794420df0f671"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the given UDPC_HContext is valid (successfully initialized) <br /></td></tr>
<tr class="separator:ac01480f803b063e2b44794420df0f671"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aad0e88866d4c5cb9c0676bc8d7df574e"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:aad0e88866d4c5cb9c0676bc8d7df574e"><td class="mdescLeft"> </td><td class="mdescRight">Cleans up the UDPC_HContext. <a href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">More...</a><br /></td></tr>
+<tr class="memitem:aad0e88866d4c5cb9c0676bc8d7df574e" id="r_aad0e88866d4c5cb9c0676bc8d7df574e"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:aad0e88866d4c5cb9c0676bc8d7df574e"><td class="mdescLeft"> </td><td class="mdescRight">Cleans up the UDPC_HContext. <br /></td></tr>
<tr class="separator:aad0e88866d4c5cb9c0676bc8d7df574e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a68fefba9edca7cd0a81d97ac27c70c0b"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:a68fefba9edca7cd0a81d97ac27c70c0b"><td class="mdescLeft"> </td><td class="mdescRight">Updates the context. <a href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">More...</a><br /></td></tr>
+<tr class="memitem:a68fefba9edca7cd0a81d97ac27c70c0b" id="r_a68fefba9edca7cd0a81d97ac27c70c0b"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:a68fefba9edca7cd0a81d97ac27c70c0b"><td class="mdescLeft"> </td><td class="mdescRight">Updates the context. <br /></td></tr>
<tr class="separator:a68fefba9edca7cd0a81d97ac27c70c0b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1192e0307f75feeac888fe5d49976f55"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC_client_initiate_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, int enableLibSodium)</td></tr>
-<tr class="memdesc:a1192e0307f75feeac888fe5d49976f55"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a connection to a server peer. <a href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">More...</a><br /></td></tr>
+<tr class="memitem:a1192e0307f75feeac888fe5d49976f55" id="r_a1192e0307f75feeac888fe5d49976f55"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC_client_initiate_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, int enableLibSodium)</td></tr>
+<tr class="memdesc:a1192e0307f75feeac888fe5d49976f55"><td class="mdescLeft"> </td><td class="mdescRight">Initiate a connection to a server peer. <br /></td></tr>
<tr class="separator:a1192e0307f75feeac888fe5d49976f55"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7527954b63f502479bdd3771df7cf3a4"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> destinationId, int isChecked, const void *data, uint32_t size)</td></tr>
-<tr class="memdesc:a7527954b63f502479bdd3771df7cf3a4"><td class="mdescLeft"> </td><td class="mdescRight">Queues a packet to be sent to the specified peer. <a href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">More...</a><br /></td></tr>
+<tr class="memitem:a7527954b63f502479bdd3771df7cf3a4" id="r_a7527954b63f502479bdd3771df7cf3a4"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> destinationId, int isChecked, const void *data, uint32_t size)</td></tr>
+<tr class="memdesc:a7527954b63f502479bdd3771df7cf3a4"><td class="mdescLeft"> </td><td class="mdescRight">Queues a packet to be sent to the specified peer. <br /></td></tr>
<tr class="separator:a7527954b63f502479bdd3771df7cf3a4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa3f67ad23ae34b647b7f4dd17a8a96dd"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:aa3f67ad23ae34b647b7f4dd17a8a96dd"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of the data structure holding queued packets. <a href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">More...</a><br /></td></tr>
+<tr class="memitem:aa3f67ad23ae34b647b7f4dd17a8a96dd" id="r_aa3f67ad23ae34b647b7f4dd17a8a96dd"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:aa3f67ad23ae34b647b7f4dd17a8a96dd"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of the data structure holding queued packets. <br /></td></tr>
<tr class="separator:aa3f67ad23ae34b647b7f4dd17a8a96dd"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1fb87c1522d353bd9fde4c94ec8454c2"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> id, int *exists)</td></tr>
-<tr class="memdesc:a1fb87c1522d353bd9fde4c94ec8454c2"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of a connection's queue of queued packets. <a href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">More...</a><br /></td></tr>
+<tr class="memitem:a1fb87c1522d353bd9fde4c94ec8454c2" id="r_a1fb87c1522d353bd9fde4c94ec8454c2"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> id, int *exists)</td></tr>
+<tr class="memdesc:a1fb87c1522d353bd9fde4c94ec8454c2"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of a connection's queue of queued packets. <br /></td></tr>
<tr class="separator:a1fb87c1522d353bd9fde4c94ec8454c2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a7983f38fe13677f5b35b90cefa54974f"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a> ()</td></tr>
-<tr class="memdesc:a7983f38fe13677f5b35b90cefa54974f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size limit of a connection's queue of queued packets. <a href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">More...</a><br /></td></tr>
+<tr class="memitem:a7983f38fe13677f5b35b90cefa54974f" id="r_a7983f38fe13677f5b35b90cefa54974f"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a> ()</td></tr>
+<tr class="memdesc:a7983f38fe13677f5b35b90cefa54974f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size limit of a connection's queue of queued packets. <br /></td></tr>
<tr class="separator:a7983f38fe13677f5b35b90cefa54974f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a32e217a02b2e8ba05568aabfaecbcdcb"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC_set_accept_new_connections</a> (UDPC_HContext ctx, int isAccepting)</td></tr>
-<tr class="memdesc:a32e217a02b2e8ba05568aabfaecbcdcb"><td class="mdescLeft"> </td><td class="mdescRight">Set whether or not the UDPC context will accept new connections. <a href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">More...</a><br /></td></tr>
+<tr class="memitem:a32e217a02b2e8ba05568aabfaecbcdcb" id="r_a32e217a02b2e8ba05568aabfaecbcdcb"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC_set_accept_new_connections</a> (UDPC_HContext ctx, int isAccepting)</td></tr>
+<tr class="memdesc:a32e217a02b2e8ba05568aabfaecbcdcb"><td class="mdescLeft"> </td><td class="mdescRight">Set whether or not the UDPC context will accept new connections. <br /></td></tr>
<tr class="separator:a32e217a02b2e8ba05568aabfaecbcdcb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a44bc5cc29862c93e938ac8a625c56380"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC_drop_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, int dropAllWithAddr)</td></tr>
-<tr class="memdesc:a44bc5cc29862c93e938ac8a625c56380"><td class="mdescLeft"> </td><td class="mdescRight">Drops an existing connection to a peer. <a href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">More...</a><br /></td></tr>
+<tr class="memitem:a44bc5cc29862c93e938ac8a625c56380" id="r_a44bc5cc29862c93e938ac8a625c56380"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC_drop_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, int dropAllWithAddr)</td></tr>
+<tr class="memdesc:a44bc5cc29862c93e938ac8a625c56380"><td class="mdescLeft"> </td><td class="mdescRight">Drops an existing connection to a peer. <br /></td></tr>
<tr class="separator:a44bc5cc29862c93e938ac8a625c56380"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4a555a011e95445ed4a2aa88deb17082"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId)</td></tr>
-<tr class="memdesc:a4a555a011e95445ed4a2aa88deb17082"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a connection exists to the peer identified by the given <code>connectionId</code>. <a href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">More...</a><br /></td></tr>
+<tr class="memitem:a4a555a011e95445ed4a2aa88deb17082" id="r_a4a555a011e95445ed4a2aa88deb17082"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId)</td></tr>
+<tr class="memdesc:a4a555a011e95445ed4a2aa88deb17082"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a connection exists to the peer identified by the given <code>connectionId</code>. <br /></td></tr>
<tr class="separator:a4a555a011e95445ed4a2aa88deb17082"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a6b4355331c9b2797af0c13ce16515547"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a> (UDPC_HContext ctx, unsigned int *size)</td></tr>
-<tr class="memdesc:a6b4355331c9b2797af0c13ce16515547"><td class="mdescLeft"> </td><td class="mdescRight">Gets a dynamically allocated array of connected peers' identifiers. <a href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">More...</a><br /></td></tr>
+<tr class="memitem:a6b4355331c9b2797af0c13ce16515547" id="r_a6b4355331c9b2797af0c13ce16515547"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a> (UDPC_HContext ctx, unsigned int *size)</td></tr>
+<tr class="memdesc:a6b4355331c9b2797af0c13ce16515547"><td class="mdescLeft"> </td><td class="mdescRight">Gets a dynamically allocated array of connected peers' identifiers. <br /></td></tr>
<tr class="separator:a6b4355331c9b2797af0c13ce16515547"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8880067a93211c257763c42264f6ceef"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list)</td></tr>
-<tr class="memdesc:a8880067a93211c257763c42264f6ceef"><td class="mdescLeft"> </td><td class="mdescRight">Cleans up a dynamically allocated array of connected peers' identifiers. <a href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">More...</a><br /></td></tr>
+<tr class="memitem:a8880067a93211c257763c42264f6ceef" id="r_a8880067a93211c257763c42264f6ceef"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list)</td></tr>
+<tr class="memdesc:a8880067a93211c257763c42264f6ceef"><td class="mdescLeft"> </td><td class="mdescRight">Cleans up a dynamically allocated array of connected peers' identifiers. <br /></td></tr>
<tr class="separator:a8880067a93211c257763c42264f6ceef"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aab6fb21c6f5b44123e2660f84561d404"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:aab6fb21c6f5b44123e2660f84561d404"><td class="mdescLeft"> </td><td class="mdescRight">Gets the protocol id of the UDPC context. <a href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">More...</a><br /></td></tr>
+<tr class="memitem:aab6fb21c6f5b44123e2660f84561d404" id="r_aab6fb21c6f5b44123e2660f84561d404"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:aab6fb21c6f5b44123e2660f84561d404"><td class="mdescLeft"> </td><td class="mdescRight">Gets the protocol id of the UDPC context. <br /></td></tr>
<tr class="separator:aab6fb21c6f5b44123e2660f84561d404"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0720bec1922660c983b1b3d9f6a5de3a"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a> (UDPC_HContext ctx, uint32_t id)</td></tr>
-<tr class="memdesc:a0720bec1922660c983b1b3d9f6a5de3a"><td class="mdescLeft"> </td><td class="mdescRight">Sets the protocol id of the UDPC context. <a href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">More...</a><br /></td></tr>
+<tr class="memitem:a0720bec1922660c983b1b3d9f6a5de3a" id="r_a0720bec1922660c983b1b3d9f6a5de3a"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a> (UDPC_HContext ctx, uint32_t id)</td></tr>
+<tr class="memdesc:a0720bec1922660c983b1b3d9f6a5de3a"><td class="mdescLeft"> </td><td class="mdescRight">Sets the protocol id of the UDPC context. <br /></td></tr>
<tr class="separator:a0720bec1922660c983b1b3d9f6a5de3a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad0c7d69eeda20e98696d5c89bbbab096"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_LoggingType </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:ad0c7d69eeda20e98696d5c89bbbab096"><td class="mdescLeft"> </td><td class="mdescRight">Gets the logging type of the UDPC context. <a href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">More...</a><br /></td></tr>
+<tr class="memitem:ad0c7d69eeda20e98696d5c89bbbab096" id="r_ad0c7d69eeda20e98696d5c89bbbab096"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_LoggingType </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:ad0c7d69eeda20e98696d5c89bbbab096"><td class="mdescLeft"> </td><td class="mdescRight">Gets the logging type of the UDPC context. <br /></td></tr>
<tr class="separator:ad0c7d69eeda20e98696d5c89bbbab096"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a6c90dc723e67a07bf65c1fc97e526305"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_LoggingType </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a> (UDPC_HContext ctx, UDPC_LoggingType loggingType)</td></tr>
-<tr class="memdesc:a6c90dc723e67a07bf65c1fc97e526305"><td class="mdescLeft"> </td><td class="mdescRight">Sets the logging type of the UDPC context. <a href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">More...</a><br /></td></tr>
+<tr class="memitem:a6c90dc723e67a07bf65c1fc97e526305" id="r_a6c90dc723e67a07bf65c1fc97e526305"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_LoggingType </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a> (UDPC_HContext ctx, UDPC_LoggingType loggingType)</td></tr>
+<tr class="memdesc:a6c90dc723e67a07bf65c1fc97e526305"><td class="mdescLeft"> </td><td class="mdescRight">Sets the logging type of the UDPC context. <br /></td></tr>
<tr class="separator:a6c90dc723e67a07bf65c1fc97e526305"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8c74f1b9ee0fec610087f83096c9679d"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC_get_receiving_events</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:a8c74f1b9ee0fec610087f83096c9679d"><td class="mdescLeft"> </td><td class="mdescRight">Returns non-zero if the UDPC context will record events. <a href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">More...</a><br /></td></tr>
+<tr class="memitem:a8c74f1b9ee0fec610087f83096c9679d" id="r_a8c74f1b9ee0fec610087f83096c9679d"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC_get_receiving_events</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:a8c74f1b9ee0fec610087f83096c9679d"><td class="mdescLeft"> </td><td class="mdescRight">Returns non-zero if the UDPC context will record events. <br /></td></tr>
<tr class="separator:a8c74f1b9ee0fec610087f83096c9679d"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a380c91ee395cff22189c7988c3381787"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC_set_receiving_events</a> (UDPC_HContext ctx, int isReceivingEvents)</td></tr>
-<tr class="memdesc:a380c91ee395cff22189c7988c3381787"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether or not UDPC will record events. <a href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">More...</a><br /></td></tr>
+<tr class="memitem:a380c91ee395cff22189c7988c3381787" id="r_a380c91ee395cff22189c7988c3381787"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC_set_receiving_events</a> (UDPC_HContext ctx, int isReceivingEvents)</td></tr>
+<tr class="memdesc:a380c91ee395cff22189c7988c3381787"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether or not UDPC will record events. <br /></td></tr>
<tr class="separator:a380c91ee395cff22189c7988c3381787"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a2c05c6fe89edde1e05ba9b6d8b5f7510"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__Event.html">UDPC_Event</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a> (UDPC_HContext ctx, unsigned long *remaining)</td></tr>
-<tr class="memdesc:a2c05c6fe89edde1e05ba9b6d8b5f7510"><td class="mdescLeft"> </td><td class="mdescRight">Gets a recorded event. <a href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">More...</a><br /></td></tr>
+<tr class="memitem:a2c05c6fe89edde1e05ba9b6d8b5f7510" id="r_a2c05c6fe89edde1e05ba9b6d8b5f7510"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__Event.html">UDPC_Event</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a> (UDPC_HContext ctx, unsigned long *remaining)</td></tr>
+<tr class="memdesc:a2c05c6fe89edde1e05ba9b6d8b5f7510"><td class="mdescLeft"> </td><td class="mdescRight">Gets a recorded event. <br /></td></tr>
<tr class="separator:a2c05c6fe89edde1e05ba9b6d8b5f7510"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:affa8655a4e7e3475be441060e92213b3"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a> (UDPC_HContext ctx, unsigned long *remaining)</td></tr>
-<tr class="memdesc:affa8655a4e7e3475be441060e92213b3"><td class="mdescLeft"> </td><td class="mdescRight">Get a received packet from a given UDPC context. <a href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">More...</a><br /></td></tr>
+<tr class="memitem:affa8655a4e7e3475be441060e92213b3" id="r_affa8655a4e7e3475be441060e92213b3"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a> (UDPC_HContext ctx, unsigned long *remaining)</td></tr>
+<tr class="memdesc:affa8655a4e7e3475be441060e92213b3"><td class="mdescLeft"> </td><td class="mdescRight">Get a received packet from a given UDPC context. <br /></td></tr>
<tr class="separator:affa8655a4e7e3475be441060e92213b3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a68ed6dcb37c6024486fad28ab0bed845"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> (<a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo)</td></tr>
-<tr class="memdesc:a68ed6dcb37c6024486fad28ab0bed845"><td class="mdescLeft"> </td><td class="mdescRight">Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. <a href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">More...</a><br /></td></tr>
+<tr class="memitem:a68ed6dcb37c6024486fad28ab0bed845" id="r_a68ed6dcb37c6024486fad28ab0bed845"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> (<a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo)</td></tr>
+<tr class="memdesc:a68ed6dcb37c6024486fad28ab0bed845"><td class="mdescLeft"> </td><td class="mdescRight">Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. <br /></td></tr>
<tr class="separator:a68ed6dcb37c6024486fad28ab0bed845"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad77c746ea0401664e11bfd76c56e94f5"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> (<a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> *pInfoPtr)</td></tr>
-<tr class="memdesc:ad77c746ea0401664e11bfd76c56e94f5"><td class="mdescLeft"> </td><td class="mdescRight">Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. <a href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">More...</a><br /></td></tr>
+<tr class="memitem:ad77c746ea0401664e11bfd76c56e94f5" id="r_ad77c746ea0401664e11bfd76c56e94f5"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> (<a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> *pInfoPtr)</td></tr>
+<tr class="memdesc:ad77c746ea0401664e11bfd76c56e94f5"><td class="mdescLeft"> </td><td class="mdescRight">Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. <br /></td></tr>
<tr class="separator:ad77c746ea0401664e11bfd76c56e94f5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a> (UDPC_HContext ctx, const unsigned char *sk, const unsigned char *pk)</td></tr>
-<tr class="memdesc:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="mdescLeft"> </td><td class="mdescRight">Sets public/private keys used for packet verification. <a href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">More...</a><br /></td></tr>
+<tr class="memitem:abd0a7d5c0a17cf3351dbe5abf5f70df1" id="r_abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a> (UDPC_HContext ctx, const unsigned char *sk, const unsigned char *pk)</td></tr>
+<tr class="memdesc:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="mdescLeft"> </td><td class="mdescRight">Sets public/private keys used for packet verification. <br /></td></tr>
<tr class="separator:abd0a7d5c0a17cf3351dbe5abf5f70df1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad7eb0c77561f84a63dad29388d099fbe"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a> (UDPC_HContext ctx, const unsigned char *sk)</td></tr>
-<tr class="memdesc:ad7eb0c77561f84a63dad29388d099fbe"><td class="mdescLeft"> </td><td class="mdescRight">Sets the public/private keys used for packet verification. <a href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">More...</a><br /></td></tr>
+<tr class="memitem:ad7eb0c77561f84a63dad29388d099fbe" id="r_ad7eb0c77561f84a63dad29388d099fbe"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a> (UDPC_HContext ctx, const unsigned char *sk)</td></tr>
+<tr class="memdesc:ad7eb0c77561f84a63dad29388d099fbe"><td class="mdescLeft"> </td><td class="mdescRight">Sets the public/private keys used for packet verification. <br /></td></tr>
<tr class="separator:ad7eb0c77561f84a63dad29388d099fbe"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a62a5131b90653ccbfc86ad5db4031ba9"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:a62a5131b90653ccbfc86ad5db4031ba9"><td class="mdescLeft"> </td><td class="mdescRight">Removes set keys if any used for packet verification. <a href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">More...</a><br /></td></tr>
+<tr class="memitem:a62a5131b90653ccbfc86ad5db4031ba9" id="r_a62a5131b90653ccbfc86ad5db4031ba9"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:a62a5131b90653ccbfc86ad5db4031ba9"><td class="mdescLeft"> </td><td class="mdescRight">Removes set keys if any used for packet verification. <br /></td></tr>
<tr class="separator:a62a5131b90653ccbfc86ad5db4031ba9"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a71f9bf85a02ddd1b4c921fe9b6694fe8"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a> (UDPC_HContext ctx, const unsigned char *pk)</td></tr>
-<tr class="memdesc:a71f9bf85a02ddd1b4c921fe9b6694fe8"><td class="mdescLeft"> </td><td class="mdescRight">Adds a public key to the whitelist. <a href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">More...</a><br /></td></tr>
+<tr class="memitem:a71f9bf85a02ddd1b4c921fe9b6694fe8" id="r_a71f9bf85a02ddd1b4c921fe9b6694fe8"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a> (UDPC_HContext ctx, const unsigned char *pk)</td></tr>
+<tr class="memdesc:a71f9bf85a02ddd1b4c921fe9b6694fe8"><td class="mdescLeft"> </td><td class="mdescRight">Adds a public key to the whitelist. <br /></td></tr>
<tr class="separator:a71f9bf85a02ddd1b4c921fe9b6694fe8"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a94660d04e7f9b4d9c51a7b2c67707172"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a> (UDPC_HContext ctx, const unsigned char *pk)</td></tr>
-<tr class="memdesc:a94660d04e7f9b4d9c51a7b2c67707172"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a public key is in the whitelist. <a href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">More...</a><br /></td></tr>
+<tr class="memitem:a94660d04e7f9b4d9c51a7b2c67707172" id="r_a94660d04e7f9b4d9c51a7b2c67707172"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a> (UDPC_HContext ctx, const unsigned char *pk)</td></tr>
+<tr class="memdesc:a94660d04e7f9b4d9c51a7b2c67707172"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a public key is in the whitelist. <br /></td></tr>
<tr class="separator:a94660d04e7f9b4d9c51a7b2c67707172"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:abc2d3284e5c45d6cd888154e813a1383"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a> (UDPC_HContext ctx, const unsigned char *pk)</td></tr>
-<tr class="memdesc:abc2d3284e5c45d6cd888154e813a1383"><td class="mdescLeft"> </td><td class="mdescRight">Removes a public key from the whitelist. <a href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">More...</a><br /></td></tr>
+<tr class="memitem:abc2d3284e5c45d6cd888154e813a1383" id="r_abc2d3284e5c45d6cd888154e813a1383"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a> (UDPC_HContext ctx, const unsigned char *pk)</td></tr>
+<tr class="memdesc:abc2d3284e5c45d6cd888154e813a1383"><td class="mdescLeft"> </td><td class="mdescRight">Removes a public key from the whitelist. <br /></td></tr>
<tr class="separator:abc2d3284e5c45d6cd888154e813a1383"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0e2e0c6a6a442db2cb3223d26f849d26"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:a0e2e0c6a6a442db2cb3223d26f849d26"><td class="mdescLeft"> </td><td class="mdescRight">Clears the public key whitelist. <a href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">More...</a><br /></td></tr>
+<tr class="memitem:a0e2e0c6a6a442db2cb3223d26f849d26" id="r_a0e2e0c6a6a442db2cb3223d26f849d26"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:a0e2e0c6a6a442db2cb3223d26f849d26"><td class="mdescLeft"> </td><td class="mdescRight">Clears the public key whitelist. <br /></td></tr>
<tr class="separator:a0e2e0c6a6a442db2cb3223d26f849d26"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ab79769e36a92c346c6c410be158ddfe4"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a> (UDPC_HContext ctx)</td></tr>
-<tr class="memdesc:ab79769e36a92c346c6c410be158ddfe4"><td class="mdescLeft"> </td><td class="mdescRight">Gets how peers are handled regarding public key verification. <a href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">More...</a><br /></td></tr>
+<tr class="memitem:ab79769e36a92c346c6c410be158ddfe4" id="r_ab79769e36a92c346c6c410be158ddfe4"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a> (UDPC_HContext ctx)</td></tr>
+<tr class="memdesc:ab79769e36a92c346c6c410be158ddfe4"><td class="mdescLeft"> </td><td class="mdescRight">Gets how peers are handled regarding public key verification. <br /></td></tr>
<tr class="separator:ab79769e36a92c346c6c410be158ddfe4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8d0dbbd258e17844a2f9a0e277789581"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a> (UDPC_HContext ctx, int value)</td></tr>
-<tr class="memdesc:a8d0dbbd258e17844a2f9a0e277789581"><td class="mdescLeft"> </td><td class="mdescRight">Sets how peers are handled regarding public key verification. <a href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">More...</a><br /></td></tr>
+<tr class="memitem:a8d0dbbd258e17844a2f9a0e277789581" id="r_a8d0dbbd258e17844a2f9a0e277789581"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a> (UDPC_HContext ctx, int value)</td></tr>
+<tr class="memdesc:a8d0dbbd258e17844a2f9a0e277789581"><td class="mdescLeft"> </td><td class="mdescRight">Sets how peers are handled regarding public key verification. <br /></td></tr>
<tr class="separator:a8d0dbbd258e17844a2f9a0e277789581"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5a3c613a0d96a075ccddfba1e8900828"><td class="memItemLeft" align="right" valign="top"><a id="a5a3c613a0d96a075ccddfba1e8900828" name="a5a3c613a0d96a075ccddfba1e8900828"></a>
+<tr class="memitem:a5a3c613a0d96a075ccddfba1e8900828" id="r_a5a3c613a0d96a075ccddfba1e8900828"><td class="memItemLeft" align="right" valign="top"><a id="a5a3c613a0d96a075ccddfba1e8900828" name="a5a3c613a0d96a075ccddfba1e8900828"></a>
UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><b>UDPC_atostr_cid</b> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId)</td></tr>
<tr class="memdesc:a5a3c613a0d96a075ccddfba1e8900828"><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> with the addr data inside the given <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> instance. <br /></td></tr>
<tr class="separator:a5a3c613a0d96a075ccddfba1e8900828"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9e2401b133c0aae43c5d69304dabbdcc"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">UDPC_atostr</a> (UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr)</td></tr>
-<tr class="memdesc:a9e2401b133c0aae43c5d69304dabbdcc"><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to a null-terminated address string derived from the given address. <a href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">More...</a><br /></td></tr>
+<tr class="memitem:a9e2401b133c0aae43c5d69304dabbdcc" id="r_a9e2401b133c0aae43c5d69304dabbdcc"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc">UDPC_atostr</a> (UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr)</td></tr>
+<tr class="memdesc:a9e2401b133c0aae43c5d69304dabbdcc"><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to a null-terminated address string derived from the given address. <br /></td></tr>
<tr class="separator:a9e2401b133c0aae43c5d69304dabbdcc"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a939b6c407297f6cf913f2983869f051f"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">UDPC_atostr_unsafe</a> (UDPC_IPV6_ADDR_TYPE addr)</td></tr>
-<tr class="memdesc:a939b6c407297f6cf913f2983869f051f"><td class="mdescLeft"> </td><td class="mdescRight">Similar to UPDC_atostr(), but the returned ptr must be free'd. <a href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">More...</a><br /></td></tr>
+<tr class="memitem:a939b6c407297f6cf913f2983869f051f" id="r_a939b6c407297f6cf913f2983869f051f"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f">UDPC_atostr_unsafe</a> (UDPC_IPV6_ADDR_TYPE addr)</td></tr>
+<tr class="memdesc:a939b6c407297f6cf913f2983869f051f"><td class="mdescLeft"> </td><td class="mdescRight">Similar to UPDC_atostr(), but the returned ptr must be free'd. <br /></td></tr>
<tr class="separator:a939b6c407297f6cf913f2983869f051f"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a1549eee3edacbc23ca144eec72d274bb"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">UDPC_atostr_unsafe_cid</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> cid)</td></tr>
-<tr class="memdesc:a1549eee3edacbc23ca144eec72d274bb"><td class="mdescLeft"> </td><td class="mdescRight">Similar to UPDC_atostr(), but the returned ptr must be free'd. <a href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">More...</a><br /></td></tr>
+<tr class="memitem:a1549eee3edacbc23ca144eec72d274bb" id="r_a1549eee3edacbc23ca144eec72d274bb"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb">UDPC_atostr_unsafe_cid</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> cid)</td></tr>
+<tr class="memdesc:a1549eee3edacbc23ca144eec72d274bb"><td class="mdescLeft"> </td><td class="mdescRight">Similar to UPDC_atostr(), but the returned ptr must be free'd. <br /></td></tr>
<tr class="separator:a1549eee3edacbc23ca144eec72d274bb"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5c6fe261f7d53e7ccae4c7233c42c76b"><td class="memItemLeft" align="right" valign="top"><a id="a5c6fe261f7d53e7ccae4c7233c42c76b" name="a5c6fe261f7d53e7ccae4c7233c42c76b"></a>
+<tr class="memitem:a5c6fe261f7d53e7ccae4c7233c42c76b" id="r_a5c6fe261f7d53e7ccae4c7233c42c76b"><td class="memItemLeft" align="right" valign="top"><a id="a5c6fe261f7d53e7ccae4c7233c42c76b" name="a5c6fe261f7d53e7ccae4c7233c42c76b"></a>
UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><b>UDPC_atostr_unsafe_free</b> (const char *addrBuf)</td></tr>
<tr class="memdesc:a5c6fe261f7d53e7ccae4c7233c42c76b"><td class="mdescLeft"> </td><td class="mdescRight">Free an addr string created with <a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe()</a>. <br /></td></tr>
<tr class="separator:a5c6fe261f7d53e7ccae4c7233c42c76b"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a2e47fb8779abe3a9db72a08bf494dc75"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a> (const char **addrBuf)</td></tr>
-<tr class="memdesc:a2e47fb8779abe3a9db72a08bf494dc75"><td class="mdescLeft"> </td><td class="mdescRight">Free an addr string created with <a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe()</a> and zeroes the pointer. <a href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">More...</a><br /></td></tr>
+<tr class="memitem:a2e47fb8779abe3a9db72a08bf494dc75" id="r_a2e47fb8779abe3a9db72a08bf494dc75"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a> (const char **addrBuf)</td></tr>
+<tr class="memdesc:a2e47fb8779abe3a9db72a08bf494dc75"><td class="mdescLeft"> </td><td class="mdescRight">Free an addr string created with <a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe()</a> and zeroes the pointer. <br /></td></tr>
<tr class="separator:a2e47fb8779abe3a9db72a08bf494dc75"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="memItemLeft" align="right" valign="top"><a id="a2ae8e7d87f785dd3b3353a00005c3dc6" name="a2ae8e7d87f785dd3b3353a00005c3dc6"></a>
+<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 </td><td class="memItemRight" valign="bottom"><b>UDPC_strtoa</b> (const char *addrStr)</td></tr>
<tr class="memdesc:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="mdescLeft"> </td><td class="mdescRight">addrStr must be a valid ipv6 address or a valid ipv4 address <br /></td></tr>
<tr class="separator:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad1c4ad0e4ce9a97b3506335aae16cb49"><td class="memItemLeft" align="right" valign="top"><a id="ad1c4ad0e4ce9a97b3506335aae16cb49" name="ad1c4ad0e4ce9a97b3506335aae16cb49"></a>
+<tr class="memitem:ad1c4ad0e4ce9a97b3506335aae16cb49" id="r_ad1c4ad0e4ce9a97b3506335aae16cb49"><td class="memItemLeft" align="right" valign="top"><a id="ad1c4ad0e4ce9a97b3506335aae16cb49" name="ad1c4ad0e4ce9a97b3506335aae16cb49"></a>
UDPC_EXPORT UDPC_IPV6_ADDR_TYPE </td><td class="memItemRight" valign="bottom"><b>UDPC_strtoa_link</b> (const char *addrStr, uint32_t *linkId_out)</td></tr>
<tr class="separator:ad1c4ad0e4ce9a97b3506335aae16cb49"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ac891801289f8be17e5db81b5de781190"><td class="memItemLeft" align="right" valign="top"><a id="ac891801289f8be17e5db81b5de781190" name="ac891801289f8be17e5db81b5de781190"></a>
+<tr class="memitem:ac891801289f8be17e5db81b5de781190" id="r_ac891801289f8be17e5db81b5de781190"><td class="memItemLeft" align="right" valign="top"><a id="ac891801289f8be17e5db81b5de781190" name="ac891801289f8be17e5db81b5de781190"></a>
UDPC_EXPORT UDPC_IPV6_ADDR_TYPE </td><td class="memItemRight" valign="bottom"><b>UDPC_a4toa6</b> (uint32_t a4_be)</td></tr>
<tr class="separator:ac891801289f8be17e5db81b5de781190"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5f81a1abecf149abe26902ca5d72e316"><td class="memItemLeft" align="right" valign="top"><a id="a5f81a1abecf149abe26902ca5d72e316" name="a5f81a1abecf149abe26902ca5d72e316"></a>
+<tr class="memitem:a5f81a1abecf149abe26902ca5d72e316" id="r_a5f81a1abecf149abe26902ca5d72e316"><td class="memItemLeft" align="right" valign="top"><a id="a5f81a1abecf149abe26902ca5d72e316" name="a5f81a1abecf149abe26902ca5d72e316"></a>
UDPC_EXPORT int </td><td class="memItemRight" valign="bottom"><b>UDPC_is_big_endian</b> ()</td></tr>
<tr class="separator:a5f81a1abecf149abe26902ca5d72e316"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a09093c7edd8ed04407c84a94e0d02587"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">UDPC_no16i</a> (uint16_t i)</td></tr>
-<tr class="memdesc:a09093c7edd8ed04407c84a94e0d02587"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 16-bit int into/from network byte order (big endian). <a href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">More...</a><br /></td></tr>
+<tr class="memitem:a09093c7edd8ed04407c84a94e0d02587" id="r_a09093c7edd8ed04407c84a94e0d02587"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">UDPC_no16i</a> (uint16_t i)</td></tr>
+<tr class="memdesc:a09093c7edd8ed04407c84a94e0d02587"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 16-bit int into/from network byte order (big endian). <br /></td></tr>
<tr class="separator:a09093c7edd8ed04407c84a94e0d02587"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3e62beb3d497732f5e1d79e19878198c"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">UDPC_no32i</a> (uint32_t i)</td></tr>
-<tr class="memdesc:a3e62beb3d497732f5e1d79e19878198c"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 32-bit int into/from network byte order (big endian). <a href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">More...</a><br /></td></tr>
+<tr class="memitem:a3e62beb3d497732f5e1d79e19878198c" id="r_a3e62beb3d497732f5e1d79e19878198c"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">UDPC_no32i</a> (uint32_t i)</td></tr>
+<tr class="memdesc:a3e62beb3d497732f5e1d79e19878198c"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 32-bit int into/from network byte order (big endian). <br /></td></tr>
<tr class="separator:a3e62beb3d497732f5e1d79e19878198c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a0d6d9407ed6743a23283d8711652d757"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">UDPC_no64i</a> (uint64_t i)</td></tr>
-<tr class="memdesc:a0d6d9407ed6743a23283d8711652d757"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 64-bit int into/from network byte order (big endian). <a href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">More...</a><br /></td></tr>
+<tr class="memitem:a0d6d9407ed6743a23283d8711652d757" id="r_a0d6d9407ed6743a23283d8711652d757"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">UDPC_no64i</a> (uint64_t i)</td></tr>
+<tr class="memdesc:a0d6d9407ed6743a23283d8711652d757"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 64-bit int into/from network byte order (big endian). <br /></td></tr>
<tr class="separator:a0d6d9407ed6743a23283d8711652d757"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT float </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6">UDPC_no32f</a> (float f)</td></tr>
-<tr class="memdesc:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 32-bit float into/from network byte order (big endian). <a href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6">More...</a><br /></td></tr>
+<tr class="memitem:a61f1ec575cd8a1020bf4d53a72497ab6" id="r_a61f1ec575cd8a1020bf4d53a72497ab6"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT float </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a61f1ec575cd8a1020bf4d53a72497ab6">UDPC_no32f</a> (float f)</td></tr>
+<tr class="memdesc:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 32-bit float into/from network byte order (big endian). <br /></td></tr>
<tr class="separator:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT double </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c">UDPC_no64f</a> (double f)</td></tr>
-<tr class="memdesc:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 64-bit float into/from network byte order (big endian). <a href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c">More...</a><br /></td></tr>
+<tr class="memitem:a93a1a33c4d5dcd4f3e829ce4b15df11c" id="r_a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT double </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c">UDPC_no64f</a> (double f)</td></tr>
+<tr class="memdesc:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 64-bit float into/from network byte order (big endian). <br /></td></tr>
<tr class="separator:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:aa5c197773a0914125cb358771139065c"><td class="memItemLeft" align="right" valign="top"><a id="aa5c197773a0914125cb358771139065c" name="aa5c197773a0914125cb358771139065c"></a>
+<tr class="memitem:aa5c197773a0914125cb358771139065c" id="r_aa5c197773a0914125cb358771139065c"><td class="memItemLeft" align="right" valign="top"><a id="aa5c197773a0914125cb358771139065c" name="aa5c197773a0914125cb358771139065c"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_SILENT</b></td></tr>
<tr class="memdesc:aa5c197773a0914125cb358771139065c"><td class="mdescLeft"> </td><td class="mdescRight">Does not log anything. <br /></td></tr>
<tr class="separator:aa5c197773a0914125cb358771139065c"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ac04213a4287500a9c5330f543eac3103"><td class="memItemLeft" align="right" valign="top"><a id="ac04213a4287500a9c5330f543eac3103" name="ac04213a4287500a9c5330f543eac3103"></a>
+<tr class="memitem:ac04213a4287500a9c5330f543eac3103" id="r_ac04213a4287500a9c5330f543eac3103"><td class="memItemLeft" align="right" valign="top"><a id="ac04213a4287500a9c5330f543eac3103" name="ac04213a4287500a9c5330f543eac3103"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ERROR</b></td></tr>
<tr class="memdesc:ac04213a4287500a9c5330f543eac3103"><td class="mdescLeft"> </td><td class="mdescRight">Only log errors. <br /></td></tr>
<tr class="separator:ac04213a4287500a9c5330f543eac3103"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9cc5d705069747eb439a1c5607baac17"><td class="memItemLeft" align="right" valign="top"><a id="a9cc5d705069747eb439a1c5607baac17" name="a9cc5d705069747eb439a1c5607baac17"></a>
+<tr class="memitem:a9cc5d705069747eb439a1c5607baac17" id="r_a9cc5d705069747eb439a1c5607baac17"><td class="memItemLeft" align="right" valign="top"><a id="a9cc5d705069747eb439a1c5607baac17" name="a9cc5d705069747eb439a1c5607baac17"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_WARNING</b></td></tr>
<tr class="memdesc:a9cc5d705069747eb439a1c5607baac17"><td class="mdescLeft"> </td><td class="mdescRight">Log errors and warnings. <br /></td></tr>
<tr class="separator:a9cc5d705069747eb439a1c5607baac17"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a248f51c4df127b7fd3a5c91ad5509d15"><td class="memItemLeft" align="right" valign="top"><a id="a248f51c4df127b7fd3a5c91ad5509d15" name="a248f51c4df127b7fd3a5c91ad5509d15"></a>
+<tr class="memitem:a248f51c4df127b7fd3a5c91ad5509d15" id="r_a248f51c4df127b7fd3a5c91ad5509d15"><td class="memItemLeft" align="right" valign="top"><a id="a248f51c4df127b7fd3a5c91ad5509d15" name="a248f51c4df127b7fd3a5c91ad5509d15"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_INFO</b></td></tr>
<tr class="memdesc:a248f51c4df127b7fd3a5c91ad5509d15"><td class="mdescLeft"> </td><td class="mdescRight">Log errors, warnings, and info. <br /></td></tr>
<tr class="separator:a248f51c4df127b7fd3a5c91ad5509d15"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="memItemLeft" align="right" valign="top"><a id="ad5741af4e5cf1da40fe4a7b92cd1c431" name="ad5741af4e5cf1da40fe4a7b92cd1c431"></a>
+<tr class="memitem:ad5741af4e5cf1da40fe4a7b92cd1c431" id="r_ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="memItemLeft" align="right" valign="top"><a id="ad5741af4e5cf1da40fe4a7b92cd1c431" name="ad5741af4e5cf1da40fe4a7b92cd1c431"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_VERBOSE</b></td></tr>
<tr class="memdesc:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="mdescLeft"> </td><td class="mdescRight">Log errors, warning, info, and verbose. <br /></td></tr>
<tr class="separator:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a96ecd597f88d458ed108f33e4f0a6612"><td class="memItemLeft" align="right" valign="top"><a id="a96ecd597f88d458ed108f33e4f0a6612" name="a96ecd597f88d458ed108f33e4f0a6612"></a>
+<tr class="memitem:a96ecd597f88d458ed108f33e4f0a6612" id="r_a96ecd597f88d458ed108f33e4f0a6612"><td class="memItemLeft" align="right" valign="top"><a id="a96ecd597f88d458ed108f33e4f0a6612" name="a96ecd597f88d458ed108f33e4f0a6612"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_AUTH_POLICY_FALLBACK</b> =0</td></tr>
<tr class="memdesc:a96ecd597f88d458ed108f33e4f0a6612"><td class="mdescLeft"> </td><td class="mdescRight">All peers will not be denied regardless of use of public key verification. <br /></td></tr>
<tr class="separator:a96ecd597f88d458ed108f33e4f0a6612"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a6af4629253b3ed1f411015410cee9ad3"><td class="memItemLeft" align="right" valign="top"><a id="a6af4629253b3ed1f411015410cee9ad3" name="a6af4629253b3ed1f411015410cee9ad3"></a>
+<tr class="memitem:a6af4629253b3ed1f411015410cee9ad3" id="r_a6af4629253b3ed1f411015410cee9ad3"><td class="memItemLeft" align="right" valign="top"><a id="a6af4629253b3ed1f411015410cee9ad3" name="a6af4629253b3ed1f411015410cee9ad3"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_AUTH_POLICY_STRICT</b></td></tr>
<tr class="memdesc:a6af4629253b3ed1f411015410cee9ad3"><td class="mdescLeft"> </td><td class="mdescRight">Only peers with public key verification will be allowed. <br /></td></tr>
<tr class="separator:a6af4629253b3ed1f411015410cee9ad3"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a72343e4853bf37ad09cb5cebfadc0de6"><td class="memItemLeft" align="right" valign="top"><a id="a72343e4853bf37ad09cb5cebfadc0de6" name="a72343e4853bf37ad09cb5cebfadc0de6"></a>
+<tr class="memitem:a72343e4853bf37ad09cb5cebfadc0de6" id="r_a72343e4853bf37ad09cb5cebfadc0de6"><td class="memItemLeft" align="right" valign="top"><a id="a72343e4853bf37ad09cb5cebfadc0de6" name="a72343e4853bf37ad09cb5cebfadc0de6"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_NONE</b></td></tr>
<tr class="separator:a72343e4853bf37ad09cb5cebfadc0de6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a21a88eb4529c120f49036db4b33505cd"><td class="memItemLeft" align="right" valign="top"><a id="a21a88eb4529c120f49036db4b33505cd" name="a21a88eb4529c120f49036db4b33505cd"></a>
+<tr class="memitem:a21a88eb4529c120f49036db4b33505cd" id="r_a21a88eb4529c120f49036db4b33505cd"><td class="memItemLeft" align="right" valign="top"><a id="a21a88eb4529c120f49036db4b33505cd" name="a21a88eb4529c120f49036db4b33505cd"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_REQUEST_CONNECT</b></td></tr>
<tr class="separator:a21a88eb4529c120f49036db4b33505cd"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"><td class="memItemLeft" align="right" valign="top"><a id="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94" name="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"></a>
+<tr class="memitem:a6b4bd6a74bd9c6d2d93ca1c1e12bcf94" id="r_a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"><td class="memItemLeft" align="right" valign="top"><a id="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94" name="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_REQUEST_DISCONNECT</b></td></tr>
<tr class="separator:a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:abcb673b618b1a667fde68d33b1458aba"><td class="memItemLeft" align="right" valign="top"><a id="abcb673b618b1a667fde68d33b1458aba" name="abcb673b618b1a667fde68d33b1458aba"></a>
+<tr class="memitem:abcb673b618b1a667fde68d33b1458aba" id="r_abcb673b618b1a667fde68d33b1458aba"><td class="memItemLeft" align="right" valign="top"><a id="abcb673b618b1a667fde68d33b1458aba" name="abcb673b618b1a667fde68d33b1458aba"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_CONNECTED</b></td></tr>
<tr class="separator:abcb673b618b1a667fde68d33b1458aba"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aac839f06a0f38fbe1234f834c21595ef"><td class="memItemLeft" align="right" valign="top"><a id="aac839f06a0f38fbe1234f834c21595ef" name="aac839f06a0f38fbe1234f834c21595ef"></a>
+<tr class="memitem:aac839f06a0f38fbe1234f834c21595ef" id="r_aac839f06a0f38fbe1234f834c21595ef"><td class="memItemLeft" align="right" valign="top"><a id="aac839f06a0f38fbe1234f834c21595ef" name="aac839f06a0f38fbe1234f834c21595ef"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_DISCONNECTED</b></td></tr>
<tr class="separator:aac839f06a0f38fbe1234f834c21595ef"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8619c6ec9a86458dfa4492967586a5d5"><td class="memItemLeft" align="right" valign="top"><a id="a8619c6ec9a86458dfa4492967586a5d5" name="a8619c6ec9a86458dfa4492967586a5d5"></a>
+<tr class="memitem:a8619c6ec9a86458dfa4492967586a5d5" id="r_a8619c6ec9a86458dfa4492967586a5d5"><td class="memItemLeft" align="right" valign="top"><a id="a8619c6ec9a86458dfa4492967586a5d5" name="a8619c6ec9a86458dfa4492967586a5d5"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_FAIL_CONNECT</b></td></tr>
<tr class="separator:a8619c6ec9a86458dfa4492967586a5d5"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a339bec321cb608fcd90fcd7cea102b11"><td class="memItemLeft" align="right" valign="top"><a id="a339bec321cb608fcd90fcd7cea102b11" name="a339bec321cb608fcd90fcd7cea102b11"></a>
+<tr class="memitem:a339bec321cb608fcd90fcd7cea102b11" id="r_a339bec321cb608fcd90fcd7cea102b11"><td class="memItemLeft" align="right" valign="top"><a id="a339bec321cb608fcd90fcd7cea102b11" name="a339bec321cb608fcd90fcd7cea102b11"></a>
 </td><td class="memItemRight" valign="bottom"><b>UDPC_ET_GOOD_MODE</b></td></tr>
<tr class="separator:a339bec321cb608fcd90fcd7cea102b11"><td class="memSeparator" colspan="2"> </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>
+<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>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a228cd7ddf56a4e76e216bc3b80e8bd4a" name="a228cd7ddf56a4e76e216bc3b80e8bd4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a228cd7ddf56a4e76e216bc3b80e8bd4a">◆ </a></span>UDPC_AuthPolicy</h2>
</tr>
</table>
</div><div class="memdoc">
-<p >Note auth policy will only take effect if public key verification of packets is enabled (if libsodium is enabled). </p>
+<p>Note auth policy will only take effect if public key verification of packets is enabled (if libsodium is enabled). </p>
</div>
</div>
</div><div class="memdoc">
<p>Data identifying a peer via addr, port, and scope_id. </p>
-<p >This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
+<p>This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
</div>
</div>
</div><div class="memdoc">
<p>A struct containing information related to the type of event. </p>
-<p >Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
+<p>Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
</div>
</div>
</div><div class="memdoc">
<p>An enum describing the type of event. </p>
-<p >Note that only the following values will be presented when using <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p><ul>
+<p>Note that only the following values will be presented when using <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p><ul>
<li>UDPC_ET_NONE: No events have ocurred</li>
<li>UDPC_ET_CONNECTED: A peer has initiated a connection</li>
<li>UDPC_ET_DISCONNECTED: A peer has disconnected</li>
<li>UDPC_ET_GOOD_MODE: The connection has switched to "good mode"</li>
<li>UDPC_ET_BAD_MODE: The connection has switched to "bad mode"</li>
</ul>
-<p >The other unmentioned enum values are used internally, and should never be returned in a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a>.</p>
-<p >All events returned by <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will have set the member variable <code>conId</code> in the <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a> which refers to the peer with which the event ocurred. </p>
+<p>The other unmentioned enum values are used internally, and should never be returned in a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a>.</p>
+<p>All events returned by <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will have set the member variable <code>conId</code> in the <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a> which refers to the peer with which the event ocurred. </p>
</div>
</div>
</div><div class="memdoc">
<p>Data representing a received/sent packet. </p>
-<p >If data is NULL or dataSize is 0, then this packet is invalid.</p>
+<p>If data is NULL or dataSize is 0, then this packet is invalid.</p>
<dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> or <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> to avoid a memory leak. </dd></dl>
</div>
</div><div class="memdoc">
<p>Adds a public key to the whitelist. </p>
-<p >By default the whitelist is empty and any peer regardless of key will not be denied connection.</p>
-<p >This function adds one public key to the whitelist. If the whitelist is not empty, then all peers that do not have the matching public key will be denied connection.</p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>By default the whitelist is empty and any peer regardless of key will not be denied connection.</p>
+<p>This function adds one public key to the whitelist. If the whitelist is not empty, then all peers that do not have the matching public key will be denied connection.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>The size of the whitelist on success, zero otherwise </dd></dl>
</div>
<p>Returns a pointer to a null-terminated address string derived from the given address. </p>
<dl class="section warning"><dt>Warning</dt><dd>You must NOT free the pointer returned by this function, as it refers to a buffer allocated by the UDPC Context specifically to hold address strings.</dd></dl>
<p>The current implementation uses a buffer that can hold up to 32 address strings at once. When this function is called, an internal counter is used to pick the next spot in the buffer to store the address string and return its pointer. This buffer is used like a "ring-buffer"; when the end of the buffer is reached, the counter wraps-around to the beginning of the buffer, which has the effect of overwriting the oldest addr-string entry on every invocation (if this function was called more than 32 times).</p>
-<p >This function is mostly thread-safe. If this function is called more than 32 times at once in parallel, some of the strings in the buffer may be clobbered by other invocations of this function as a race-condition, and may be considered undefined behavior.</p>
-<p >It may be easier to use <a class="el" href="UDPC_8h.html#a5a3c613a0d96a075ccddfba1e8900828" title="Returns the result of UDPC_atostr() with the addr data inside the given UDPC_ConnectionId instance.">UDPC_atostr_cid()</a>.</p>
-<p >UDPC internally uses <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> for logging. This means that while UDPC is running, a string created with <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> may be overwritten eventually by UDPC. To avoid this situation, <a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe()</a> or <a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe_cid()</a> may be used as the ptr returned by it will not be overwritten by UDPC as time passes. </p>
+<p>This function is mostly thread-safe. If this function is called more than 32 times at once in parallel, some of the strings in the buffer may be clobbered by other invocations of this function as a race-condition, and may be considered undefined behavior.</p>
+<p>It may be easier to use <a class="el" href="UDPC_8h.html#a5a3c613a0d96a075ccddfba1e8900828" title="Returns the result of UDPC_atostr() with the addr data inside the given UDPC_ConnectionId instance.">UDPC_atostr_cid()</a>.</p>
+<p>UDPC internally uses <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> for logging. This means that while UDPC is running, a string created with <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> may be overwritten eventually by UDPC. To avoid this situation, <a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe()</a> or <a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe_cid()</a> may be used as the ptr returned by it will not be overwritten by UDPC as time passes. </p>
</div>
</div>
<p>Similar to UPDC_atostr(), but the returned ptr must be free'd. </p>
<dl class="section warning"><dt>Warning</dt><dd>The returned pointer must be freed with free(), or <a class="el" href="UDPC_8h.html#a5c6fe261f7d53e7ccae4c7233c42c76b" title="Free an addr string created with UDPC_atostr_unsafe().">UDPC_atostr_unsafe_free()</a>, or <a class="el" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75" title="Free an addr string created with UDPC_atostr_unsafe() and zeroes the pointer.">UDPC_atostr_unsafe_free_ptr()</a>.</dd></dl>
<p>UDPC internally uses <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> for logging. This means that while UDPC is running, a string created with <a class="el" href="UDPC_8h.html#a9e2401b133c0aae43c5d69304dabbdcc" title="Returns a pointer to a null-terminated address string derived from the given address.">UDPC_atostr()</a> may be overwritten eventually by UDPC. To avoid this situation, <a class="el" href="UDPC_8h.html#a939b6c407297f6cf913f2983869f051f" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe()</a> or <a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe_cid()</a> may be used as the ptr returned by it will not be overwritten by UDPC as time passes.</p>
-<p >It may be easier to use <a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe_cid()</a>. </p>
+<p>It may be easier to use <a class="el" href="UDPC_8h.html#a1549eee3edacbc23ca144eec72d274bb" title="Similar to UPDC_atostr(), but the returned ptr must be free'd.">UDPC_atostr_unsafe_cid()</a>. </p>
</div>
</div>
<div class="line"><a class="code hl_function" href="UDPC_8h.html#a2e47fb8779abe3a9db72a08bf494dc75">UDPC_atostr_unsafe_free_ptr</a>(&addrString);</div>
<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_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>
-<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:159</div></div>
</div><!-- fragment -->
</div>
</div>
</div><div class="memdoc">
<p>Clears the public key whitelist. </p>
-<p >If the whitelist is empty, then no connections will be denied.</p>
-<p >If there are keys in the whitelist, then new connections will only be allowed if the peer uses a public key in the whitelist.</p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>If the whitelist is empty, then no connections will be denied.</p>
+<p>If there are keys in the whitelist, then new connections will only be allowed if the peer uses a public key in the whitelist.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Zero if the context is invalid or libsodium is not enabled, non-zero if the whitelist was successfully cleared </dd></dl>
</div>
</div><div class="memdoc">
<p>Initiate a connection to a server peer. </p>
-<p >Note that this function does nothing on a server context.</p>
+<p>Note that this function does nothing on a server context.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The context to initiate a connection from </td></tr>
</div><div class="memdoc">
<p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr and port. </p>
-<p >port should be in native byte order (not network/big-endian). This means that there is no need to convert the 16-bit value to network byte order, this will be done automatically by this library when necessary (without modifying the value in the used <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a>).</p>
+<p>port should be in native byte order (not network/big-endian). This means that there is no need to convert the 16-bit value to network byte order, this will be done automatically by this library when necessary (without modifying the value in the used <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a>).</p>
<dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
</div>
</div><div class="memdoc">
<p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given port. </p>
-<p >The address contained in the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be zeroed out (the "anyaddr" address). port should be in native byte order (not network/big-endian).</p>
+<p>The address contained in the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be zeroed out (the "anyaddr" address). port should be in native byte order (not network/big-endian).</p>
<dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
</div>
</div><div class="memdoc">
<p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr string and port. </p>
-<p >The address string should be a valid ipv6 or ipv4 address. (If an ipv4 address is given, the internal address of the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be ipv4-mapped ipv6 address.) port should be in native byte order (not network/big-endian).</p>
+<p>The address string should be a valid ipv6 or ipv4 address. (If an ipv4 address is given, the internal address of the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be ipv4-mapped ipv6 address.) port should be in native byte order (not network/big-endian).</p>
<dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
</div>
</div><div class="memdoc">
<p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr, scope_id, and port. </p>
-<p >port should be in native byte order (not network/big-endian).</p>
+<p>port should be in native byte order (not network/big-endian).</p>
<dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
</div>
</div><div class="memdoc">
<p>Cleans up the UDPC_HContext. </p>
-<p >If auto updating was enabled for the given context, it will gracefully stop the thread before cleaning up the context.</p>
+<p>If auto updating was enabled for the given context, it will gracefully stop the thread before cleaning up the context.</p>
<dl class="section warning"><dt>Warning</dt><dd>This function must be called after a UDPC_HContext is no longer used to avoid memory leaks. </dd></dl>
</div>
</div><div class="memdoc">
<p>Drops an existing connection to a peer. </p>
-<p >Note that UDPC will send a disconnect packet to the peer before removing the internal connection data handling the connection to that peer.</p>
+<p>Note that UDPC will send a disconnect packet to the peer before removing the internal connection data handling the connection to that peer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Enables auto updating on a separate thread for the given UDPC_HContext. </p>
-<p >By default, the update interval is set to 8 milliseconds.</p>
+<p>By default, the update interval is set to 8 milliseconds.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The context to enable auto updating for </td></tr>
</div><div class="memdoc">
<p>Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. </p>
-<p >Internally, the member variable UDPC_PacketInfo::data will be free'd. <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> is safer to use than this function, as it also zeros out the relevant data to avoid double frees. </p>
+<p>Internally, the member variable UDPC_PacketInfo::data will be free'd. <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> is safer to use than this function, as it also zeros out the relevant data to avoid double frees. </p>
</div>
</div>
</div><div class="memdoc">
<p>Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. </p>
-<p >This is a safer alternative to <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> because it internally zeroes out the internal pointer and size variables, making it safe to pass the same ptr multiple times to this function as it avoids a double free.</p>
-<p >Usage: </p><div class="fragment"><div class="line"><a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pinfo = <a class="code hl_function" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(ctx, NULL);</div>
+<p>This is a safer alternative to <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> because it internally zeroes out the internal pointer and size variables, making it safe to pass the same ptr multiple times to this function as it avoids a double free.</p>
+<p>Usage: </p><div class="fragment"><div class="line"><a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pinfo = <a class="code hl_function" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(ctx, NULL);</div>
<div class="line"><a class="code hl_function" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a>(&pinfo);</div>
<div class="line"><a class="code hl_function" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a>(&pinfo); <span class="comment">// This is safe, no double free.</span></div>
<div class="ttc" id="aUDPC_8h_html_ad77c746ea0401664e11bfd76c56e94f5"><div class="ttname"><a href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_free_PacketInfo_ptr(UDPC_PacketInfo *pInfoPtr)</div><div class="ttdoc">Frees a UDPC_PacketInfo.</div></div>
<div class="ttc" id="aUDPC_8h_html_affa8655a4e7e3475be441060e92213b3"><div class="ttname"><a href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a></div><div class="ttdeci">UDPC_EXPORT UDPC_PacketInfo UDPC_get_received(UDPC_HContext ctx, unsigned long *remaining)</div><div class="ttdoc">Get a received packet from a given UDPC context.</div></div>
-<div class="ttc" id="astructUDPC__PacketInfo_html"><div class="ttname"><a href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a></div><div class="ttdoc">Data representing a received/sent packet.</div><div class="ttdef"><b>Definition:</b> UDPC.h: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:174</div></div>
</div><!-- fragment -->
</div>
</div>
</div><div class="memdoc">
<p>Gets how peers are handled regarding public key verification. </p>
-<p >If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>The current auth policy (see <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>) , or zero on fail </dd></dl>
</div>
</div><div class="memdoc">
<p>Gets a recorded event. </p>
-<p >See <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> for possible types of a <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a>.</p>
+<p>See <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> for possible types of a <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Gets a dynamically allocated array of connected peers' identifiers. </p>
-<p >Note that an additional element is appended to the array that is initialized with all fields to zero.</p>
+<p>Note that an additional element is appended to the array that is initialized with all fields to zero.</p>
<dl class="section warning"><dt>Warning</dt><dd>One must call <a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef" title="Cleans up a dynamically allocated array of connected peers' identifiers.">UDPC_free_list_connected()</a> with the returned array to clean up data to avoid a memory leak</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
</div><div class="memdoc">
<p>Gets the logging type of the UDPC context. </p>
-<p >See UDPC_LoggingType for possible values.</p>
+<p>See UDPC_LoggingType for possible values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Gets the size limit of a connection's queue of queued packets. </p>
-<p >Note that a call to this function does not use any locks, as the limit is known at compile time and is the same for all UDPC connections.</p>
+<p>Note that a call to this function does not use any locks, as the limit is known at compile time and is the same for all UDPC connections.</p>
<dl class="section return"><dt>Returns</dt><dd>The size limit of a connection's queue </dd></dl>
</div>
</div><div class="memdoc">
<p>Gets the protocol id of the UDPC context. </p>
-<p >UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
-<p >One can use <a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a" title="Sets the protocol id of the UDPC context.">UDPC_set_protocol_id()</a> to change it.</p>
+<p>UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
+<p>One can use <a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a" title="Sets the protocol id of the UDPC context.">UDPC_set_protocol_id()</a> to change it.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Gets the size of the data structure holding queued packets. </p>
-<p >Note that a UDPC context holds a different data structure per established connection that holds a limited amount of packets to send. If a connection's queue is full, it will not be removed from the main queue that this function (and <a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4" title="Queues a packet to be sent to the specified peer.">UDPC_queue_send()</a>) uses. The queue that this function refers to does not have an imposed limit as it is implemented as a thread-safe linked list (data is dynamically stored on the heap) and access to this data structure is faster than accessing a connection's internal queue. Also note that this queue holds packets for all connections this context maintains. Thus if one connection has free space, then it may partially remove packets only destined for that connection from the queue this function refers to.</p>
+<p>Note that a UDPC context holds a different data structure per established connection that holds a limited amount of packets to send. If a connection's queue is full, it will not be removed from the main queue that this function (and <a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4" title="Queues a packet to be sent to the specified peer.">UDPC_queue_send()</a>) uses. The queue that this function refers to does not have an imposed limit as it is implemented as a thread-safe linked list (data is dynamically stored on the heap) and access to this data structure is faster than accessing a connection's internal queue. Also note that this queue holds packets for all connections this context maintains. Thus if one connection has free space, then it may partially remove packets only destined for that connection from the queue this function refers to.</p>
<dl class="section return"><dt>Returns</dt><dd>The size of the queue </dd></dl>
</div>
</div><div class="memdoc">
<p>Gets the size of a connection's queue of queued packets. </p>
-<p >Note that a UDPC context holds a queue per established connection that holds a limited amount of packets to send. This function checks a connection's internal queue, but must do so after locking an internal mutex (a call to <a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b" title="Updates the context.">UDPC_update()</a> will lock this mutex, regardless of whether or not the context is using threaded update).</p>
-<p >If <code>exists</code> is a non-null pointer to an <code>int</code>, and a connection to a peer identified by <code>id</code> exists, then the value of <code>exists</code> will be set to non-zero, otherwise a non-existing peer will set the value of <code>exists</code> to zero.</p>
+<p>Note that a UDPC context holds a queue per established connection that holds a limited amount of packets to send. This function checks a connection's internal queue, but must do so after locking an internal mutex (a call to <a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b" title="Updates the context.">UDPC_update()</a> will lock this mutex, regardless of whether or not the context is using threaded update).</p>
+<p>If <code>exists</code> is a non-null pointer to an <code>int</code>, and a connection to a peer identified by <code>id</code> exists, then the value of <code>exists</code> will be set to non-zero, otherwise a non-existing peer will set the value of <code>exists</code> to zero.</p>
<dl class="section return"><dt>Returns</dt><dd>The size of a connection's queue </dd></dl>
</div>
</div><div class="memdoc">
<p>Returns non-zero if the UDPC context will record events. </p>
-<p >Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
+<p>Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Checks if a public key is in the whitelist. </p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Non-zero if the given public key is in the whitelist </dd></dl>
</div>
</div><div class="memdoc">
<p>Creates an UDPC_HContext that holds state for connections that auto-updates via a thread. </p>
-<p >By default, the update interval is set to 8 milliseconds.</p>
+<p>By default, the update interval is set to 8 milliseconds.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">listenId</td><td>The addr and port to listen on (contained in a <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a>) </td></tr>
</div><div class="memdoc">
<p>Converts a 16-bit int into/from network byte order (big endian). </p>
-<p >Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
-<p >Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
+<p>Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
+<p>Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
<div class="fragment"><div class="line"><span class="comment">// Sending</span></div>
<div class="line">uint16_t send_value = 13;</div>
<div class="line"><span class="keywordtype">char</span> buffer[2];</div>
<div class="line">receive_value = <a class="code hl_function" href="UDPC_8h.html#a09093c7edd8ed04407c84a94e0d02587">UDPC_no16i</a>(receive_value);</div>
<div class="line"><span class="comment">// use receive_value</span></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><!-- fragment --><p >When using a signed integer:</p>
+</div><!-- fragment --><p>When using a signed integer:</p>
<div class="fragment"><div class="line">int16_t send_value = 15000;</div>
<div class="line"><span class="comment">// network byte order</span></div>
<div class="line">uint16_t *ptr = (uint16_t*)&send_value;</div>
</div><div class="memdoc">
<p>Converts a 32-bit float into/from network byte order (big endian). </p>
-<p >Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
-<p >Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
+<p>Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
+<p>Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
<div class="fragment"><div class="line"><span class="comment">// Sending</span></div>
<div class="line"><span class="keywordtype">float</span> send_value = 0.123F;</div>
<div class="line"><span class="keywordtype">char</span> buffer[4];</div>
</div><div class="memdoc">
<p>Converts a 32-bit int into/from network byte order (big endian). </p>
-<p >Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
-<p >Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
+<p>Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
+<p>Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
<div class="fragment"><div class="line"><span class="comment">// Sending</span></div>
<div class="line">uint32_t send_value = 123456;</div>
<div class="line"><span class="keywordtype">char</span> buffer[4];</div>
<div class="line">receive_value = <a class="code hl_function" href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">UDPC_no32i</a>(receive_value);</div>
<div class="line"><span class="comment">// use receive_value</span></div>
<div class="ttc" id="aUDPC_8h_html_a3e62beb3d497732f5e1d79e19878198c"><div class="ttname"><a href="UDPC_8h.html#a3e62beb3d497732f5e1d79e19878198c">UDPC_no32i</a></div><div class="ttdeci">UDPC_EXPORT uint32_t UDPC_no32i(uint32_t i)</div><div class="ttdoc">Converts a 32-bit int into/from network byte order (big endian).</div></div>
-</div><!-- fragment --><p >When using a signed integer:</p>
+</div><!-- fragment --><p>When using a signed integer:</p>
<div class="fragment"><div class="line">int32_t send_value = 123456;</div>
<div class="line"><span class="comment">// network byte order</span></div>
<div class="line">uint32_t *ptr = (uint32_t*)&send_value;</div>
</div><div class="memdoc">
<p>Converts a 64-bit float into/from network byte order (big endian). </p>
-<p >Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
-<p >Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
+<p>Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
+<p>Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
<div class="fragment"><div class="line"><span class="comment">// Sending</span></div>
<div class="line"><span class="keywordtype">double</span> send_value = 0.123456;</div>
<div class="line"><span class="keywordtype">char</span> buffer[8];</div>
</div><div class="memdoc">
<p>Converts a 64-bit int into/from network byte order (big endian). </p>
-<p >Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
-<p >Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
+<p>Typically, if one is sending integers/floats through UDPC, it is strongly recommended to use the UDPC_no* family of functions to convert to/back from network byte order. In other words, the integers/floats should be converted to network byte order prior to writing it into the buffer to send, and it should be converted back to native byte order when reading it from the received buffer.</p>
+<p>Note that on big-endian systems, this function has no effect. However, it is recommended to use this function as shown so that the endianness of the system is not a problem.</p>
<div class="fragment"><div class="line"><span class="comment">// Sending</span></div>
<div class="line">uint64_t send_value = 0xABCDEFABCDEFAAAA;</div>
<div class="line"><span class="keywordtype">char</span> buffer[8];</div>
<div class="line">receive_value = <a class="code hl_function" href="UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757">UDPC_no64i</a>(receive_value);</div>
<div class="line"><span class="comment">// use receive_value</span></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>
-</div><!-- fragment --><p >When using a signed integer:</p>
+</div><!-- fragment --><p>When using a signed integer:</p>
<div class="fragment"><div class="line">int64_t send_value = 0x1111222233334444;</div>
<div class="line"><span class="comment">// network byte order</span></div>
<div class="line">uint64_t *ptr = (uint64_t*)&send_value;</div>
</div><div class="memdoc">
<p>Queues a packet to be sent to the specified peer. </p>
-<p >Note that there must already be an established connection with the peer. If a packet is queued for a peer that is not connected, it will be dropped and logged with log-level warning. A client can establish a connection to a server peer via a call to <a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55" title="Initiate a connection to a server peer.">UDPC_client_initiate_connection()</a> or UDPC_client_initiate_connection_pk(). A server must receive an initiate-connection-packet from a client to establish a connection (sent by previously mentioned UDPC_client_initiate_* functions).</p>
+<p>Note that there must already be an established connection with the peer. If a packet is queued for a peer that is not connected, it will be dropped and logged with log-level warning. A client can establish a connection to a server peer via a call to <a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55" title="Initiate a connection to a server peer.">UDPC_client_initiate_connection()</a> or UDPC_client_initiate_connection_pk(). A server must receive an initiate-connection-packet from a client to establish a connection (sent by previously mentioned UDPC_client_initiate_* functions).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The context to send a packet on </td></tr>
</div><div class="memdoc">
<p>Removes a public key from the whitelist. </p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Non-zero if a public key was removed </dd></dl>
</div>
</div><div class="memdoc">
<p>Sets how peers are handled regarding public key verification. </p>
-<p >If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#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="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>), or zero on fail </dd></dl>
</div>
</div><div class="memdoc">
<p>Sets the public/private keys used for packet verification. </p>
-<p >This function is almost identical with UDPC_set_libsodium_keys, except it will utilize libsodium to generate the associated public key with the given private key.</p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>This function is almost identical with UDPC_set_libsodium_keys, except it will utilize libsodium to generate the associated public key with the given private key.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Non-zero if keys were successfully set, zero if context is invalid or libsodium is not enabled </dd></dl>
</div>
</div><div class="memdoc">
<p>Sets public/private keys used for packet verification. </p>
-<p >If keys are not set and packet verification is enabled, for each new connection new keys will be generated then used. The auto-generated keys used will be unique per connection. Conversely if keys are set, then new connections will use the given keys.</p>
-<p >Note that connections established before calling this function will not use the given keys.</p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>If keys are not set and packet verification is enabled, for each new connection new keys will be generated then used. The auto-generated keys used will be unique per connection. Conversely if keys are set, then new connections will use the given keys.</p>
+<p>Note that connections established before calling this function will not use the given keys.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Non-zero if keys were successfully set, zero if context is invalid or libsodium is not enabled </dd></dl>
</div>
</div><div class="memdoc">
<p>Sets the logging type of the UDPC context. </p>
-<p >See UDPC_LoggingType for possible values.</p>
+<p>See UDPC_LoggingType for possible values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Sets the protocol id of the UDPC context. </p>
-<p >UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
+<p>UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Sets whether or not UDPC will record events. </p>
-<p >Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
+<p>Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
</div><div class="memdoc">
<p>Removes set keys if any used for packet verification. </p>
-<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>Zero if context is invalid or libsodium is not enabled </dd></dl>
</div>
</div><div class="memdoc">
<p>Updates the context. </p>
-<p >Updating consists of:</p><ul>
+<p>Updating consists of:</p><ul>
<li>Checking if peers have timed out</li>
<li>Handling requests to connect to server peers as a client</li>
<li>Sending packets to connected peers</li>
<li>Calculating round-trip-time (RTT) to peers</li>
<li>Checking if a peer has not received a packet and queuing that packet to be resent (this is done by using an ack)</li>
</ul>
-<p >If auto updating was enabled for the context, then there is no need to call this function.</p>
-<p >Previously, update would only receive one packet per call to update. Now, each individual call to update will process all packets that have been received but haven't been processed yet. </p>
+<p>If auto updating was enabled for the context, then there is no need to call this function.</p>
+<p>Previously, update would only receive one packet per call to update. Now, each individual call to update will process all packets that have been received but haven't been processed yet. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: src/UDPC.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<div id="main-nav"></div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
+$(document).ready(function() { init_codefold(0); });
+/* @license-end */
+</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
<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="comment"></span><span class="preprocessor">#define UDPC_PACKET_MAX_SIZE 8192</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="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>
<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_struct" href="structUDPC__ConnectionId.html">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 "empty" 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="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_struct" href="structUDPC__PacketInfo.html">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="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>
<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>
<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_struct" href="structUDPC__Event.html">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="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: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_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>
<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:146</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>
<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: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_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:127</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>
<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:129</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:135</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:236</div></div>
<div class="ttc" id="aUDPC_8h_html_aea7e32ca9fdc04530f95c97459391e6d"><div class="ttname"><a href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId UDPC_create_id(UDPC_IPV6_ADDR_TYPE addr, uint16_t port)</div><div class="ttdoc">Creates an UDPC_ConnectionId with the given addr and port.</div></div>
<div class="ttc" id="aUDPC_8h_html_affa8655a4e7e3475be441060e92213b3"><div class="ttname"><a href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a></div><div class="ttdeci">UDPC_EXPORT UDPC_PacketInfo UDPC_get_received(UDPC_HContext ctx, unsigned long *remaining)</div><div class="ttdoc">Get a received packet from a given UDPC context.</div></div>
-<div class="ttc" id="astructUDPC__ConnectionId_html"><div class="ttname"><a href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a></div><div class="ttdoc">Data identifying a peer via addr, port, and scope_id.</div><div class="ttdef"><b>Definition:</b> UDPC.h: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: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><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Data Structures</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Data Structure Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html">UDPC.h</a> <a href="UDPC_8h_source.html">[code]</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="UDPC_8h_source.html"><span class="icondoc"></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html">UDPC.h</a></td></tr>
<tr class="memdesc:UDPC_8h"><td class="mdescLeft"> </td><td class="mdescRight">Public API for UDPConnection. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
+<g style="fill:#4665A2">
+<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
+</g>
+<g style="fill:#D8DFEE;stroke-width:0">
+<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
+<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
+</g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
+<g style="fill:#C4CFE5">
+<path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/>
+</g>
+<g style="fill:#4665A2;stroke-width:0">
+<path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" />
+<path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" />
+</g>
+</svg>
-/* The standard CSS for doxygen 1.9.5*/
+/* The standard CSS for doxygen 1.9.8*/
html {
/* page base colors */
--icon-background-color: #728DC1;
--icon-foreground-color: white;
---icon-doc-image: url('doc.png');
+--icon-doc-image: url('doc.svg');
+--icon-folder-open-image: url('folderopen.svg');
+--icon-folder-closed-image: url('folderclosed.svg');
/* brief member declaration list */
--memdecl-background-color: #F9FAFC;
--toc-background-color: #F4F6FA;
--toc-border-color: #D8DFEE;
--toc-header-color: #4665A2;
+--toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px' fill='grey'><text x='0' y='5' font-size='10'>&%238595;</text></svg>");
/** search field */
--search-background-color: white;
--code-preprocessor-color: #806020;
--code-string-literal-color: #002080;
--code-char-literal-color: #008080;
+--code-xml-cdata-color: black;
--code-vhdl-digit-color: #FF00FF;
--code-vhdl-char-color: #000000;
--code-vhdl-keyword-color: #700070;
--tooltip-declaration-color: #006318;
--tooltip-link-color: #4665A2;
--tooltip-shadow: 1px 1px 7px gray;
+--fold-line-color: #808080;
+--fold-minus-image: url('minus.svg');
+--fold-plus-image: url('plus.svg');
+--fold-minus-image-relpath: url('../../minus.svg');
+--fold-plus-image-relpath: url('../../plus.svg');
/** font-family */
--font-family-normal: Roboto,sans-serif;
---font-family-monospace: monospace,fixed;
+--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
--font-family-title: Tahoma,Arial,sans-serif;
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--icon-background-color: #334975;
--icon-foreground-color: #C4CFE5;
---icon-doc-image: url('docd.png');
+--icon-doc-image: url('docd.svg');
+--icon-folder-open-image: url('folderopend.svg');
+--icon-folder-closed-image: url('folderclosedd.svg');
/* brief member declaration list */
--memdecl-background-color: #0B101A;
--toc-background-color: #151E30;
--toc-border-color: #202E4A;
--toc-header-color: #A3B4D7;
+--toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px'><text x='0' y='5' font-size='10' fill='grey'>&%238595;</text></svg>");
/** search field */
--search-background-color: black;
--code-preprocessor-color: #65CABE;
--code-string-literal-color: #7EC699;
--code-char-literal-color: #00E0F0;
+--code-xml-cdata-color: #C9D1D9;
--code-vhdl-digit-color: #FF00FF;
---code-vhdl-char-color: #000000;
---code-vhdl-keyword-color: #700070;
+--code-vhdl-char-color: #C0C0C0;
+--code-vhdl-keyword-color: #CF53C9;
--code-vhdl-logic-color: #FF0000;
--code-link-color: #79C0FF;
--code-external-link-color: #79C0FF;
--tooltip-declaration-color: #20C348;
--tooltip-link-color: #79C0FF;
--tooltip-shadow: none;
+--fold-line-color: #808080;
+--fold-minus-image: url('minusd.svg');
+--fold-plus-image: url('plusd.svg');
+--fold-minus-image-relpath: url('../../minusd.svg');
+--fold-plus-image-relpath: url('../../plusd.svg');
/** font-family */
--font-family-normal: Roboto,sans-serif;
---font-family-monospace: monospace,fixed;
+--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
--font-family-title: Tahoma,Arial,sans-serif;
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
body {
background-color: var(--page-background-color);
color: var(--page-foreground-color);
- scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
-}
-
-::-webkit-scrollbar {
- background-color: var(--scrollbar-background-color);
- height: 10px;
- width: 10px;
-}
-::-webkit-scrollbar-thumb {
- background-color: var(--scrollbar-thumb-color);
- border-radius: 8px;
-}
-::-webkit-scrollbar-corner {
- background-color: var(--scrollbar-background-color);
}
body, table, div, p, dl {
color: var(--index-separator-color);
}
+#main-menu a:focus {
+ outline: auto;
+ z-index: 10;
+ position: relative;
+}
+
dt.alphachar{
font-size: 180%;
font-weight: bold;
overflow: visible;
}
+ul.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+ column-count: 3;
+ list-style-type: none;
+}
+
#side-nav ul {
overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
}
font-family: var(--font-family-monospace);
font-size: 13px;
min-height: 13px;
- line-height: 1.0;
+ line-height: 1.2;
text-wrap: unrestricted;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
box-shadow: 0 0 10px var(--glow-color);
}
+span.fold {
+ margin-left: 5px;
+ margin-right: 1px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ background-repeat:no-repeat;
+ background-position:center;
+}
span.lineno {
padding-right: 4px;
color: var(--code-char-literal-color);
}
+span.xmlcdata {
+ color: var(--code-xml-cdata-color);
+}
+
span.vhdldigit {
color: var(--code-vhdl-digit-color);
}
width: 24px;
height: 18px;
margin-bottom: 4px;
- background-image:url('folderopen.png');
- background-position: 0px -4px;
+ background-image:var(--icon-folder-open-image);
background-repeat: repeat-y;
vertical-align:top;
display: inline-block;
width: 24px;
height: 18px;
margin-bottom: 4px;
- background-image:url('folderclosed.png');
- background-position: 0px -4px;
+ background-image:var(--icon-folder-closed-image);
background-repeat: repeat-y;
vertical-align:top;
display: inline-block;
}
div.toc li {
- background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
font: 10px/1.2 var(--font-family-toc);
margin-top: 5px;
padding-left: 10px;
}
div.toc li.level3 {
- margin-left: 30px;
+ margin-left: 15px;
}
div.toc li.level4 {
- margin-left: 45px;
+ margin-left: 15px;
}
span.emoji {
text-decoration: underline;
}
+details>summary {
+ list-style-type: none;
+}
+
+details > summary::-webkit-details-marker {
+ display: none;
+}
+
+details>summary::before {
+ content: "\25ba";
+ padding-right:4px;
+ font-size: 80%;
+}
+
+details[open]>summary::before {
+ content: "\25bc";
+ padding-right:4px;
+ font-size: 80%;
+}
+
+body {
+ scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
+}
+
+::-webkit-scrollbar {
+ background-color: var(--scrollbar-background-color);
+ height: 12px;
+ width: 12px;
+}
+::-webkit-scrollbar-thumb {
+ border-radius: 6px;
+ box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color);
+ border: solid 2px transparent;
+}
+::-webkit-scrollbar-corner {
+ background-color: var(--scrollbar-background-color);
+}
+
<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="a">
</filter>
</defs>
<g>
- <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
+ <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696"/>
<path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
<path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
<path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
+
+var opened=true;
+// in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes
+var plusImg = [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ];
+var minusImg = [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ];
+
+// toggle all folding blocks
+function codefold_toggle_all(relPath) {
+ if (opened) {
+ $('#fold_all').css('background-image',plusImg[relPath]);
+ $('div[id^=foldopen]').hide();
+ $('div[id^=foldclosed]').show();
+ } else {
+ $('#fold_all').css('background-image',minusImg[relPath]);
+ $('div[id^=foldopen]').show();
+ $('div[id^=foldclosed]').hide();
+ }
+ opened=!opened;
+}
+
+// toggle single folding block
+function codefold_toggle(id) {
+ $('#foldopen'+id).toggle();
+ $('#foldclosed'+id).toggle();
+}
+function init_codefold(relPath) {
+ $('span[class=lineno]').css(
+ {'padding-right':'4px',
+ 'margin-right':'2px',
+ 'display':'inline-block',
+ 'width':'54px',
+ 'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
+ });
+ // add global toggle to first line
+ $('span[class=lineno]:first').append('<span class="fold" id="fold_all" '+
+ 'onclick="javascript:codefold_toggle_all('+relPath+');" '+
+ 'style="background-image:'+minusImg[relPath]+';"></span>');
+ // add vertical lines to other rows
+ $('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
+ // add toggle controls to lines with fold divs
+ $('div[class=foldopen]').each(function() {
+ // extract specific id to use
+ var id = $(this).attr('id').replace('foldopen','');
+ // extract start and end foldable fragment attributes
+ var start = $(this).attr('data-start');
+ var end = $(this).attr('data-end');
+ // replace normal fold span with controls for the first line of a foldable fragment
+ $(this).find('span[class=fold]:first').replaceWith('<span class="fold" '+
+ 'onclick="javascript:codefold_toggle(\''+id+'\');" '+
+ 'style="background-image:'+minusImg[relPath]+';"></span>');
+ // append div for folded (closed) representation
+ $(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
+ // extract the first line from the "open" section to represent closed content
+ var line = $(this).children().first().clone();
+ // remove any glow that might still be active on the original line
+ $(line).removeClass('glow');
+ if (start) {
+ // if line already ends with a start marker (e.g. trailing {), remove it
+ $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
+ }
+ // replace minus with plus symbol
+ $(line).find('span[class=fold]').css('background-image',plusImg[relPath]);
+ // append ellipsis
+ $(line).append(' '+start+'<a href="javascript:codefold_toggle(\''+id+'\')">…</a>'+end);
+ // insert constructed line into closed div
+ $('#foldclosed'+id).html(line);
+ });
+}
+
/* @license-end */
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
+<g style="fill:#4665A2;">
+<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
+</g>
+<g style="fill:#D8DFEE;stroke-width:0;">
+<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
+</g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
+<g style="fill:#C4CFE5;">
+<path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/>
+</g>
+<g style="fill:#4665A2;stroke-width:0;">
+<path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/>
+</g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
+<g style="fill:#4665A2;">
+<path
+ d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"
+ id="path2" />
+</g>
+<g style="fill:#D8DFEE;stroke-width:0;">
+<path
+ d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z"
+ id="path199" /><path
+ d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z"
+ id="path201" />
+</g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
+<g style="fill:#C4CFE5;">
+<path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/>
+</g>
+<g style="fill:#4665A2;stroke-width:0;">
+<path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" />
+<path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" />
+</g>
+</svg>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Data Fields - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div>
<div class="contents">
- <ul>
+<div class="textblock">Here is a list of all documented variables with links to the struct/union documentation for each field:</div><ul>
<li>data : <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo</a></li>
<li>dataSize : <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo</a></li>
<li>flags : <a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo</a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div>
<div class="contents">
- <ul>
+<div class="textblock">Here is a list of all documented macros with links to the documentation:</div><ul>
<li>UDPC_PACKET_MAX_SIZE : <a class="el" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">UDPC.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div>
<div class="contents">
- 
+<div class="textblock">Here is a list of all documented functions with links to the documentation:</div>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>UDPC_add_whitelist_pk() : <a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC.h</a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div>
<div class="contents">
- <ul>
+<div class="textblock">Here is a list of all documented typedefs with links to the documentation:</div><ul>
<li>UDPC_AuthPolicy : <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC.h</a></li>
<li>UDPC_ConnectionId : <a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC.h</a></li>
<li>UDPC_Event : <a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC.h</a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</div>
<div class="contents">
- <ul>
+<div class="textblock">Here is a list of all documented variables with links to the documentation:</div><ul>
<li>UDPC_AUTH_POLICY_FALLBACK : <a class="el" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC.h</a></li>
<li>UDPC_AUTH_POLICY_STRICT : <a class="el" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC.h</a></li>
<li>UDPC_ERROR : <a class="el" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC.h</a></li>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: UDPConnection</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
<div class="headertitle"><div class="title">UDPConnection </div></div>
</div><!--header-->
<div class="contents">
-<div class="textblock"><p ><a class="el" href="UDPC_8h.html">UDPC.h</a></p>
-<p >To use this library, it must be compiled. Only the <a class="el" href="UDPC_8h.html">UDPC.h</a> header is necessary as UDPC_Defines.hpp is only meant to be used internally by UDPC. </p>
+<div class="textblock"><p><a class="el" href="UDPC_8h.html">UDPC.h</a></p>
+<p>To use this library, it must be compiled. Only the <a class="el" href="UDPC_8h.html">UDPC.h</a> header is necessary as UDPC_Defines.hpp is only meant to be used internally by UDPC. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
+ <g>
+ <rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
+ <rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
+ <rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
+ <g>
+ <rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
+ <rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
+ <rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
+ <g>
+ <rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
+ <rect style="fill:#fcfcfc;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
+ <rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
+ <rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="12px" height="12px" viewBox="0 0 105.83333 105.83333" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
+ <g>
+ <rect style="fill:#808080;stroke-width:0" width="105.83333" height="105.83334" x="4.2409692e-08" y="-1.2701158e-06" ry="0" />
+ <rect style="fill:#000000;stroke-width:0" width="79.375" height="79.375" x="13.229166" y="13.229166" />
+ <rect style="fill:#808080;stroke-width:0" width="52.916668" height="15.874998" x="26.458332" y="44.979168" />
+ <rect style="fill:#808080;stroke-width:0" width="15.874998" height="52.916668" x="44.979168" y="26.458332" />
+ </g>
+</svg>
['udpc_5fauthpolicy_10',['UDPC_AuthPolicy',['../UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a',1,'UDPC.h']]],
['udpc_5fclear_5fwhitelist_11',['UDPC_clear_whitelist',['../UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26',1,'UDPC.h']]],
['udpc_5fclient_5finitiate_5fconnection_12',['UDPC_client_initiate_connection',['../UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55',1,'UDPC.h']]],
- ['udpc_5fconnectionid_13',['UDPC_ConnectionId',['../UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2',1,'UDPC_ConnectionId(): UDPC.h'],['../structUDPC__ConnectionId.html',1,'UDPC_ConnectionId']]],
+ ['udpc_5fconnectionid_13',['udpc_connectionid',['../UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2',1,'UDPC_ConnectionId: UDPC.h'],['../structUDPC__ConnectionId.html',1,'UDPC_ConnectionId']]],
['udpc_5fcreate_5fid_14',['UDPC_create_id',['../UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d',1,'UDPC.h']]],
['udpc_5fcreate_5fid_5fanyaddr_15',['UDPC_create_id_anyaddr',['../UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df',1,'UDPC.h']]],
['udpc_5fcreate_5fid_5feasy_16',['UDPC_create_id_easy',['../UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131',1,'UDPC.h']]],
['udpc_5fenable_5fthreaded_5fupdate_21',['UDPC_enable_threaded_update',['../UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f',1,'UDPC.h']]],
['udpc_5fenable_5fthreaded_5fupdate_5fms_22',['UDPC_enable_threaded_update_ms',['../UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833',1,'UDPC.h']]],
['udpc_5ferror_23',['UDPC_ERROR',['../UDPC_8h.html#ac04213a4287500a9c5330f543eac3103',1,'UDPC.h']]],
- ['udpc_5fevent_24',['UDPC_Event',['../UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed',1,'UDPC_Event(): UDPC.h'],['../structUDPC__Event.html',1,'UDPC_Event']]],
+ ['udpc_5fevent_24',['udpc_event',['../UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed',1,'UDPC_Event: UDPC.h'],['../structUDPC__Event.html',1,'UDPC_Event']]],
['udpc_5feventtype_25',['UDPC_EventType',['../UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0',1,'UDPC.h']]],
['udpc_5ffree_5flist_5fconnected_26',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
['udpc_5ffree_5fpacketinfo_27',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
['udpc_5fno64f_49',['UDPC_no64f',['../UDPC_8h.html#a93a1a33c4d5dcd4f3e829ce4b15df11c',1,'UDPC.h']]],
['udpc_5fno64i_50',['UDPC_no64i',['../UDPC_8h.html#a0d6d9407ed6743a23283d8711652d757',1,'UDPC.h']]],
['udpc_5fpacket_5fmax_5fsize_51',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]],
- ['udpc_5fpacketinfo_52',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC_PacketInfo(): UDPC.h'],['../structUDPC__PacketInfo.html',1,'UDPC_PacketInfo']]],
+ ['udpc_5fpacketinfo_52',['udpc_packetinfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC_PacketInfo: UDPC.h'],['../structUDPC__PacketInfo.html',1,'UDPC_PacketInfo']]],
['udpc_5fqueue_5fsend_53',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
['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']]],
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 11 11"
height="11"
width="11"
id="svg2"
version="1.1">
- <metadata
- id="metadata8">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
<defs
id="defs6" />
<path
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
- <metadata
- id="metadata8">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
<defs
id="defs6" />
<circle
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 20 19"
height="19"
width="20"
id="svg2"
version="1.1">
- <metadata
- id="metadata8">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
<defs
id="defs6" />
<circle
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
- sodipodi:docname="mag_sel.svg"
- inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
- <metadata
- id="metadata8">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
+ >
<defs
id="defs6" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1920"
- inkscape:window-height="2096"
- id="namedview4"
- showgrid="false"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- inkscape:zoom="32"
- inkscape:cx="5.9792688"
- inkscape:cy="1.1436277"
- inkscape:window-x="1920"
- inkscape:window-y="27"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg2" />
<circle
style="fill:#000000;fill-opacity:0;stroke:#656565;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
style="fill:#656565;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
+ />
<path
style="fill:none;stroke:#656565;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
- inkscape:connector-curvature="0" />
+ />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="20"
height="19"
viewBox="0 0 20 19"
- sodipodi:docname="mag_sel.svg"
- inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
- <metadata
- id="metadata8">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
+ >
<defs
id="defs6" />
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1920"
- inkscape:window-height="2096"
- id="namedview4"
- showgrid="false"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- inkscape:zoom="32"
- inkscape:cx="5.9792688"
- inkscape:cy="1.1436277"
- inkscape:window-x="1920"
- inkscape:window-y="27"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg2" />
<circle
- style="fill:#000000;fill-opacity:0;stroke:#C5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ style="fill:#000000;fill-opacity:0;stroke:#c5C5C5;stroke-width:1.4;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="path4611"
cx="5.5"
cy="8.5"
r="3.5" />
<path
- style="fill:#C5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ style="fill:#c5C5C5;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,7 13.5,10 16,7 Z"
id="path4609"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
+ />
<path
- style="fill:none;stroke:#C5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;stroke:#c5C5C5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.1085854,11.109059 2.7823556,2.782356"
id="path4630"
- inkscape:connector-curvature="0" />
+ />
</svg>
this.OnSearchSelectHide = function()
{
- this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+ this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
this.closeSelectionTimeout);
}
}
else if (e.keyCode==27) // Escape out of the search field
{
+ e.stopPropagation();
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
if (searchValue != "") // non-empty search
{
// set timer for search update
- this.keyTimeout = setTimeout(this.name + '.Search()',
+ this.keyTimeout = setTimeout(this.Search.bind(this),
this.keyTimeoutLength);
}
else // empty search field
}
else if (e.keyCode==13 || e.keyCode==27)
{
+ e.stopPropagation();
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
document.getElementById("NoMatches").style.display="none";
}
- searchResults.Search(searchValue);
+ if (idx!=-1) {
+ searchResults.Search(searchValue);
+ } else { // no file with search results => force empty search results
+ searchResults.Search('====');
+ }
if (domPopupSearchResultsWindow.style.display!='block')
{
}
else if (this.lastKey==27) // Escape
{
+ e.stopPropagation();
searchBox.CloseResultsWindow();
document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==27) // Escape
{
+ e.stopPropagation();
searchBox.CloseResultsWindow();
document.getElementById("MSearchField").focus();
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
+ results.tabIndex=0;
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
results.appendChild(link);
}
searchBox.OnSelectItem(0);
+
+ var input = document.getElementById("MSearchSelect");
+ var searchSelectWindow = document.getElementById("MSearchSelectWindow");
+ input.tabIndex=0;
+ input.addEventListener("keydown", function(event) {
+ if (event.keyCode==13 || event.keyCode==40) {
+ event.preventDefault();
+ if (searchSelectWindow.style.display == 'block') {
+ searchBox.CloseSelectionWindow();
+ } else {
+ searchBox.OnSearchSelectShow();
+ searchBox.DOMSearchSelectWindow().focus();
+ }
+ }
+ });
}
/* @license-end */
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: UDPC_ConnectionId Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
-<tr class="memitem:ace33511e3490f5e686cff7f047bf1729"><td class="memItemLeft" align="right" valign="top"><a id="ace33511e3490f5e686cff7f047bf1729" name="ace33511e3490f5e686cff7f047bf1729"></a>
+<tr class="memitem:ace33511e3490f5e686cff7f047bf1729" id="r_ace33511e3490f5e686cff7f047bf1729"><td class="memItemLeft" align="right" valign="top"><a id="ace33511e3490f5e686cff7f047bf1729" name="ace33511e3490f5e686cff7f047bf1729"></a>
UDPC_IPV6_ADDR_TYPE </td><td class="memItemRight" valign="bottom"><b>addr</b></td></tr>
<tr class="separator:ace33511e3490f5e686cff7f047bf1729"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a03517f4451bbfa4ff4021d38725ce513"><td class="memItemLeft" align="right" valign="top"><a id="a03517f4451bbfa4ff4021d38725ce513" name="a03517f4451bbfa4ff4021d38725ce513"></a>
+<tr class="memitem:a03517f4451bbfa4ff4021d38725ce513" id="r_a03517f4451bbfa4ff4021d38725ce513"><td class="memItemLeft" align="right" valign="top"><a id="a03517f4451bbfa4ff4021d38725ce513" name="a03517f4451bbfa4ff4021d38725ce513"></a>
uint32_t </td><td class="memItemRight" valign="bottom"><b>scope_id</b></td></tr>
<tr class="separator:a03517f4451bbfa4ff4021d38725ce513"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3be4eba99a41e33023b976ea29474029"><td class="memItemLeft" align="right" valign="top"><a id="a3be4eba99a41e33023b976ea29474029" name="a3be4eba99a41e33023b976ea29474029"></a>
+<tr class="memitem:a3be4eba99a41e33023b976ea29474029" id="r_a3be4eba99a41e33023b976ea29474029"><td class="memItemLeft" align="right" valign="top"><a id="a3be4eba99a41e33023b976ea29474029" name="a3be4eba99a41e33023b976ea29474029"></a>
uint16_t </td><td class="memItemRight" valign="bottom"><b>port</b></td></tr>
<tr class="separator:a3be4eba99a41e33023b976ea29474029"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p >Data identifying a peer via addr, port, and scope_id. </p>
-<p >This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
+<div class="textblock"><p>Data identifying a peer via addr, port, and scope_id. </p>
+<p>This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>src/<a class="el" href="UDPC_8h_source.html">UDPC.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: UDPC_Event Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
-<tr class="memitem:ae1cfa566bb5079c84d1852d7ac1b1833"><td class="memItemLeft" align="right" valign="top"><a id="ae1cfa566bb5079c84d1852d7ac1b1833" name="ae1cfa566bb5079c84d1852d7ac1b1833"></a>
+<tr class="memitem:ae1cfa566bb5079c84d1852d7ac1b1833" id="r_ae1cfa566bb5079c84d1852d7ac1b1833"><td class="memItemLeft" align="right" valign="top"><a id="ae1cfa566bb5079c84d1852d7ac1b1833" name="ae1cfa566bb5079c84d1852d7ac1b1833"></a>
<a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> </td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="separator:ae1cfa566bb5079c84d1852d7ac1b1833"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9eb52565caff5b8ffd3fd40156b961d2"><td class="memItemLeft" align="right" valign="top"><a id="a9eb52565caff5b8ffd3fd40156b961d2" name="a9eb52565caff5b8ffd3fd40156b961d2"></a>
+<tr class="memitem:a9eb52565caff5b8ffd3fd40156b961d2" id="r_a9eb52565caff5b8ffd3fd40156b961d2"><td class="memItemLeft" align="right" valign="top"><a id="a9eb52565caff5b8ffd3fd40156b961d2" name="a9eb52565caff5b8ffd3fd40156b961d2"></a>
<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><b>conId</b></td></tr>
<tr class="separator:a9eb52565caff5b8ffd3fd40156b961d2"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4c05ba5e90d1590a8ebfda0a277e2909"><td class="memItemLeft" align="right" valign="top"><a id="a4c05ba5e90d1590a8ebfda0a277e2909" name="a4c05ba5e90d1590a8ebfda0a277e2909"></a>
+<tr class="memitem:a4c05ba5e90d1590a8ebfda0a277e2909" id="r_a4c05ba5e90d1590a8ebfda0a277e2909"><td class="memItemLeft" align="right" valign="top"><a id="a4c05ba5e90d1590a8ebfda0a277e2909" name="a4c05ba5e90d1590a8ebfda0a277e2909"></a>
union <a class="el" href="unionUDPC__Event_1_1Value.html">UDPC_Event::Value</a> </td><td class="memItemRight" valign="bottom"><b>v</b></td></tr>
<tr class="separator:a4c05ba5e90d1590a8ebfda0a277e2909"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p >A struct containing information related to the type of event. </p>
-<p >Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
+<div class="textblock"><p>A struct containing information related to the type of event. </p>
+<p>Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>src/<a class="el" href="UDPC_8h_source.html">UDPC.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: UDPC_PacketInfo Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
-<tr class="memitem:a1358f91f28c4a023ef201e868bf1069e"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a></td></tr>
+<tr class="memitem:a1358f91f28c4a023ef201e868bf1069e" id="r_a1358f91f28c4a023ef201e868bf1069e"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a></td></tr>
<tr class="separator:a1358f91f28c4a023ef201e868bf1069e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad538ac2682e8276dc33553237f012ce1"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a></td></tr>
-<tr class="memdesc:ad538ac2682e8276dc33553237f012ce1"><td class="mdescLeft"> </td><td class="mdescRight">Flags indication some additional information about the received packet. <a href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">More...</a><br /></td></tr>
+<tr class="memitem:ad538ac2682e8276dc33553237f012ce1" id="r_ad538ac2682e8276dc33553237f012ce1"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a></td></tr>
+<tr class="memdesc:ad538ac2682e8276dc33553237f012ce1"><td class="mdescLeft"> </td><td class="mdescRight">Flags indication some additional information about the received packet. <br /></td></tr>
<tr class="separator:ad538ac2682e8276dc33553237f012ce1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ac21cc9beab22eb1e1a2d5c0797ed0fbe"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a></td></tr>
-<tr class="memdesc:ac21cc9beab22eb1e1a2d5c0797ed0fbe"><td class="mdescLeft"> </td><td class="mdescRight">The packet's id. <a href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">More...</a><br /></td></tr>
+<tr class="memitem:ac21cc9beab22eb1e1a2d5c0797ed0fbe" id="r_ac21cc9beab22eb1e1a2d5c0797ed0fbe"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a></td></tr>
+<tr class="memdesc:ac21cc9beab22eb1e1a2d5c0797ed0fbe"><td class="mdescLeft"> </td><td class="mdescRight">The packet's id. <br /></td></tr>
<tr class="separator:ac21cc9beab22eb1e1a2d5c0797ed0fbe"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a70230a2eb6a638d9e9fc04e230c92a74"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a></td></tr>
-<tr class="memdesc:a70230a2eb6a638d9e9fc04e230c92a74"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the received packet's data inside the <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> pointer member variable. <a href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">More...</a><br /></td></tr>
+<tr class="memitem:a70230a2eb6a638d9e9fc04e230c92a74" id="r_a70230a2eb6a638d9e9fc04e230c92a74"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a></td></tr>
+<tr class="memdesc:a70230a2eb6a638d9e9fc04e230c92a74"><td class="mdescLeft"> </td><td class="mdescRight">The size in bytes of the received packet's data inside the <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> pointer member variable. <br /></td></tr>
<tr class="separator:a70230a2eb6a638d9e9fc04e230c92a74"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa55075dde4f9c476b4d1467bbffd43a7"><td class="memItemLeft" align="right" valign="top"><a id="aa55075dde4f9c476b4d1467bbffd43a7" name="aa55075dde4f9c476b4d1467bbffd43a7"></a>
+<tr class="memitem:aa55075dde4f9c476b4d1467bbffd43a7" id="r_aa55075dde4f9c476b4d1467bbffd43a7"><td class="memItemLeft" align="right" valign="top"><a id="aa55075dde4f9c476b4d1467bbffd43a7" name="aa55075dde4f9c476b4d1467bbffd43a7"></a>
uint16_t </td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
<tr class="separator:aa55075dde4f9c476b4d1467bbffd43a7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a5af734c663d3df72dad2b81a8794b6dc"><td class="memItemLeft" align="right" valign="top"><a id="a5af734c663d3df72dad2b81a8794b6dc" name="a5af734c663d3df72dad2b81a8794b6dc"></a>
+<tr class="memitem:a5af734c663d3df72dad2b81a8794b6dc" id="r_a5af734c663d3df72dad2b81a8794b6dc"><td class="memItemLeft" align="right" valign="top"><a id="a5af734c663d3df72dad2b81a8794b6dc" name="a5af734c663d3df72dad2b81a8794b6dc"></a>
<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><b>sender</b></td></tr>
<tr class="memdesc:a5af734c663d3df72dad2b81a8794b6dc"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> of the sender. <br /></td></tr>
<tr class="separator:a5af734c663d3df72dad2b81a8794b6dc"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a965f393584d389dc72becd439cafde0d"><td class="memItemLeft" align="right" valign="top"><a id="a965f393584d389dc72becd439cafde0d" name="a965f393584d389dc72becd439cafde0d"></a>
+<tr class="memitem:a965f393584d389dc72becd439cafde0d" id="r_a965f393584d389dc72becd439cafde0d"><td class="memItemLeft" align="right" valign="top"><a id="a965f393584d389dc72becd439cafde0d" name="a965f393584d389dc72becd439cafde0d"></a>
<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> </td><td class="memItemRight" valign="bottom"><b>receiver</b></td></tr>
<tr class="memdesc:a965f393584d389dc72becd439cafde0d"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> of the receiver. <br /></td></tr>
<tr class="separator:a965f393584d389dc72becd439cafde0d"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p >Data representing a received/sent packet. </p>
-<p >If <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> is NULL or <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a> is 0, then this packet is invalid.</p>
+<div class="textblock"><p>Data representing a received/sent packet. </p>
+<p>If <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> is NULL or <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a> is 0, then this packet is invalid.</p>
<dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to <a class="el" href="UDPC_8h.html#ad77c746ea0401664e11bfd76c56e94f5">UDPC_free_PacketInfo_ptr</a> or <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a> to avoid a memory leak. </dd></dl>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a1358f91f28c4a023ef201e868bf1069e" name="a1358f91f28c4a023ef201e868bf1069e"></a>
</tr>
</table>
</div><div class="memdoc">
-<p >A char array of size <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>. Will be NULL if this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
+<p>A char array of size <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>. Will be NULL if this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
</div>
</div>
</div><div class="memdoc">
<p>The size in bytes of the received packet's data inside the <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> pointer member variable. </p>
-<p >UDPC does not return an empty packet when calling <a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3" title="Get a received packet from a given UDPC context.">UDPC_get_received()</a>, so in such a packet dataSize shouldn't be zero. (UDPC only stores received packets that do have a payload.) This means that if this variable is 0, then this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
+<p>UDPC does not return an empty packet when calling <a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3" title="Get a received packet from a given UDPC context.">UDPC_get_received()</a>, so in such a packet dataSize shouldn't be zero. (UDPC only stores received packets that do have a payload.) This means that if this variable is 0, then this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
</div>
</div>
</div><div class="memdoc">
<p>Flags indication some additional information about the received packet. </p>
-<p >The following list indicates what each used bit in <code>flags</code> refers to.</p><ul>
+<p>The following list indicates what each used bit in <code>flags</code> refers to.</p><ul>
<li>0x1: Is an initiate-connection packet</li>
<li>0x2: Is a ping packet</li>
<li>0x4: Is a packet that will not be re-sent if not received</li>
</div><div class="memdoc">
<p>The packet's id. </p>
-<p >Packets start with id = 0, and will wrap around. This can be used to determine specifically how out of order a packet may be. </p>
+<p>Packets start with id = 0, and will wrap around. This can be used to determine specifically how out of order a packet may be. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
-<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UDPConnection: UDPC_Event::Value Union Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.9.5 -->
+<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
-<tr class="memitem:a174ba7a922af274d990c5557b8f00fc7"><td class="memItemLeft" align="right" valign="top"><a id="a174ba7a922af274d990c5557b8f00fc7" name="a174ba7a922af274d990c5557b8f00fc7"></a>
+<tr class="memitem:a174ba7a922af274d990c5557b8f00fc7" id="r_a174ba7a922af274d990c5557b8f00fc7"><td class="memItemLeft" align="right" valign="top"><a id="a174ba7a922af274d990c5557b8f00fc7" name="a174ba7a922af274d990c5557b8f00fc7"></a>
int </td><td class="memItemRight" valign="bottom"><b>dropAllWithAddr</b></td></tr>
<tr class="separator:a174ba7a922af274d990c5557b8f00fc7"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3b917ebd9685800c442da05c269abbe2"><td class="memItemLeft" align="right" valign="top"><a id="a3b917ebd9685800c442da05c269abbe2" name="a3b917ebd9685800c442da05c269abbe2"></a>
+<tr class="memitem:a3b917ebd9685800c442da05c269abbe2" id="r_a3b917ebd9685800c442da05c269abbe2"><td class="memItemLeft" align="right" valign="top"><a id="a3b917ebd9685800c442da05c269abbe2" name="a3b917ebd9685800c442da05c269abbe2"></a>
int </td><td class="memItemRight" valign="bottom"><b>enableLibSodium</b></td></tr>
<tr class="separator:a3b917ebd9685800c442da05c269abbe2"><td class="memSeparator" colspan="2"> </td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
-Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>