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,12 @@
var class_s_l_net_1_1_socket_layer =
[
[ "SocketLayer", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a5e9bc0e86286d9afb5e72b74e0bf885e", null ],
[ "~SocketLayer", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a0af78f965b852e3e698f99eda3af125c", null ],
[ "GetFirstBindableIP", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#aa80daf48a0712cfabdcac966a7a60b85", null ],
[ "GetLocalPort", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a56392265b1a3df68615810b50f03081f", null ],
[ "GetMyIP", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a0773c1a3f0d3305ab0fbeb459636a3cd", null ],
[ "GetSubNetForSocketAndIp", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#ac30ac77e20e935d094823fa6650cbd3c", null ],
[ "GetSystemAddress", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a8109590555d9879eaa42b684ed34151a", null ],
[ "GetSystemAddress_Old", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#acf523cb179e4474df714a858f4c655de", null ],
[ "SetSocketOptions", "d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a6af295a207f6712386df2413eff054d0", null ]
];

View File

@ -0,0 +1,520 @@
<!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: SLNet::SocketLayer Class 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 class="current"><a href="../../annotated.xhtml"><span>Classes</span></a></li>
<li><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="../../annotated.xhtml"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.xhtml"><span>Class&#160;Index</span></a></li>
<li><a href="../../inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.xhtml"><span>Class&#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('d0/d86/class_s_l_net_1_1_socket_layer.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="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../dd/d10/class_s_l_net_1_1_socket_layer-members.xhtml">List of all members</a> </div>
<div class="headertitle">
<div class="title">SLNet::SocketLayer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/da4/_socket_layer_8h_source.xhtml">slikenet/SocketLayer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5e9bc0e86286d9afb5e72b74e0bf885e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a5e9bc0e86286d9afb5e72b74e0bf885e">SocketLayer</a> ()</td></tr>
<tr class="memdesc:a5e9bc0e86286d9afb5e72b74e0bf885e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor. <a href="#a5e9bc0e86286d9afb5e72b74e0bf885e"></a><br/></td></tr>
<tr class="separator:a5e9bc0e86286d9afb5e72b74e0bf885e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0af78f965b852e3e698f99eda3af125c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a0af78f965b852e3e698f99eda3af125c">~SocketLayer</a> ()</td></tr>
<tr class="separator:a0af78f965b852e3e698f99eda3af125c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ac30ac77e20e935d094823fa6650cbd3c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#ac30ac77e20e935d094823fa6650cbd3c">GetSubNetForSocketAndIp</a> (<a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a> inSock, <a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> inIpString)</td></tr>
<tr class="separator:ac30ac77e20e935d094823fa6650cbd3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0773c1a3f0d3305ab0fbeb459636a3cd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a0773c1a3f0d3305ab0fbeb459636a3cd">GetMyIP</a> (<a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> addresses[<a class="el" href="../../d8/db0/defines_8h.xhtml#aaac58d0b7314b7f900c0045e0c303b80">MAXIMUM_NUMBER_OF_INTERNAL_IDS</a>])</td></tr>
<tr class="separator:a0773c1a3f0d3305ab0fbeb459636a3cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56392265b1a3df68615810b50f03081f"><td class="memItemLeft" align="right" valign="top">static unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a56392265b1a3df68615810b50f03081f">GetLocalPort</a> (<a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a> s)</td></tr>
<tr class="separator:a56392265b1a3df68615810b50f03081f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf523cb179e4474df714a858f4c655de"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#acf523cb179e4474df714a858f4c655de">GetSystemAddress_Old</a> (<a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a> s, <a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> *systemAddressOut)</td></tr>
<tr class="separator:acf523cb179e4474df714a858f4c655de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8109590555d9879eaa42b684ed34151a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a8109590555d9879eaa42b684ed34151a">GetSystemAddress</a> (<a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a> s, <a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> *systemAddressOut)</td></tr>
<tr class="separator:a8109590555d9879eaa42b684ed34151a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6af295a207f6712386df2413eff054d0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#a6af295a207f6712386df2413eff054d0">SetSocketOptions</a> (<a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a> listenSocket, bool blockingSocket, bool setBroadcast)</td></tr>
<tr class="separator:a6af295a207f6712386df2413eff054d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa80daf48a0712cfabdcac966a7a60b85"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml#aa80daf48a0712cfabdcac966a7a60b85">GetFirstBindableIP</a> (char firstBindable[128], int ipProto)</td></tr>
<tr class="separator:aa80daf48a0712cfabdcac966a7a60b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="../../d8/da4/_socket_layer_8h_source.xhtml#l00058">58</a> of file <a class="el" href="../../d8/da4/_socket_layer_8h_source.xhtml">SocketLayer.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5e9bc0e86286d9afb5e72b74e0bf885e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::SocketLayer::SocketLayer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default Constructor. </p>
</div>
</div>
<a class="anchor" id="a0af78f965b852e3e698f99eda3af125c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SLNet::SocketLayer::~SocketLayer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aa80daf48a0712cfabdcac966a7a60b85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SocketLayer::GetFirstBindableIP </td>
<td>(</td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>firstBindable</em>[128], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ipProto</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00592">592</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00460">GetMyIP()</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00107">MAXIMUM_NUMBER_OF_INTERNAL_IDS</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00330">SLNet::SystemAddress::ToString()</a>, and <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00368">SLNet::UNASSIGNED_SYSTEM_ADDRESS</a>.</p>
</div>
</div>
<a class="anchor" id="a56392265b1a3df68615810b50f03081f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned short SocketLayer::GetLocalPort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a>&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Call sendto (UDP obviously) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>the socket </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The byte buffer to send </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the <em>data</em> in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>The address of the remote host in dotted notation. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to send to. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, nonzero on failure. Call sendto' (UDP obviously) It won't reach the recipient, except on a LAN However, this is good for opening routers / firewalls </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>the socket </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The byte buffer to send </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the <em>data</em> in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ip</td><td>The address of the remote host in dotted notation. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to send to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ttl</td><td>Max hops of datagram </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, nonzero on failure. Call sendto (UDP obviously) </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>the socket </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The byte buffer to send </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the <em>data</em> in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">binaryAddress</td><td>The address of the remote host in binary format. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>The port number to send to. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, nonzero on failure. </dd></dl>
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00487">487</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00147">SLNet::SystemAddress::GetPort()</a>, and <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00529">GetSystemAddress()</a>.</p>
</div>
</div>
<a class="anchor" id="a0773c1a3f0d3305ab0fbeb459636a3cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SocketLayer::GetMyIP </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a>&#160;</td>
<td class="paramname"><em>addresses</em>[MAXIMUM_NUMBER_OF_INTERNAL_IDS]</td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the socket flags to nonblocking </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">listenSocket</td><td>the socket to set Retrieve all local IP address in a string format. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The socket whose port we are referring to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ipList</td><td>An array of ip address in dotted notation. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00460">460</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00376">GetMyIP_Win32()</a>.</p>
<p>Referenced by <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00592">GetFirstBindableIP()</a>.</p>
</div>
</div>
<a class="anchor" id="ac30ac77e20e935d094823fa6650cbd3c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a> SocketLayer::GetSubNetForSocketAndIp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a>&#160;</td>
<td class="paramname"><em>inSock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d66/class_s_l_net_1_1_rak_string.xhtml">SLNet::RakString</a>&#160;</td>
<td class="paramname"><em>inIpString</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write <em>data</em> of length <em>length</em> to <em>writeSocket</em> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">writeSocket</td><td>The socket to write to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to write </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of <em>data</em> Read data from a socket </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>the socket </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rakPeer</td><td>The instance of rakPeer containing the recvFrom C callback </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">errorCode</td><td>An error code if an error occured . </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connectionSocketIndex</td><td>Which of the sockets in <a class="el" href="../../d5/dbf/class_s_l_net_1_1_rak_peer.xhtml" title="Main interface for network communications.">RakPeer</a> we are using </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns true if you successfully read data, false on error. Given a socket and IP, retrieves the subnet mask, on linux the socket is unused </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">inSock</td><td>the socket </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">inIpString</td><td>The ip of the interface you wish to retrieve the subnet mask from </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the ip dotted subnet mask if successful, otherwise returns empty string ("") </dd></dl>
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00195">195</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00120">RakAssert</a>, and <a class="el" href="../../df/ded/_socket_defines_8h_source.xhtml#l00097">socket__</a>.</p>
</div>
</div>
<a class="anchor" id="a8109590555d9879eaa42b684ed34151a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SocketLayer::GetSystemAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a>&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> *&#160;</td>
<td class="paramname"><em>systemAddressOut</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00529">529</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00038">_T</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00220">SLNet::SystemAddress::address</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00223">SLNet::SystemAddress::debugPort</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00605">SLNet::SystemAddress::FromString()</a>, <a class="el" href="../../df/ded/_socket_defines_8h_source.xhtml#l00100">getsockname__</a>, <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00493">GetSystemAddress_Old()</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00102">RAKNET_DEBUG_TPRINTF</a>, and <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00240">SLNet::SystemAddress::SetToLoopback()</a>.</p>
<p>Referenced by <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00487">GetLocalPort()</a>.</p>
</div>
</div>
<a class="anchor" id="acf523cb179e4474df714a858f4c655de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SocketLayer::GetSystemAddress_Old </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a>&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/dbe/struct_s_l_net_1_1_system_address.xhtml">SystemAddress</a> *&#160;</td>
<td class="paramname"><em>systemAddressOut</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00493">493</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00038">_T</a>, <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00220">SLNet::SystemAddress::address</a>, <a class="el" href="../../df/ded/_socket_defines_8h_source.xhtml#l00100">getsockname__</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00102">RAKNET_DEBUG_TPRINTF</a>, <a class="el" href="../../d3/d93/_rak_net_types_8cpp_source.xhtml#l00160">SLNet::SystemAddress::SetPortNetworkOrder()</a>, and <a class="el" href="../../d9/d49/types_8h_source.xhtml#l00368">SLNet::UNASSIGNED_SYSTEM_ADDRESS</a>.</p>
<p>Referenced by <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00529">GetSystemAddress()</a>.</p>
</div>
</div>
<a class="anchor" id="a6af295a207f6712386df2413eff054d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SocketLayer::SetSocketOptions </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/dc5/_socket_includes_8h.xhtml#ad31a77c59d4b8ba8cbd1eac64fbf89e8">__UDPSOCKET__</a>&#160;</td>
<td class="paramname"><em>listenSocket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>blockingSocket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>setBroadcast</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00125">125</a> of file <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a>.</p>
<p>References <a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml#l00038">_T</a>, <a class="el" href="../../df/ded/_socket_defines_8h_source.xhtml#l00105">ioctlsocket__</a>, <a class="el" href="../../d8/db0/defines_8h_source.xhtml#l00102">RAKNET_DEBUG_TPRINTF</a>, and <a class="el" href="../../df/ded/_socket_defines_8h_source.xhtml#l00118">setsockopt__</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>Source/include/slikenet/<a class="el" href="../../d8/da4/_socket_layer_8h_source.xhtml">SocketLayer.h</a></li>
<li>Source/src/<a class="el" href="../../d8/d4f/_socket_layer_8cpp_source.xhtml">SocketLayer.cpp</a></li>
</ul>
</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="../../dd/d30/namespace_s_l_net.xhtml">SLNet</a></li><li class="navelem"><a class="el" href="../../d0/d86/class_s_l_net_1_1_socket_layer.xhtml">SocketLayer</a></li>
<li class="footer">Generated on Wed Aug 14 2019 22:09:50 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>