blob: 7d6673de93df81c628cf76c6725ced28f3700149 [file] [log] [blame]
<!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"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lwIP: Sockets</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="navtreedata.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/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">lwIP
&#160;<span id="projectnumber">2.1.2</span>
</div>
<div id="projectbrief">Lightweight IP stack</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></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('group__lwip__opts__socket.html','');});
</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)">
</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="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">Sockets<div class="ingroups"><a class="el" href="group__lwip.html">lwIP</a> &raquo; <a class="el" href="group__lwip__opts.html">Options (lwipopts.h)</a> &raquo; <a class="el" href="group__lwip__opts__threadsafe__apis.html">Thread-safe APIs</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga1cb62ce61ac39d7d6728ae5d3d3b927f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga1cb62ce61ac39d7d6728ae5d3d3b927f">LWIP_SOCKET</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga1cb62ce61ac39d7d6728ae5d3d3b927f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafed2811f031822ec5afa1ee211fb7447"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#gafed2811f031822ec5afa1ee211fb7447">LWIP_COMPAT_SOCKETS</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:gafed2811f031822ec5afa1ee211fb7447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga484c38ab08f60d5b3335d23d31f9a402"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga484c38ab08f60d5b3335d23d31f9a402">LWIP_POSIX_SOCKETS_IO_NAMES</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga484c38ab08f60d5b3335d23d31f9a402"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0197c845fbb44c920b272f0fef3b57e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#gad0197c845fbb44c920b272f0fef3b57e">LWIP_SOCKET_OFFSET</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gad0197c845fbb44c920b272f0fef3b57e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b9369ab260f032686a81c77c5b4db77"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga8b9369ab260f032686a81c77c5b4db77">LWIP_TCP_KEEPALIVE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga8b9369ab260f032686a81c77c5b4db77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1162cb685f202d9b21c11344b8209a58"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga1162cb685f202d9b21c11344b8209a58">LWIP_SO_SNDTIMEO</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga1162cb685f202d9b21c11344b8209a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91af3ade95b20b9a60c65ed0380fa0ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga91af3ade95b20b9a60c65ed0380fa0ed">LWIP_SO_RCVTIMEO</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga91af3ade95b20b9a60c65ed0380fa0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b115bacb569763d8a3889a12229e942"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga5b115bacb569763d8a3889a12229e942">LWIP_SO_SNDRCVTIMEO_NONSTANDARD</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga5b115bacb569763d8a3889a12229e942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06390cebcf4d13d3d47a11365e5fcd28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga06390cebcf4d13d3d47a11365e5fcd28">LWIP_SO_RCVBUF</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga06390cebcf4d13d3d47a11365e5fcd28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa91292d5d014dc1c6f1c1f4166269a1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#gaa91292d5d014dc1c6f1c1f4166269a1d">LWIP_SO_LINGER</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gaa91292d5d014dc1c6f1c1f4166269a1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dbd0a61f30ae6c6bfbda635095f138d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga5dbd0a61f30ae6c6bfbda635095f138d">RECV_BUFSIZE_DEFAULT</a>&#160;&#160;&#160;INT_MAX</td></tr>
<tr class="separator:ga5dbd0a61f30ae6c6bfbda635095f138d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e7498d5d2921f0df3792de72f384d36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga3e7498d5d2921f0df3792de72f384d36">LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT</a>&#160;&#160;&#160;20000</td></tr>
<tr class="separator:ga3e7498d5d2921f0df3792de72f384d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf3822feed320cf8439b083ee525e4942"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#gaf3822feed320cf8439b083ee525e4942">SO_REUSE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gaf3822feed320cf8439b083ee525e4942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9395d83af89002343e5782130f52f44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#gae9395d83af89002343e5782130f52f44">SO_REUSE_RXTOALL</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gae9395d83af89002343e5782130f52f44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0543eea2abe390d0bdc843c33debd762"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga0543eea2abe390d0bdc843c33debd762">LWIP_FIONREAD_LINUXMODE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga0543eea2abe390d0bdc843c33debd762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68417078b71b0be9735256f52933dcdb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga68417078b71b0be9735256f52933dcdb">LWIP_SOCKET_SELECT</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga68417078b71b0be9735256f52933dcdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c14d705e3321429683f24de9f5a7200"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__socket.html#ga6c14d705e3321429683f24de9f5a7200">LWIP_SOCKET_POLL</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga6c14d705e3321429683f24de9f5a7200"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gafed2811f031822ec5afa1ee211fb7447"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafed2811f031822ec5afa1ee211fb7447">&#9670;&nbsp;</a></span>LWIP_COMPAT_SOCKETS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_COMPAT_SOCKETS&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names through defines. LWIP_COMPAT_SOCKETS==2: Same as ==1 but correctly named functions are created. While this helps code completion, it might conflict with existing libraries. (only used if you use <a class="el" href="sockets_8c.html">sockets.c</a>) </p>
</div>
</div>
<a id="ga0543eea2abe390d0bdc843c33debd762"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0543eea2abe390d0bdc843c33debd762">&#9670;&nbsp;</a></span>LWIP_FIONREAD_LINUXMODE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_FIONREAD_LINUXMODE&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_FIONREAD_LINUXMODE==0 (default): ioctl/FIONREAD returns the amount of pending data in the network buffer. This is the way windows does it. It's the default for lwIP since it is smaller. LWIP_FIONREAD_LINUXMODE==1: ioctl/FIONREAD returns the size of the next pending datagram in bytes. This is the way linux does it. This code is only here for compatibility. </p>
</div>
</div>
<a id="ga484c38ab08f60d5b3335d23d31f9a402"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga484c38ab08f60d5b3335d23d31f9a402">&#9670;&nbsp;</a></span>LWIP_POSIX_SOCKETS_IO_NAMES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_POSIX_SOCKETS_IO_NAMES&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names. Disable this option if you use a POSIX operating system that uses the same names (read, write &amp; close). (only used if you use <a class="el" href="sockets_8c.html">sockets.c</a>) </p>
</div>
</div>
<a id="gaa91292d5d014dc1c6f1c1f4166269a1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa91292d5d014dc1c6f1c1f4166269a1d">&#9670;&nbsp;</a></span>LWIP_SO_LINGER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SO_LINGER&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SO_LINGER==1: Enable SO_LINGER processing. </p>
</div>
</div>
<a id="ga06390cebcf4d13d3d47a11365e5fcd28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga06390cebcf4d13d3d47a11365e5fcd28">&#9670;&nbsp;</a></span>LWIP_SO_RCVBUF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SO_RCVBUF&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing. </p>
</div>
</div>
<a id="ga91af3ade95b20b9a60c65ed0380fa0ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga91af3ade95b20b9a60c65ed0380fa0ed">&#9670;&nbsp;</a></span>LWIP_SO_RCVTIMEO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SO_RCVTIMEO&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and SO_RCVTIMEO processing. </p>
</div>
</div>
<a id="ga5b115bacb569763d8a3889a12229e942"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5b115bacb569763d8a3889a12229e942">&#9670;&nbsp;</a></span>LWIP_SO_SNDRCVTIMEO_NONSTANDARD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SO_SNDRCVTIMEO_NONSTANDARD&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SO_SNDRCVTIMEO_NONSTANDARD==1: SO_RCVTIMEO/SO_SNDTIMEO take an int (milliseconds, much like winsock does) instead of a struct timeval (default). </p>
</div>
</div>
<a id="ga1162cb685f202d9b21c11344b8209a58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1162cb685f202d9b21c11344b8209a58">&#9670;&nbsp;</a></span>LWIP_SO_SNDTIMEO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SO_SNDTIMEO&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and SO_SNDTIMEO processing. </p>
</div>
</div>
<a id="ga1cb62ce61ac39d7d6728ae5d3d3b927f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1cb62ce61ac39d7d6728ae5d3d3b927f">&#9670;&nbsp;</a></span>LWIP_SOCKET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SOCKET&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SOCKET==1: Enable Socket API (require to use <a class="el" href="sockets_8c.html">sockets.c</a>) </p>
</div>
</div>
<a id="gad0197c845fbb44c920b272f0fef3b57e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0197c845fbb44c920b272f0fef3b57e">&#9670;&nbsp;</a></span>LWIP_SOCKET_OFFSET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SOCKET_OFFSET&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SOCKET_OFFSET==n: Increases the file descriptor number created by LwIP with n. This can be useful when there are multiple APIs which create file descriptors. When they all start with a different offset and you won't make them overlap you can re implement read/write/close/ioctl/fnctl to send the requested action to the right library (sharing select will need more work though). </p>
</div>
</div>
<a id="ga6c14d705e3321429683f24de9f5a7200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6c14d705e3321429683f24de9f5a7200">&#9670;&nbsp;</a></span>LWIP_SOCKET_POLL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SOCKET_POLL&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SOCKET_POLL==1 (default): enable <a class="el" href="group__socket.html#ga80ae38841b0e64e60618cd8bf857f617">poll()</a> for sockets (including struct pollfd, nfds_t, and constants) </p>
</div>
</div>
<a id="ga68417078b71b0be9735256f52933dcdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga68417078b71b0be9735256f52933dcdb">&#9670;&nbsp;</a></span>LWIP_SOCKET_SELECT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_SOCKET_SELECT&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_SOCKET_SELECT==1 (default): enable <a class="el" href="group__socket.html#gac332b9b9b2cd877a6189ef838de49e33">select()</a> for sockets (uses a netconn callback to keep track of events). This saves RAM (counters per socket) and code (netconn event callback), which should improve performance a bit). </p>
</div>
</div>
<a id="ga3e7498d5d2921f0df3792de72f384d36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3e7498d5d2921f0df3792de72f384d36">&#9670;&nbsp;</a></span>LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT&#160;&#160;&#160;20000</td>
</tr>
</table>
</div><div class="memdoc">
<p>By default, TCP socket/netconn close waits 20 seconds max to send the FIN </p>
</div>
</div>
<a id="ga8b9369ab260f032686a81c77c5b4db77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b9369ab260f032686a81c77c5b4db77">&#9670;&nbsp;</a></span>LWIP_TCP_KEEPALIVE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_TCP_KEEPALIVE&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set in seconds. (does not require <a class="el" href="sockets_8c.html">sockets.c</a>, and will affect <a class="el" href="tcp_8c.html">tcp.c</a>) </p>
</div>
</div>
<a id="ga5dbd0a61f30ae6c6bfbda635095f138d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5dbd0a61f30ae6c6bfbda635095f138d">&#9670;&nbsp;</a></span>RECV_BUFSIZE_DEFAULT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RECV_BUFSIZE_DEFAULT&#160;&#160;&#160;INT_MAX</td>
</tr>
</table>
</div><div class="memdoc">
<p>If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize. </p>
</div>
</div>
<a id="gaf3822feed320cf8439b083ee525e4942"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf3822feed320cf8439b083ee525e4942">&#9670;&nbsp;</a></span>SO_REUSE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SO_REUSE&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>SO_REUSE==1: Enable SO_REUSEADDR option. </p>
</div>
</div>
<a id="gae9395d83af89002343e5782130f52f44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9395d83af89002343e5782130f52f44">&#9670;&nbsp;</a></span>SO_REUSE_RXTOALL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SO_REUSE_RXTOALL&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>SO_REUSE_RXTOALL==1: Pass a copy of incoming broadcast/multicast packets to all local matches if SO_REUSEADDR is turned on. WARNING: Adds a memcpy for every packet if passing to more than one pcb! </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>