<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.16"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>UbixOS: TCP</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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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">UbixOS  <span id="projectnumber">2.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.16 --> <script type="text/javascript" src="../../menudata.js"></script> <script type="text/javascript" src="../../menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('../../',false,false,'search.php','Search'); }); /* @license-end */</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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('dd/da6/group__lwip__opts__tcp.html','../../');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> </div> <div class="headertitle"> <div class="title">TCP<div class="ingroups"><a class="el" href="../../d9/de2/group__lwip__opts.html">Options (lwipopts.h)</a> » <a class="el" href="../../da/dab/group__lwip__opts__callback.html">Callback-style APIs</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Collaboration diagram for TCP:</div> <div class="dyncontent"> <div class="center"><img src="../../dd/da6/group__lwip__opts__tcp.png" border="0" usemap="#dd_2da6_2group____lwip____opts____tcp" alt=""/></div> <map name="dd_2da6_2group____lwip____opts____tcp" id="dd_2da6_2group____lwip____opts____tcp"> <area shape="rect" title=" " alt="" coords="189,5,236,31"/> <area shape="rect" href="../../da/dab/group__lwip__opts__callback.html" title=" " alt="" coords="5,5,141,31"/> </map> </div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga2ca03bfa6f604ba536e38ccfdbdf9c8d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga2ca03bfa6f604ba536e38ccfdbdf9c8d">LWIP_CALLBACK_API</a>   1</td></tr> <tr class="separator:ga2ca03bfa6f604ba536e38ccfdbdf9c8d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga39f76e811117155be8525bb386ecddb7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga39f76e811117155be8525bb386ecddb7">LWIP_EVENT_API</a>   0</td></tr> <tr class="separator:ga39f76e811117155be8525bb386ecddb7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa4ed98deb97b77c633cb8870f34c71e9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaa4ed98deb97b77c633cb8870f34c71e9">LWIP_TCP</a>   1</td></tr> <tr class="separator:gaa4ed98deb97b77c633cb8870f34c71e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga249bc450bb818cf2ef3cf1472ff354fd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga249bc450bb818cf2ef3cf1472ff354fd">LWIP_TCP_TIMESTAMPS</a>   0</td></tr> <tr class="separator:ga249bc450bb818cf2ef3cf1472ff354fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga88dbbfeeeb41b129fdc8235fc08bb530"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga88dbbfeeeb41b129fdc8235fc08bb530">LWIP_WND_SCALE</a>   0</td></tr> <tr class="separator:ga88dbbfeeeb41b129fdc8235fc08bb530"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac04b84d32251ac558f0c3a8af85ba3a5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gac04b84d32251ac558f0c3a8af85ba3a5">TCP_CALCULATE_EFF_SEND_MSS</a>   1</td></tr> <tr class="separator:gac04b84d32251ac558f0c3a8af85ba3a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga93cce3f47e33df11248c908d1775bacf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga93cce3f47e33df11248c908d1775bacf">TCP_DEFAULT_LISTEN_BACKLOG</a>   0xff</td></tr> <tr class="separator:ga93cce3f47e33df11248c908d1775bacf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga98b23e7cbd3281915c50a485cb61899d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga98b23e7cbd3281915c50a485cb61899d">TCP_LISTEN_BACKLOG</a>   0</td></tr> <tr class="separator:ga98b23e7cbd3281915c50a485cb61899d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0dee0911197855bdf19ef79778c241a6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga0dee0911197855bdf19ef79778c241a6">TCP_MAXRTX</a>   12</td></tr> <tr class="separator:ga0dee0911197855bdf19ef79778c241a6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf1ab7bb27860aa3677c387a2f3ba317b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>   536</td></tr> <tr class="separator:gaf1ab7bb27860aa3677c387a2f3ba317b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9d6d3219bb5fc0bc760a64114de13c25"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga9d6d3219bb5fc0bc760a64114de13c25">TCP_OOSEQ_MAX_BYTES</a>   0</td></tr> <tr class="separator:ga9d6d3219bb5fc0bc760a64114de13c25"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1f57d3859c4556f785708e5dc440617e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga1f57d3859c4556f785708e5dc440617e">TCP_OOSEQ_MAX_PBUFS</a>   0</td></tr> <tr class="separator:ga1f57d3859c4556f785708e5dc440617e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5648e2580bb55c0efdfbebcf3bad1eef"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga5648e2580bb55c0efdfbebcf3bad1eef">TCP_OVERSIZE</a>   <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a></td></tr> <tr class="separator:ga5648e2580bb55c0efdfbebcf3bad1eef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga89ffd0d7d1529bdb26bfbad267d0ad75"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga89ffd0d7d1529bdb26bfbad267d0ad75">TCP_QUEUE_OOSEQ</a>   (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaa4ed98deb97b77c633cb8870f34c71e9">LWIP_TCP</a>)</td></tr> <tr class="separator:ga89ffd0d7d1529bdb26bfbad267d0ad75"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga768765a2c678fefeca6c89aae0cf629f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga768765a2c678fefeca6c89aae0cf629f">TCP_RCV_SCALE</a>   0</td></tr> <tr class="separator:ga768765a2c678fefeca6c89aae0cf629f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga871d111968d8c6c7880ff36b93c5c4dd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>   (2 * <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>)</td></tr> <tr class="separator:ga871d111968d8c6c7880ff36b93c5c4dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9beaa47832ead4180981bfbf71074904"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga9beaa47832ead4180981bfbf71074904">TCP_SND_QUEUELEN</a>   ((4 * (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>) + (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a> - 1))/(<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>))</td></tr> <tr class="separator:ga9beaa47832ead4180981bfbf71074904"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae5c9866d7cd463ac7b36792182145aec"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gae5c9866d7cd463ac7b36792182145aec">TCP_SNDLOWAT</a>   <a class="el" href="../../d4/da4/def_8h.html#a748f5df614a3fc989e8900fd229d6e4e">LWIP_MIN</a>(<a class="el" href="../../d4/da4/def_8h.html#a21ea174d374106caeafb4aa3a24fbd2b">LWIP_MAX</a>(((<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>)/2), (2 * <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>) + 1), (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>) - 1)</td></tr> <tr class="separator:gae5c9866d7cd463ac7b36792182145aec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga75659867592a6b01c198532ed1b65698"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga75659867592a6b01c198532ed1b65698">TCP_SNDQUEUELOWAT</a>   <a class="el" href="../../d4/da4/def_8h.html#a21ea174d374106caeafb4aa3a24fbd2b">LWIP_MAX</a>(((<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga9beaa47832ead4180981bfbf71074904">TCP_SND_QUEUELEN</a>)/2), 5)</td></tr> <tr class="separator:ga75659867592a6b01c198532ed1b65698"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga50b434a8541a4813f7b27f576c05d1b6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga50b434a8541a4813f7b27f576c05d1b6">TCP_SYNMAXRTX</a>   6</td></tr> <tr class="separator:ga50b434a8541a4813f7b27f576c05d1b6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacd5b25ea81d2894790d25da5393cdab4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gacd5b25ea81d2894790d25da5393cdab4">TCP_TTL</a>   (<a class="el" href="../../d6/dd7/group__lwip__opts__ipv4.html#ga556b9b58fd02c0fdd126791baef77411">IP_DEFAULT_TTL</a>)</td></tr> <tr class="separator:gacd5b25ea81d2894790d25da5393cdab4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7f535a6efb5cdf86c3210e35ece1d6a7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga7f535a6efb5cdf86c3210e35ece1d6a7">TCP_WND</a>   (4 * <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>)</td></tr> <tr class="separator:ga7f535a6efb5cdf86c3210e35ece1d6a7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5d45732ba3a8438b141096d86e07ef8d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga5d45732ba3a8438b141096d86e07ef8d">TCP_WND_UPDATE_THRESHOLD</a>   <a class="el" href="../../d4/da4/def_8h.html#a748f5df614a3fc989e8900fd229d6e4e">LWIP_MIN</a>((<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga7f535a6efb5cdf86c3210e35ece1d6a7">TCP_WND</a> / 4), (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a> * 4))</td></tr> <tr class="separator:ga5d45732ba3a8438b141096d86e07ef8d"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="ga2ca03bfa6f604ba536e38ccfdbdf9c8d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga2ca03bfa6f604ba536e38ccfdbdf9c8d">◆ </a></span>LWIP_CALLBACK_API</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LWIP_CALLBACK_API   1</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01269">1269</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga39f76e811117155be8525bb386ecddb7"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga39f76e811117155be8525bb386ecddb7">◆ </a></span>LWIP_EVENT_API</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LWIP_EVENT_API   0</td> </tr> </table> </div><div class="memdoc"> <p>LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1. LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all events (accept, sent, etc) that happen in the system. LWIP_CALLBACK_API==1: The PCB callback function is called directly for the event. This is the default. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01268">1268</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="gaa4ed98deb97b77c633cb8870f34c71e9"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaa4ed98deb97b77c633cb8870f34c71e9">◆ </a></span>LWIP_TCP</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LWIP_TCP   1</td> </tr> </table> </div><div class="memdoc"> <p>LWIP_TCP==1: Turn on TCP. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01092">1092</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga249bc450bb818cf2ef3cf1472ff354fd"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga249bc450bb818cf2ef3cf1472ff354fd">◆ </a></span>LWIP_TCP_TIMESTAMPS</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LWIP_TCP_TIMESTAMPS   0</td> </tr> </table> </div><div class="memdoc"> <p>LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option. The timestamp option is currently only used to help remote hosts, it is not really used locally. Therefore, it is only enabled when a TS option is received in the initial SYN packet from a remote host. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01249">1249</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga88dbbfeeeb41b129fdc8235fc08bb530"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga88dbbfeeeb41b129fdc8235fc08bb530">◆ </a></span>LWIP_WND_SCALE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LWIP_WND_SCALE   0</td> </tr> </table> </div><div class="memdoc"> <p>LWIP_WND_SCALE and TCP_RCV_SCALE: Set LWIP_WND_SCALE to 1 to enable window scaling. Set TCP_RCV_SCALE to the desired scaling factor (shift count in the range of [0..14]). When LWIP_WND_SCALE is enabled but TCP_RCV_SCALE is 0, we can use a large send window while having a small receive window only. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01288">1288</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="gac04b84d32251ac558f0c3a8af85ba3a5"></a> <h2 class="memtitle"><span class="permalink"><a href="#gac04b84d32251ac558f0c3a8af85ba3a5">◆ </a></span>TCP_CALCULATE_EFF_SEND_MSS</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_CALCULATE_EFF_SEND_MSS   1</td> </tr> </table> </div><div class="memdoc"> <p>TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which reflects the available reassembly buffer size at the remote host) and the largest size permitted by the IP layer" (RFC 1122) Setting this to 1 enables code that checks TCP_MSS against the MTU of the netif used for a connection and limits the MSS if it would be too big otherwise. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01155">1155</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga93cce3f47e33df11248c908d1775bacf"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga93cce3f47e33df11248c908d1775bacf">◆ </a></span>TCP_DEFAULT_LISTEN_BACKLOG</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_DEFAULT_LISTEN_BACKLOG   0xff</td> </tr> </table> </div><div class="memdoc"> <p>The maximum allowed backlog for TCP listen netconns. This backlog is used unless another is explicitly specified. 0xff is the maximum (u8_t). </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01221">1221</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga98b23e7cbd3281915c50a485cb61899d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga98b23e7cbd3281915c50a485cb61899d">◆ </a></span>TCP_LISTEN_BACKLOG</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_LISTEN_BACKLOG   0</td> </tr> </table> </div><div class="memdoc"> <p>TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01212">1212</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga0dee0911197855bdf19ef79778c241a6"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga0dee0911197855bdf19ef79778c241a6">◆ </a></span>TCP_MAXRTX</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_MAXRTX   12</td> </tr> </table> </div><div class="memdoc"> <p>TCP_MAXRTX: Maximum number of retransmissions of data segments. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01117">1117</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="gaf1ab7bb27860aa3677c387a2f3ba317b"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaf1ab7bb27860aa3677c387a2f3ba317b">◆ </a></span>TCP_MSS</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_MSS   536</td> </tr> </table> </div><div class="memdoc"> <p>TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default, you might want to increase this.) For the receive side, this MSS is advertised to the remote side when opening a connection. For the transmit size, this MSS sets an upper limit on the MSS advertised by the remote host. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01143">1143</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga9d6d3219bb5fc0bc760a64114de13c25"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9d6d3219bb5fc0bc760a64114de13c25">◆ </a></span>TCP_OOSEQ_MAX_BYTES</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_OOSEQ_MAX_BYTES   0</td> </tr> </table> </div><div class="memdoc"> <p>TCP_OOSEQ_MAX_BYTES: The maximum number of bytes queued on ooseq per pcb. Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==1. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01197">1197</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga1f57d3859c4556f785708e5dc440617e"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga1f57d3859c4556f785708e5dc440617e">◆ </a></span>TCP_OOSEQ_MAX_PBUFS</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_OOSEQ_MAX_PBUFS   0</td> </tr> </table> </div><div class="memdoc"> <p>TCP_OOSEQ_MAX_PBUFS: The maximum number of pbufs queued on ooseq per pcb. Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==1. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01205">1205</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga5648e2580bb55c0efdfbebcf3bad1eef"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5648e2580bb55c0efdfbebcf3bad1eef">◆ </a></span>TCP_OVERSIZE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_OVERSIZE   <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a></td> </tr> </table> </div><div class="memdoc"> <p>TCP_OVERSIZE: The maximum number of bytes that tcp_write may allocate ahead of time in an attempt to create shorter pbuf chains for transmission. The meaningful range is 0 to TCP_MSS. Some suggested values are:</p> <p>0: Disable oversized allocation. Each tcp_write() allocates a new pbuf (old behaviour). 1: Allocate size-aligned pbufs with minimal excess. Use this if your scatter-gather DMA requires aligned fragments. 128: Limit the pbuf/memory overhead to 20%. TCP_MSS: Try to create unfragmented TCP packets. TCP_MSS/4: Try to create 4 fragments or less per TCP packet. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01239">1239</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga89ffd0d7d1529bdb26bfbad267d0ad75"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga89ffd0d7d1529bdb26bfbad267d0ad75">◆ </a></span>TCP_QUEUE_OOSEQ</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_QUEUE_OOSEQ   (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaa4ed98deb97b77c633cb8870f34c71e9">LWIP_TCP</a>)</td> </tr> </table> </div><div class="memdoc"> <p>TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order. Define to 0 if your device is low on memory. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01132">1132</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga768765a2c678fefeca6c89aae0cf629f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga768765a2c678fefeca6c89aae0cf629f">◆ </a></span>TCP_RCV_SCALE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_RCV_SCALE   0</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01289">1289</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga871d111968d8c6c7880ff36b93c5c4dd"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga871d111968d8c6c7880ff36b93c5c4dd">◆ </a></span>TCP_SND_BUF</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_SND_BUF   (2 * <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>)</td> </tr> </table> </div><div class="memdoc"> <p>TCP_SND_BUF: TCP sender buffer space (bytes). To achieve good performance, this should be at least 2 * TCP_MSS. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01163">1163</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga9beaa47832ead4180981bfbf71074904"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9beaa47832ead4180981bfbf71074904">◆ </a></span>TCP_SND_QUEUELEN</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_SND_QUEUELEN   ((4 * (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>) + (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a> - 1))/(<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>))</td> </tr> </table> </div><div class="memdoc"> <p>TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01171">1171</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="gae5c9866d7cd463ac7b36792182145aec"></a> <h2 class="memtitle"><span class="permalink"><a href="#gae5c9866d7cd463ac7b36792182145aec">◆ </a></span>TCP_SNDLOWAT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_SNDLOWAT   <a class="el" href="../../d4/da4/def_8h.html#a748f5df614a3fc989e8900fd229d6e4e">LWIP_MIN</a>(<a class="el" href="../../d4/da4/def_8h.html#a21ea174d374106caeafb4aa3a24fbd2b">LWIP_MAX</a>(((<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>)/2), (2 * <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>) + 1), (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga871d111968d8c6c7880ff36b93c5c4dd">TCP_SND_BUF</a>) - 1)</td> </tr> </table> </div><div class="memdoc"> <p>TCP_SNDLOWAT: TCP writable space (bytes). This must be less than TCP_SND_BUF. It is the amount of space which must be available in the TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT). </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01180">1180</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga75659867592a6b01c198532ed1b65698"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga75659867592a6b01c198532ed1b65698">◆ </a></span>TCP_SNDQUEUELOWAT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_SNDQUEUELOWAT   <a class="el" href="../../d4/da4/def_8h.html#a21ea174d374106caeafb4aa3a24fbd2b">LWIP_MAX</a>(((<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga9beaa47832ead4180981bfbf71074904">TCP_SND_QUEUELEN</a>)/2), 5)</td> </tr> </table> </div><div class="memdoc"> <p>TCP_SNDQUEUELOWAT: TCP writable bufs (pbuf count). This must be less than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below this number, select returns writable (combined with TCP_SNDLOWAT). </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01189">1189</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga50b434a8541a4813f7b27f576c05d1b6"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga50b434a8541a4813f7b27f576c05d1b6">◆ </a></span>TCP_SYNMAXRTX</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_SYNMAXRTX   6</td> </tr> </table> </div><div class="memdoc"> <p>TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01124">1124</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="gacd5b25ea81d2894790d25da5393cdab4"></a> <h2 class="memtitle"><span class="permalink"><a href="#gacd5b25ea81d2894790d25da5393cdab4">◆ </a></span>TCP_TTL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_TTL   (<a class="el" href="../../d6/dd7/group__lwip__opts__ipv4.html#ga556b9b58fd02c0fdd126791baef77411">IP_DEFAULT_TTL</a>)</td> </tr> </table> </div><div class="memdoc"> <p>TCP_TTL: Default Time-To-Live value. </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01099">1099</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga7f535a6efb5cdf86c3210e35ece1d6a7"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga7f535a6efb5cdf86c3210e35ece1d6a7">◆ </a></span>TCP_WND</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_WND   (4 * <a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a>)</td> </tr> </table> </div><div class="memdoc"> <p>TCP_WND: The size of a TCP window. This must be at least (2 * TCP_MSS) for things to work well. ATTENTION: when using TCP_RCV_SCALE, TCP_WND is the total size with scaling applied. Maximum window value in the TCP header will be TCP_WND >> TCP_RCV_SCALE </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01110">1110</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</p> </div> </div> <a id="ga5d45732ba3a8438b141096d86e07ef8d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5d45732ba3a8438b141096d86e07ef8d">◆ </a></span>TCP_WND_UPDATE_THRESHOLD</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TCP_WND_UPDATE_THRESHOLD   <a class="el" href="../../d4/da4/def_8h.html#a748f5df614a3fc989e8900fd229d6e4e">LWIP_MIN</a>((<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#ga7f535a6efb5cdf86c3210e35ece1d6a7">TCP_WND</a> / 4), (<a class="el" href="../../dd/da6/group__lwip__opts__tcp.html#gaf1ab7bb27860aa3677c387a2f3ba317b">TCP_MSS</a> * 4))</td> </tr> </table> </div><div class="memdoc"> <p>TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an explicit window update </p> <p class="definition">Definition at line <a class="el" href="../../dc/dba/opt_8h_source.html#l01257">1257</a> of file <a class="el" href="../../dc/dba/opt_8h_source.html">opt.h</a>.</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.16 </li> </ul> </div> </body> </html>