This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,18 @@
var _nat_type_detection_common_8h =
[
[ "NATTypeDetectionResult", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6", [
[ "NAT_TYPE_NONE", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2", null ],
[ "NAT_TYPE_FULL_CONE", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6ab1ec422bd8c3fc821789e290d6c360d9", null ],
[ "NAT_TYPE_ADDRESS_RESTRICTED", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a5c00dbd1ef7d68d51d9c408b9d5c45ea", null ],
[ "NAT_TYPE_PORT_RESTRICTED", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257", null ],
[ "NAT_TYPE_SYMMETRIC", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513", null ],
[ "NAT_TYPE_UNKNOWN", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a8a950670aa4d53161f1c15614faffa11", null ],
[ "NAT_TYPE_DETECTION_IN_PROGRESS", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a5e6e6e359f445ab9e4ef1dde51090ece", null ],
[ "NAT_TYPE_SUPPORTS_UPNP", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a8d83025baacdd2104fb3a7dc4f174d52", null ],
[ "NAT_TYPE_COUNT", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae62da265b44640553509a42b0f253ef6a37c8e578d5ce1983f9224df2b5545e65", null ]
] ],
[ "CanConnect", "d8/d2d/_nat_type_detection_common_8h.xhtml#af77159369ce20350ca85861780c7958f", null ],
[ "CreateNonblockingBoundSocket", "d8/d2d/_nat_type_detection_common_8h.xhtml#ac6f66c19ed46a5a757457cf568e8536e", null ],
[ "NATTypeDetectionResultToString", "d8/d2d/_nat_type_detection_common_8h.xhtml#ae32a2fcfdea3ab41ca8463b3bb0c262b", null ],
[ "NATTypeDetectionResultToStringFriendly", "d8/d2d/_nat_type_detection_common_8h.xhtml#a859b484973a29c253f80625681a31e1d", null ]
];

View File

@ -0,0 +1,169 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/NatTypeDetectionCommon.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d8/d2d/_nat_type_detection_common_8h.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">NatTypeDetectionCommon.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/ddb/_native_feature_includes_8h_source.xhtml">NativeFeatureIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d4/dc5/_socket_includes_8h_source.xhtml">SocketIncludes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../d9/d49/types_8h_source.xhtml">types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="../../df/ded/socket2_8h_source.xhtml">socket2.h</a>&quot;</code><br/>
</div>
<p><a href="../../d8/d2d/_nat_type_detection_common_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:dd/d30/namespace_s_l_net"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></td></tr>
<tr class="memdesc:dd/d30/namespace_s_l_net"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple class to send changes between directories. In essence, a simple autopatcher that can be used for transmitting levels, skins, etc. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ae62da265b44640553509a42b0f253ef6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6">SLNet::NATTypeDetectionResult</a> { <br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2">SLNet::NAT_TYPE_NONE</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6ab1ec422bd8c3fc821789e290d6c360d9">SLNet::NAT_TYPE_FULL_CONE</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5c00dbd1ef7d68d51d9c408b9d5c45ea">SLNet::NAT_TYPE_ADDRESS_RESTRICTED</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257">SLNet::NAT_TYPE_PORT_RESTRICTED</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513">SLNet::NAT_TYPE_SYMMETRIC</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a8a950670aa4d53161f1c15614faffa11">SLNet::NAT_TYPE_UNKNOWN</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5e6e6e359f445ab9e4ef1dde51090ece">SLNet::NAT_TYPE_DETECTION_IN_PROGRESS</a>,
<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a8d83025baacdd2104fb3a7dc4f174d52">SLNet::NAT_TYPE_SUPPORTS_UPNP</a>,
<br/>
&#160;&#160;<a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a37c8e578d5ce1983f9224df2b5545e65">SLNet::NAT_TYPE_COUNT</a>
<br/>
}</td></tr>
<tr class="memdesc:ae62da265b44640553509a42b0f253ef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value) <a href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6">More...</a><br/></td></tr>
<tr class="separator:ae62da265b44640553509a42b0f253ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af77159369ce20350ca85861780c7958f"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#af77159369ce20350ca85861780c7958f">SLNet::CanConnect</a> (NATTypeDetectionResult type1, NATTypeDetectionResult type2)</td></tr>
<tr class="separator:af77159369ce20350ca85861780c7958f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae32a2fcfdea3ab41ca8463b3bb0c262b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ae32a2fcfdea3ab41ca8463b3bb0c262b">SLNet::NATTypeDetectionResultToString</a> (NATTypeDetectionResult type)</td></tr>
<tr class="memdesc:ae32a2fcfdea3ab41ca8463b3bb0c262b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a technical string representin the enumeration. <a href="#ae32a2fcfdea3ab41ca8463b3bb0c262b"></a><br/></td></tr>
<tr class="separator:ae32a2fcfdea3ab41ca8463b3bb0c262b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a859b484973a29c253f80625681a31e1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#a859b484973a29c253f80625681a31e1d">SLNet::NATTypeDetectionResultToStringFriendly</a> (NATTypeDetectionResult type)</td></tr>
<tr class="separator:a859b484973a29c253f80625681a31e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6f66c19ed46a5a757457cf568e8536e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> RakNetSocket2 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">SLNet::CreateNonblockingBoundSocket</a> (const char *bindAddr, RNS2EventHandler *eventHandler)</td></tr>
<tr class="separator:ac6f66c19ed46a5a757457cf568e8536e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d8/d2d/_nat_type_detection_common_8h.xhtml">NatTypeDetectionCommon.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:48 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,183 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SLikeNet: Source/include/slikenet/NatTypeDetectionCommon.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SLikeNet
&#160;<span id="projectnumber">0.1.3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.xhtml"><span>Main&#160;Page</span></a></li>
<li><a href="../../pages.xhtml"><span>Related&#160;Pages</span></a></li>
<li><a href="../../modules.xhtml"><span>Modules</span></a></li>
<li><a href="../../namespaces.xhtml"><span>Namespaces</span></a></li>
<li><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li class="current"><a href="../../files.xhtml"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.xhtml"><span>File&#160;List</span></a></li>
<li><a href="../../globals.xhtml"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d8/d2d/_nat_type_detection_common_8h_source.xhtml','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">NatTypeDetectionCommon.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d8/d2d/_nat_type_detection_common_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Original work: Copyright (c) 2014, Oculus VR, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * This source code is licensed under the BSD-style license found in the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * RakNet License.txt file in the licenses directory of this source tree. An additional grant </span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of patent rights can be found in the RakNet Patents.txt file in the same directory.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * license found in the license.txt file in the root directory of this source tree.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __NAT_TYPE_DETECTION_COMMON_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __NAT_TYPE_DETECTION_COMMON_H</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../de/ddb/_native_feature_includes_8h.xhtml">NativeFeatureIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#if _RAKNET_SUPPORT_NatTypeDetectionServer==1 || _RAKNET_SUPPORT_NatTypeDetectionClient==1</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml">SocketIncludes.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d9/d49/types_8h.xhtml" title="Types used by RakNet, most of which involve user code.">types.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../df/ded/socket2_8h.xhtml">socket2.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span>SLNet</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6"> 36</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; {</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2"> 39</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a373e1f23419cc1d89389e2dcca4479f2" title="Works with anyone.">NAT_TYPE_NONE</a>,</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6ab1ec422bd8c3fc821789e290d6c360d9"> 41</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6ab1ec422bd8c3fc821789e290d6c360d9" title="Accepts any datagrams to a port that has been previously used. Will accept the first datagram from th...">NAT_TYPE_FULL_CONE</a>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5c00dbd1ef7d68d51d9c408b9d5c45ea"> 43</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5c00dbd1ef7d68d51d9c408b9d5c45ea" title="Accepts datagrams to a port as long as the datagram source IP address is a system we have already sen...">NAT_TYPE_ADDRESS_RESTRICTED</a>,</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257"> 45</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a536002ce64a090e2e558fb2e19dab257" title="Same as address-restricted cone NAT, but we had to send to both the correct remote IP address and cor...">NAT_TYPE_PORT_RESTRICTED</a>,</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513"> 47</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a18544642db1d35ef27a62144dbccf513" title="A different port is chosen for every remote destination. The same source address and port to a differ...">NAT_TYPE_SYMMETRIC</a>,</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a8a950670aa4d53161f1c15614faffa11"> 49</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a8a950670aa4d53161f1c15614faffa11" title="Hasn&#39;t been determined. NATTypeDetectionClient does not use this, but other plugins might...">NAT_TYPE_UNKNOWN</a>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5e6e6e359f445ab9e4ef1dde51090ece"> 51</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a5e6e6e359f445ab9e4ef1dde51090ece" title="In progress. NATTypeDetectionClient does not use this, but other plugins might.">NAT_TYPE_DETECTION_IN_PROGRESS</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a8d83025baacdd2104fb3a7dc4f174d52"> 53</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a8d83025baacdd2104fb3a7dc4f174d52" title="Didn&#39;t bother figuring it out, as we support UPNP, so it is equivalent to NAT_TYPE_NONE. NATTypeDetectionClient does not use this, but other plugins might.">NAT_TYPE_SUPPORTS_UPNP</a>,</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a37c8e578d5ce1983f9224df2b5545e65"> 55</a></span>&#160; <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6a37c8e578d5ce1983f9224df2b5545e65">NAT_TYPE_COUNT</a></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; };</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#af77159369ce20350ca85861780c7958f">CanConnect</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a> type1, <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a> type2);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae32a2fcfdea3ab41ca8463b3bb0c262b" title="Return a technical string representin the enumeration.">NATTypeDetectionResultToString</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a> type);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#a859b484973a29c253f80625681a31e1d">NATTypeDetectionResultToStringFriendly</a>(<a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ae62da265b44640553509a42b0f253ef6" title="All possible types of NATs (except NAT_TYPE_COUNT, which is an internal value)">NATTypeDetectionResult</a> type);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="../../db/dbd/_export_8h.xhtml#ab0579394e418800d5c85e46ad6fcd61d">RAK_DLL_EXPORT</a> RakNetSocket2* <a class="code" href="../../dd/d30/namespace_s_l_net.xhtml#ac6f66c19ed46a5a757457cf568e8536e">CreateNonblockingBoundSocket</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *bindAddr</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;#ifdef __native_client__</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; ,<a class="code" href="../../d4/dc5/_socket_includes_8h.xhtml#afb515610f39898f2d6e545fe2f2f90ff">_PP_Instance_</a> chromeInstance</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;#endif</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; , RNS2EventHandler *eventHandler</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; );</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">//int NatTypeRecvFrom(char *data, RakNetSocket2* socket, SystemAddress &amp;sender, RNS2EventHandler *eventHandler);</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#endif // #if _RAKNET_SUPPORT_NatTypeDetectionServer==1 || _RAKNET_SUPPORT_NatTypeDetectionClient==1</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_74389ed8173ad57b461b9d623a1f3867.xhtml">Source</a></li><li class="navelem"><a class="el" href="../../dir_bbb90e3ef9167a594ae33323139a2595.xhtml">include</a></li><li class="navelem"><a class="el" href="../../dir_88467e66686deb9d3756fe4fc298e321.xhtml">slikenet</a></li><li class="navelem"><a class="el" href="../../d8/d2d/_nat_type_detection_common_8h.xhtml">NatTypeDetectionCommon.h</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:46 for SLikeNet by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.2 </li>
</ul>
</div>
</body>
</html>