| <!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" lang="en-US"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=11"/> |
| <meta name="generator" content="Doxygen 1.12.0"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>lwIP: IP address handling</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> |
| <script type="text/javascript" src="clipboard.js"></script> |
| <link href="navtree.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="navtreedata.js"></script> |
| <script type="text/javascript" src="navtree.js"></script> |
| <script type="text/javascript" src="resize.js"></script> |
| <script type="text/javascript" src="cookie.js"></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 id="projectrow"> |
| <td id="projectalign"> |
| <div id="projectname">lwIP<span id="projectnumber"> 2.2.0</span> |
| </div> |
| <div id="projectbrief">Lightweight IP stack</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.12.0 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| var searchBox = new SearchBox("searchBox", "search/",'.html'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| $(function() { codefold.init(0); }); |
| /* @license-end */ |
| </script> |
| <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:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search',true); |
| $(function() { init_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:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| $(function(){initNavTree('group__ipaddr.html',''); initResizable(true); }); |
| /* @license-end */ |
| </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"> |
| <div id="MSearchResults"> |
| <div class="SRPage"> |
| <div id="SRIndex"> |
| <div id="SRResults"></div> |
| <div class="SRStatus" id="Loading">Loading...</div> |
| <div class="SRStatus" id="Searching">Searching...</div> |
| <div class="SRStatus" id="NoMatches">No Matches</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#groups">Topics</a> | |
| <a href="#nested-classes">Data Structures</a> | |
| <a href="#define-members">Macros</a> | |
| <a href="#typedef-members">Typedefs</a> | |
| <a href="#enum-members">Enumerations</a> | |
| <a href="#func-members">Functions</a> </div> |
| <div class="headertitle"><div class="title">IP address handling<div class="ingroups"><a class="el" href="group__infrastructure.html">Infrastructure</a></div></div></div> |
| </div><!--header--> |
| <div class="contents"> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a> |
| Topics</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html">IPv4 only</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip6addr.html">IPv6 only</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a> |
| Data Structures</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structip__addr.html">ip_addr</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a> |
| Macros</h2></td></tr> |
| <tr class="memitem:ga3a2123f0bbf6fe843c8542e349c680eb" id="r_ga3a2123f0bbf6fe843c8542e349c680eb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3a2123f0bbf6fe843c8542e349c680eb">ip_addr_netcmp</a>(addr1, addr2, mask)</td></tr> |
| <tr class="separator:ga3a2123f0bbf6fe843c8542e349c680eb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gad1bbbe4c93ea2368663e90814953b929" id="r_gad1bbbe4c93ea2368663e90814953b929"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gad1bbbe4c93ea2368663e90814953b929">ip_addr_net_eq</a>(addr1, addr2, mask)</td></tr> |
| <tr class="separator:gad1bbbe4c93ea2368663e90814953b929"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga008c9c92d770cc030ea054e6b259835a" id="r_ga008c9c92d770cc030ea054e6b259835a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga008c9c92d770cc030ea054e6b259835a">ip_addr_cmp</a>(addr1, addr2)</td></tr> |
| <tr class="separator:ga008c9c92d770cc030ea054e6b259835a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga5b40158bdffa4b0c81c4ee77066e6b28" id="r_ga5b40158bdffa4b0c81c4ee77066e6b28"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5b40158bdffa4b0c81c4ee77066e6b28">ip_addr_eq</a>(addr1, addr2)</td></tr> |
| <tr class="separator:ga5b40158bdffa4b0c81c4ee77066e6b28"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gadb66f6d5fa926ed4b0e69db58dffcbe4" id="r_gadb66f6d5fa926ed4b0e69db58dffcbe4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gadb66f6d5fa926ed4b0e69db58dffcbe4">ip_addr_cmp_zoneless</a>(addr1, addr2)</td></tr> |
| <tr class="separator:gadb66f6d5fa926ed4b0e69db58dffcbe4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga8ac2686417ec2974bb0b3fc6ee0ee1a7" id="r_ga8ac2686417ec2974bb0b3fc6ee0ee1a7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8ac2686417ec2974bb0b3fc6ee0ee1a7">ip_addr_zoneless_eq</a>(addr1, addr2)</td></tr> |
| <tr class="separator:ga8ac2686417ec2974bb0b3fc6ee0ee1a7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga279118890e6a90aa740051fb8b0cc5f4" id="r_ga279118890e6a90aa740051fb8b0cc5f4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga279118890e6a90aa740051fb8b0cc5f4">ip_addr_isany</a>(ipaddr)</td></tr> |
| <tr class="separator:ga279118890e6a90aa740051fb8b0cc5f4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gacd8f5aa151cff966fd28368b85f38c05" id="r_gacd8f5aa151cff966fd28368b85f38c05"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gacd8f5aa151cff966fd28368b85f38c05">ip_addr_isany_val</a>(ipaddr)</td></tr> |
| <tr class="separator:gacd8f5aa151cff966fd28368b85f38c05"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaa3345706e3aa8b32dd630c195b053e75" id="r_gaa3345706e3aa8b32dd630c195b053e75"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa3345706e3aa8b32dd630c195b053e75">ip_addr_isbroadcast</a>(ipaddr, <a class="el" href="structnetif.html">netif</a>)</td></tr> |
| <tr class="separator:gaa3345706e3aa8b32dd630c195b053e75"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga2170d3ee13dd22722222228e7b1c5752" id="r_ga2170d3ee13dd22722222228e7b1c5752"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2170d3ee13dd22722222228e7b1c5752">ip_addr_ismulticast</a>(ipaddr)</td></tr> |
| <tr class="separator:ga2170d3ee13dd22722222228e7b1c5752"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga0fc8bf6662809274750868683b3a422e" id="r_ga0fc8bf6662809274750868683b3a422e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0fc8bf6662809274750868683b3a422e">ip_addr_isloopback</a>(ipaddr)</td></tr> |
| <tr class="separator:ga0fc8bf6662809274750868683b3a422e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga33bc079baaf513a9a7381b9531a1f653" id="r_ga33bc079baaf513a9a7381b9531a1f653"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga33bc079baaf513a9a7381b9531a1f653">ip_addr_islinklocal</a>(ipaddr)</td></tr> |
| <tr class="separator:ga33bc079baaf513a9a7381b9531a1f653"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gabe43b154533b73585c4e58f568370ede" id="r_gabe43b154533b73585c4e58f568370ede"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#gabe43b154533b73585c4e58f568370ede">IP_ANY_TYPE</a>   (&ip_addr_any_type)</td></tr> |
| <tr class="separator:gabe43b154533b73585c4e58f568370ede"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a> |
| Typedefs</h2></td></tr> |
| <tr class="memitem:ga335a8c9df66319e88a1a529047ce0a1e" id="r_ga335a8c9df66319e88a1a529047ce0a1e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structip__addr.html">ip_addr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a></td></tr> |
| <tr class="separator:ga335a8c9df66319e88a1a529047ce0a1e"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a> |
| Enumerations</h2></td></tr> |
| <tr class="memitem:gaf2142f0dfdcc938e2db16aa745ed585c" id="r_gaf2142f0dfdcc938e2db16aa745ed585c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf2142f0dfdcc938e2db16aa745ed585c">lwip_ip_addr_type</a> { <a class="el" href="#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a> = 0U |
| , <a class="el" href="#ggaf2142f0dfdcc938e2db16aa745ed585caae510fd8ec7fe405b594b57af61f9a02">IPADDR_TYPE_V6</a> = 6U |
| , <a class="el" href="#ggaf2142f0dfdcc938e2db16aa745ed585cac6b2c99cf920e08efcb55dc40e42944e">IPADDR_TYPE_ANY</a> = 46U |
| }</td></tr> |
| <tr class="separator:gaf2142f0dfdcc938e2db16aa745ed585c"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> |
| Functions</h2></td></tr> |
| <tr class="memitem:gaac2dcc0e35eb5cf6df9c47ba3c3cdeef" id="r_gaac2dcc0e35eb5cf6df9c47ba3c3cdeef"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="#gaac2dcc0e35eb5cf6df9c47ba3c3cdeef">ipaddr_ntoa</a> (const <a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a> *addr)</td></tr> |
| <tr class="separator:gaac2dcc0e35eb5cf6df9c47ba3c3cdeef"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga1c8c13cc2feeb04ccf7ab1d592c47b04" id="r_ga1c8c13cc2feeb04ccf7ab1d592c47b04"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1c8c13cc2feeb04ccf7ab1d592c47b04">ipaddr_ntoa_r</a> (const <a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a> *addr, char *buf, int buflen)</td></tr> |
| <tr class="separator:ga1c8c13cc2feeb04ccf7ab1d592c47b04"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga4de70fdd7fd36c5b6eaed8b855d5f151" id="r_ga4de70fdd7fd36c5b6eaed8b855d5f151"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4de70fdd7fd36c5b6eaed8b855d5f151">ipaddr_aton</a> (const char *cp, <a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a> *addr)</td></tr> |
| <tr class="separator:ga4de70fdd7fd36c5b6eaed8b855d5f151"><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="ga008c9c92d770cc030ea054e6b259835a" name="ga008c9c92d770cc030ea054e6b259835a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga008c9c92d770cc030ea054e6b259835a">◆ </a></span>ip_addr_cmp</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_cmp</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr2</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"><a class="code hl_define" href="#ga5b40158bdffa4b0c81c4ee77066e6b28">ip_addr_eq</a>((addr1), (addr2))</div> |
| <div class="ttc" id="agroup__ipaddr_html_ga5b40158bdffa4b0c81c4ee77066e6b28"><div class="ttname"><a href="#ga5b40158bdffa4b0c81c4ee77066e6b28">ip_addr_eq</a></div><div class="ttdeci">#define ip_addr_eq(addr1, addr2)</div><div class="ttdef"><b>Definition</b> ip_addr.h:214</div></div> |
| </div><!-- fragment --><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated</a></b></dt><dd>Renamed to <a class="el" href="#ga5b40158bdffa4b0c81c4ee77066e6b28">ip_addr_eq</a> </dd></dl> |
| |
| </div> |
| </div> |
| <a id="gadb66f6d5fa926ed4b0e69db58dffcbe4" name="gadb66f6d5fa926ed4b0e69db58dffcbe4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gadb66f6d5fa926ed4b0e69db58dffcbe4">◆ </a></span>ip_addr_cmp_zoneless</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_cmp_zoneless</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr2</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"><a class="code hl_define" href="#ga8ac2686417ec2974bb0b3fc6ee0ee1a7">ip_addr_zoneless_eq</a>((addr1), (addr2))</div> |
| <div class="ttc" id="agroup__ipaddr_html_ga8ac2686417ec2974bb0b3fc6ee0ee1a7"><div class="ttname"><a href="#ga8ac2686417ec2974bb0b3fc6ee0ee1a7">ip_addr_zoneless_eq</a></div><div class="ttdeci">#define ip_addr_zoneless_eq(addr1, addr2)</div><div class="ttdef"><b>Definition</b> ip_addr.h:224</div></div> |
| </div><!-- fragment --><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated</a></b></dt><dd>Renamed to <a class="el" href="#ga8ac2686417ec2974bb0b3fc6ee0ee1a7">ip_addr_zoneless_eq</a> </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ga5b40158bdffa4b0c81c4ee77066e6b28" name="ga5b40158bdffa4b0c81c4ee77066e6b28"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga5b40158bdffa4b0c81c4ee77066e6b28">◆ </a></span>ip_addr_eq</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_eq</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr2</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_GET_TYPE(addr1) != IP_GET_TYPE(addr2)) ? 0 : (IP_IS_V6_VAL(*(addr1)) ? \</div> |
| <div class="line"> ip6_addr_eq(<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(addr1), <a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(addr2)) : \</div> |
| <div class="line"> ip4_addr_eq(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(addr1), <a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(addr2))))</div> |
| <div class="ttc" id="agroup__ip4addr_html_gad7268a496b7e3f872efecd859eba6f03"><div class="ttname"><a href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a></div><div class="ttdeci">#define ip_2_ip4(ipaddr)</div><div class="ttdef"><b>Definition</b> ip_addr.h:120</div></div> |
| <div class="ttc" id="agroup__ip6addr_html_ga06e75bcd198012b5ba39480c233608bd"><div class="ttname"><a href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a></div><div class="ttdeci">#define ip_2_ip6(ipaddr)</div><div class="ttdef"><b>Definition</b> ip_addr.h:116</div></div> |
| </div><!-- fragment --><p>Check if two ip addresses are equal. </p> |
| |
| </div> |
| </div> |
| <a id="ga279118890e6a90aa740051fb8b0cc5f4" name="ga279118890e6a90aa740051fb8b0cc5f4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga279118890e6a90aa740051fb8b0cc5f4">◆ </a></span>ip_addr_isany</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_isany</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ipaddr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> (((ipaddr) == NULL) ? 1 : ((IP_IS_V6(ipaddr)) ? \</div> |
| <div class="line"> ip6_addr_isany(<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(ipaddr)) : \</div> |
| <div class="line"> ip4_addr_isany(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr))))</div> |
| </div><!-- fragment --><p>Check if an ip address is the 'any' address. </p> |
| |
| </div> |
| </div> |
| <a id="gacd8f5aa151cff966fd28368b85f38c05" name="gacd8f5aa151cff966fd28368b85f38c05"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gacd8f5aa151cff966fd28368b85f38c05">◆ </a></span>ip_addr_isany_val</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_isany_val</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ipaddr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_IS_V6_VAL(ipaddr)) ? \</div> |
| <div class="line"> ip6_addr_isany_val(*<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(&(ipaddr))) : \</div> |
| <div class="line"> ip4_addr_isany_val(*<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&(ipaddr))))</div> |
| </div><!-- fragment --><p>Check if an ip address is the 'any' address, by value. </p> |
| |
| </div> |
| </div> |
| <a id="gaa3345706e3aa8b32dd630c195b053e75" name="gaa3345706e3aa8b32dd630c195b053e75"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gaa3345706e3aa8b32dd630c195b053e75">◆ </a></span>ip_addr_isbroadcast</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_isbroadcast</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ipaddr</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em><a class="el" href="structnetif.html">netif</a></em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_IS_V6(ipaddr)) ? \</div> |
| <div class="line"> 0 : \</div> |
| <div class="line"> ip4_addr_isbroadcast(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr), <a class="code hl_struct" href="structnetif.html">netif</a>))</div> |
| <div class="ttc" id="astructnetif_html"><div class="ttname"><a href="structnetif.html">netif</a></div><div class="ttdef"><b>Definition</b> netif.h:269</div></div> |
| </div><!-- fragment --><p>Check if an ip address is a broadcast address. </p> |
| |
| </div> |
| </div> |
| <a id="ga33bc079baaf513a9a7381b9531a1f653" name="ga33bc079baaf513a9a7381b9531a1f653"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga33bc079baaf513a9a7381b9531a1f653">◆ </a></span>ip_addr_islinklocal</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_islinklocal</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ipaddr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_IS_V6(ipaddr)) ? \</div> |
| <div class="line"> ip6_addr_islinklocal(<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(ipaddr)) : \</div> |
| <div class="line"> ip4_addr_islinklocal(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr)))</div> |
| </div><!-- fragment --><p>Check inf an ip address is a link-local address. </p> |
| |
| </div> |
| </div> |
| <a id="ga0fc8bf6662809274750868683b3a422e" name="ga0fc8bf6662809274750868683b3a422e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga0fc8bf6662809274750868683b3a422e">◆ </a></span>ip_addr_isloopback</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_isloopback</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ipaddr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_IS_V6(ipaddr)) ? \</div> |
| <div class="line"> ip6_addr_isloopback(<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(ipaddr)) : \</div> |
| <div class="line"> <a class="code hl_define" href="ip4__addr_8h.html#a46dabb4df212d156004fa5afe03e2051">ip4_addr_isloopback</a>(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr)))</div> |
| <div class="ttc" id="aip4__addr_8h_html_a46dabb4df212d156004fa5afe03e2051"><div class="ttname"><a href="ip4__addr_8h.html#a46dabb4df212d156004fa5afe03e2051">ip4_addr_isloopback</a></div><div class="ttdeci">#define ip4_addr_isloopback(ipaddr)</div><div class="ttdef"><b>Definition</b> ip4_addr.h:119</div></div> |
| </div><!-- fragment --><p>Check inf an ip address is a loopback address. </p> |
| |
| </div> |
| </div> |
| <a id="ga2170d3ee13dd22722222228e7b1c5752" name="ga2170d3ee13dd22722222228e7b1c5752"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga2170d3ee13dd22722222228e7b1c5752">◆ </a></span>ip_addr_ismulticast</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_ismulticast</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ipaddr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_IS_V6(ipaddr)) ? \</div> |
| <div class="line"> ip6_addr_ismulticast(<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(ipaddr)) : \</div> |
| <div class="line"> ip4_addr_ismulticast(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr)))</div> |
| </div><!-- fragment --><p>Check inf an ip address is a multicast address. </p> |
| |
| </div> |
| </div> |
| <a id="gad1bbbe4c93ea2368663e90814953b929" name="gad1bbbe4c93ea2368663e90814953b929"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gad1bbbe4c93ea2368663e90814953b929">◆ </a></span>ip_addr_net_eq</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_net_eq</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr2</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>mask</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_IS_V6(addr1) && IP_IS_V6(addr2)) ? \</div> |
| <div class="line"> 0 : \</div> |
| <div class="line"> ip4_addr_net_eq(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(addr1), <a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(addr2), mask))</div> |
| </div><!-- fragment --><p>Check if two ip addresses are share the same network, for a specific netmask. </p> |
| |
| </div> |
| </div> |
| <a id="ga3a2123f0bbf6fe843c8542e349c680eb" name="ga3a2123f0bbf6fe843c8542e349c680eb"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga3a2123f0bbf6fe843c8542e349c680eb">◆ </a></span>ip_addr_netcmp</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_netcmp</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr2</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>mask</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"><a class="code hl_define" href="#gad1bbbe4c93ea2368663e90814953b929">ip_addr_net_eq</a>((addr1), (addr2), (mask))</div> |
| <div class="ttc" id="agroup__ipaddr_html_gad1bbbe4c93ea2368663e90814953b929"><div class="ttname"><a href="#gad1bbbe4c93ea2368663e90814953b929">ip_addr_net_eq</a></div><div class="ttdeci">#define ip_addr_net_eq(addr1, addr2, mask)</div><div class="ttdef"><b>Definition</b> ip_addr.h:204</div></div> |
| </div><!-- fragment --><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated</a></b></dt><dd>Renamed to <a class="el" href="#gad1bbbe4c93ea2368663e90814953b929">ip_addr_net_eq</a> </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ga8ac2686417ec2974bb0b3fc6ee0ee1a7" name="ga8ac2686417ec2974bb0b3fc6ee0ee1a7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga8ac2686417ec2974bb0b3fc6ee0ee1a7">◆ </a></span>ip_addr_zoneless_eq</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip_addr_zoneless_eq</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>addr2</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> ((IP_GET_TYPE(addr1) != IP_GET_TYPE(addr2)) ? 0 : (IP_IS_V6_VAL(*(addr1)) ? \</div> |
| <div class="line"> ip6_addr_zoneless_eq(<a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(addr1), <a class="code hl_define" href="group__ip6addr.html#ga06e75bcd198012b5ba39480c233608bd">ip_2_ip6</a>(addr2)) : \</div> |
| <div class="line"> ip4_addr_eq(<a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(addr1), <a class="code hl_define" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(addr2))))</div> |
| </div><!-- fragment --><p>Check if two ip addresses are equal, ignoring the zone. </p> |
| |
| </div> |
| </div> |
| <a id="gabe43b154533b73585c4e58f568370ede" name="gabe43b154533b73585c4e58f568370ede"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gabe43b154533b73585c4e58f568370ede">◆ </a></span>IP_ANY_TYPE</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP_ANY_TYPE   (&ip_addr_any_type)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Macro representing the 'any' address. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Typedef Documentation</h2> |
| <a id="ga335a8c9df66319e88a1a529047ce0a1e" name="ga335a8c9df66319e88a1a529047ce0a1e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga335a8c9df66319e88a1a529047ce0a1e">◆ </a></span>ip_addr_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef struct <a class="el" href="structip__addr.html">ip_addr</a> <a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>A union struct for both IP version's addresses. ATTENTION: watch out for its size when adding IPv6 address scope! </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Enumeration Type Documentation</h2> |
| <a id="gaf2142f0dfdcc938e2db16aa745ed585c" name="gaf2142f0dfdcc938e2db16aa745ed585c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gaf2142f0dfdcc938e2db16aa745ed585c">◆ </a></span>lwip_ip_addr_type</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">enum <a class="el" href="#gaf2142f0dfdcc938e2db16aa745ed585c">lwip_ip_addr_type</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>IP address types for use in <a class="el" href="structip__addr.html#a66eaa8e9051e7102bf9f0c195fbe555a">ip_addr_t.type</a> member. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__tcp__raw.html#ga89f6955b7248c76a073cd1be461aeb5b">tcp_new_ip_type()</a>, <a class="el" href="group__udp__raw.html#gaa426f09a4212893cf3308d9eeec0399a">udp_new_ip_type()</a>, <a class="el" href="group__raw__raw.html#ga89697a092b3d72079f872a029e220eba">raw_new_ip_type()</a>. </dd></dl> |
| <table class="fieldtable"> |
| <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049" name="ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049"></a>IPADDR_TYPE_V4 </td><td class="fielddoc"><p>IPv4 </p> |
| </td></tr> |
| <tr><td class="fieldname"><a id="ggaf2142f0dfdcc938e2db16aa745ed585caae510fd8ec7fe405b594b57af61f9a02" name="ggaf2142f0dfdcc938e2db16aa745ed585caae510fd8ec7fe405b594b57af61f9a02"></a>IPADDR_TYPE_V6 </td><td class="fielddoc"><p>IPv6 </p> |
| </td></tr> |
| <tr><td class="fieldname"><a id="ggaf2142f0dfdcc938e2db16aa745ed585cac6b2c99cf920e08efcb55dc40e42944e" name="ggaf2142f0dfdcc938e2db16aa745ed585cac6b2c99cf920e08efcb55dc40e42944e"></a>IPADDR_TYPE_ANY </td><td class="fielddoc"><p>IPv4+IPv6 ("dual-stack") </p> |
| </td></tr> |
| </table> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Function Documentation</h2> |
| <a id="ga4de70fdd7fd36c5b6eaed8b855d5f151" name="ga4de70fdd7fd36c5b6eaed8b855d5f151"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga4de70fdd7fd36c5b6eaed8b855d5f151">◆ </a></span>ipaddr_aton()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int ipaddr_aton </td> |
| <td>(</td> |
| <td class="paramtype">const char *</td> <td class="paramname"><span class="paramname"><em>cp</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a> *</td> <td class="paramname"><span class="paramname"><em>addr</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Convert IP address string (both versions) to numeric. The version is auto-detected from the string.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">cp</td><td>IP address string to convert </td></tr> |
| <tr><td class="paramname">addr</td><td>conversion result is stored here </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 on success, 0 on error </dd></dl> |
| |
| </div> |
| </div> |
| <a id="gaac2dcc0e35eb5cf6df9c47ba3c3cdeef" name="gaac2dcc0e35eb5cf6df9c47ba3c3cdeef"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gaac2dcc0e35eb5cf6df9c47ba3c3cdeef">◆ </a></span>ipaddr_ntoa()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">char * ipaddr_ntoa </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a> *</td> <td class="paramname"><span class="paramname"><em>addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Convert numeric IP address (both versions) into ASCII representation. returns ptr to static buffer; not reentrant!</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">addr</td><td>ip address in network order to convert </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>pointer to a global static (!) buffer that holds the ASCII representation of addr </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ga1c8c13cc2feeb04ccf7ab1d592c47b04" name="ga1c8c13cc2feeb04ccf7ab1d592c47b04"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga1c8c13cc2feeb04ccf7ab1d592c47b04">◆ </a></span>ipaddr_ntoa_r()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">char * ipaddr_ntoa_r </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="#ga335a8c9df66319e88a1a529047ce0a1e">ip_addr_t</a> *</td> <td class="paramname"><span class="paramname"><em>addr</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">char *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>buflen</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Same as ipaddr_ntoa, but reentrant since a user-supplied buffer is used.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">addr</td><td>ip address in network order to convert </td></tr> |
| <tr><td class="paramname">buf</td><td>target buffer where the string is stored </td></tr> |
| <tr><td class="paramname">buflen</td><td>length of buf </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>either pointer to buf which now holds the ASCII representation of addr or NULL if buf was too small </dd></dl> |
| |
| </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="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li> |
| </ul> |
| </div> |
| </body> |
| </html> |