blob: fc42e6cca07614ba32e7180b4b6226f27d6af8ac [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: IPv4 only</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__ip4addr.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">IPv4 only<div class="ingroups"><a class="el" href="group__infrastructure.html">Infrastructure</a> &raquo; <a class="el" href="group__ipaddr.html">IP address handling</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:ga1eaffd17b4b3c56cc91a6d516e18118f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga1eaffd17b4b3c56cc91a6d516e18118f">IPADDR4_INIT</a>(u32val)&#160;&#160;&#160;{ { { { u32val, 0ul, 0ul, 0ul } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_V4 }</td></tr>
<tr class="separator:ga1eaffd17b4b3c56cc91a6d516e18118f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55cc3896c46564bd2941ee5806fe1e11"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga55cc3896c46564bd2941ee5806fe1e11">IPADDR4_INIT_BYTES</a>(a, b, c, d)&#160;&#160;&#160;<a class="el" href="group__ip4addr.html#ga1eaffd17b4b3c56cc91a6d516e18118f">IPADDR4_INIT</a>(PP_HTONL(<a class="el" href="def_8h.html#acf56d3da92a0a7a8a62a617e793e948c">LWIP_MAKEU32</a>(a,b,c,d)))</td></tr>
<tr class="separator:ga55cc3896c46564bd2941ee5806fe1e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1a059f07bd9c50aa58447d963b823a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gab1a059f07bd9c50aa58447d963b823a1">IP_IS_V4_VAL</a>(ipaddr)&#160;&#160;&#160;(IP_GET_TYPE(&amp;ipaddr) == <a class="el" href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a>)</td></tr>
<tr class="separator:gab1a059f07bd9c50aa58447d963b823a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabee5dab2191bb0f3355d7f30d1496f24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gabee5dab2191bb0f3355d7f30d1496f24">IP_IS_V4</a>(ipaddr)&#160;&#160;&#160;(((ipaddr) == NULL) || <a class="el" href="group__ip4addr.html#gab1a059f07bd9c50aa58447d963b823a1">IP_IS_V4_VAL</a>(*(ipaddr)))</td></tr>
<tr class="separator:gabee5dab2191bb0f3355d7f30d1496f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7268a496b7e3f872efecd859eba6f03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr)&#160;&#160;&#160;(&amp;((ipaddr)-&gt;u_addr.ip4))</td></tr>
<tr class="separator:gad7268a496b7e3f872efecd859eba6f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd2203c6cbfb6de8c2d9ce5bbfb2bd2a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gadd2203c6cbfb6de8c2d9ce5bbfb2bd2a">IP_ADDR4</a>(ipaddr, a, b, c, d)</td></tr>
<tr class="separator:gadd2203c6cbfb6de8c2d9ce5bbfb2bd2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef063b2e975dae7ecf398770b04b14af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gaef063b2e975dae7ecf398770b04b14af">ip_addr_copy_from_ip4</a>(dest, src)</td></tr>
<tr class="separator:gaef063b2e975dae7ecf398770b04b14af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga971516589980428bf51f37cefa4ddf66"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga971516589980428bf51f37cefa4ddf66">ip_addr_set_ip4_u32</a>(ipaddr, val)</td></tr>
<tr class="separator:ga971516589980428bf51f37cefa4ddf66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga624b5010ccc04cc3d0de2acce44f1c9e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga624b5010ccc04cc3d0de2acce44f1c9e">ip_addr_set_ip4_u32_val</a>(ipaddr, val)</td></tr>
<tr class="separator:ga624b5010ccc04cc3d0de2acce44f1c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09c62e8a3bf599aa7f335e0ad0820e85"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga09c62e8a3bf599aa7f335e0ad0820e85">ip_addr_get_ip4_u32</a>(ipaddr)</td></tr>
<tr class="separator:ga09c62e8a3bf599aa7f335e0ad0820e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e5e67b7292b156034560fef2202776c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga3e5e67b7292b156034560fef2202776c">IP_ADDR_ANY</a>&#160;&#160;&#160;<a class="el" href="group__ip4addr.html#gae920b6e81610a38cf9ada52118807eff">IP4_ADDR_ANY</a></td></tr>
<tr class="separator:ga3e5e67b7292b156034560fef2202776c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae920b6e81610a38cf9ada52118807eff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gae920b6e81610a38cf9ada52118807eff">IP4_ADDR_ANY</a>&#160;&#160;&#160;(&amp;ip_addr_any)</td></tr>
<tr class="separator:gae920b6e81610a38cf9ada52118807eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3f65a42b68149e96e618600b2ca2e42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gaa3f65a42b68149e96e618600b2ca2e42">IP4_ADDR_ANY4</a>&#160;&#160;&#160;(<a class="el" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&amp;ip_addr_any))</td></tr>
<tr class="separator:gaa3f65a42b68149e96e618600b2ca2e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad546955e48dada78b552375b873f6986"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#gad546955e48dada78b552375b873f6986">IP_ADDR_BROADCAST</a>&#160;&#160;&#160;(&amp;ip_addr_broadcast)</td></tr>
<tr class="separator:gad546955e48dada78b552375b873f6986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5efdf55ba72c2b1b5755b1fc6f559a1a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ip4addr.html#ga5efdf55ba72c2b1b5755b1fc6f559a1a">IP4_ADDR_BROADCAST</a>&#160;&#160;&#160;(<a class="el" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&amp;ip_addr_broadcast))</td></tr>
<tr class="separator:ga5efdf55ba72c2b1b5755b1fc6f559a1a"><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="gae920b6e81610a38cf9ada52118807eff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae920b6e81610a38cf9ada52118807eff">&#9670;&nbsp;</a></span>IP4_ADDR_ANY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP4_ADDR_ANY&#160;&#160;&#160;(&amp;ip_addr_any)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Can be used as a fixed/const ip_addr_t for the IPv4 wildcard and the broadcast address </p>
</div>
</div>
<a id="gaa3f65a42b68149e96e618600b2ca2e42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa3f65a42b68149e96e618600b2ca2e42">&#9670;&nbsp;</a></span>IP4_ADDR_ANY4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP4_ADDR_ANY4&#160;&#160;&#160;(<a class="el" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&amp;ip_addr_any))</td>
</tr>
</table>
</div><div class="memdoc">
<p>Can be used as a fixed/const ip4_addr_t for the wildcard and the broadcast address </p>
</div>
</div>
<a id="ga5efdf55ba72c2b1b5755b1fc6f559a1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5efdf55ba72c2b1b5755b1fc6f559a1a">&#9670;&nbsp;</a></span>IP4_ADDR_BROADCAST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP4_ADDR_BROADCAST&#160;&#160;&#160;(<a class="el" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&amp;ip_addr_broadcast))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="gad7268a496b7e3f872efecd859eba6f03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad7268a496b7e3f872efecd859eba6f03">&#9670;&nbsp;</a></span>ip_2_ip4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ip_2_ip4</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr</td><td>)</td>
<td>&#160;&#160;&#160;(&amp;((ipaddr)-&gt;u_addr.ip4))</td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert generic ip address to specific protocol version </p>
</div>
</div>
<a id="gadd2203c6cbfb6de8c2d9ce5bbfb2bd2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadd2203c6cbfb6de8c2d9ce5bbfb2bd2a">&#9670;&nbsp;</a></span>IP_ADDR4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP_ADDR4</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">b, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">c, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">d&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { <a class="code" href="ip4__addr_8h.html#a58aee4166c466f9ac7035bf5cc9f9974">IP4_ADDR</a>(<a class="code" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr),a,b,c,d); \</div><div class="line"> IP_SET_TYPE_VAL(*(ipaddr), <a class="code" href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a>); } <span class="keywordflow">while</span>(0)</div><div class="ttc" id="ip4__addr_8h_html_a58aee4166c466f9ac7035bf5cc9f9974"><div class="ttname"><a href="ip4__addr_8h.html#a58aee4166c466f9ac7035bf5cc9f9974">IP4_ADDR</a></div><div class="ttdeci">#define IP4_ADDR(ipaddr, a, b, c, d)</div><div class="ttdef"><b>Definition:</b> ip4_addr.h:104</div></div>
<div class="ttc" id="group__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="group__ipaddr_html_ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049"><div class="ttname"><a href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a></div><div class="ttdef"><b>Definition:</b> ip_addr.h:56</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ga3e5e67b7292b156034560fef2202776c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3e5e67b7292b156034560fef2202776c">&#9670;&nbsp;</a></span>IP_ADDR_ANY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP_ADDR_ANY&#160;&#160;&#160;<a class="el" href="group__ip4addr.html#gae920b6e81610a38cf9ada52118807eff">IP4_ADDR_ANY</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Can be used as a fixed/const ip_addr_t for the IP wildcard. Defined to <a class="el" href="group__ip4addr.html#gae920b6e81610a38cf9ada52118807eff">IP4_ADDR_ANY</a> when IPv4 is enabled. Defined to <a class="el" href="group__ip6addr.html#ga5181d2cb6b9254eb5ad4137f7b3635a0">IP6_ADDR_ANY</a> in IPv6 only systems. Use this if you can handle IPv4 <em>AND</em> IPv6 addresses. Use <a class="el" href="group__ip4addr.html#gae920b6e81610a38cf9ada52118807eff">IP4_ADDR_ANY</a> or <a class="el" href="group__ip6addr.html#ga5181d2cb6b9254eb5ad4137f7b3635a0">IP6_ADDR_ANY</a> when the IP type matters. </p>
</div>
</div>
<a id="gad546955e48dada78b552375b873f6986"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad546955e48dada78b552375b873f6986">&#9670;&nbsp;</a></span>IP_ADDR_BROADCAST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP_ADDR_BROADCAST&#160;&#160;&#160;(&amp;ip_addr_broadcast)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="gaef063b2e975dae7ecf398770b04b14af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef063b2e975dae7ecf398770b04b14af">&#9670;&nbsp;</a></span>ip_addr_copy_from_ip4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ip_addr_copy_from_ip4</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">dest, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">src&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span>{ \</div><div class="line"> ip4_addr_copy(*<a class="code" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&amp;(dest)), src); IP_SET_TYPE_VAL(dest, <a class="code" href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a>); ip_clear_no4(&amp;dest); }<span class="keywordflow">while</span>(0)</div><div class="ttc" id="group__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="group__ipaddr_html_ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049"><div class="ttname"><a href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a></div><div class="ttdef"><b>Definition:</b> ip_addr.h:56</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ga09c62e8a3bf599aa7f335e0ad0820e85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga09c62e8a3bf599aa7f335e0ad0820e85">&#9670;&nbsp;</a></span>ip_addr_get_ip4_u32</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ip_addr_get_ip4_u32</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(((ipaddr) &amp;&amp; <a class="code" href="group__ip4addr.html#gabee5dab2191bb0f3355d7f30d1496f24">IP_IS_V4</a>(ipaddr)) ? \</div><div class="line"> <a class="code" href="ip4__addr_8h.html#ad50d93464bbbda199b585c54869a3a4b">ip4_addr_get_u32</a>(<a class="code" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr)) : 0)</div><div class="ttc" id="group__ip4addr_html_gabee5dab2191bb0f3355d7f30d1496f24"><div class="ttname"><a href="group__ip4addr.html#gabee5dab2191bb0f3355d7f30d1496f24">IP_IS_V4</a></div><div class="ttdeci">#define IP_IS_V4(ipaddr)</div><div class="ttdef"><b>Definition:</b> ip_addr.h:100</div></div>
<div class="ttc" id="ip4__addr_8h_html_ad50d93464bbbda199b585c54869a3a4b"><div class="ttname"><a href="ip4__addr_8h.html#ad50d93464bbbda199b585c54869a3a4b">ip4_addr_get_u32</a></div><div class="ttdeci">#define ip4_addr_get_u32(src_ipaddr)</div><div class="ttdef"><b>Definition:</b> ip4_addr.h:128</div></div>
<div class="ttc" id="group__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><!-- fragment -->
</div>
</div>
<a id="ga971516589980428bf51f37cefa4ddf66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga971516589980428bf51f37cefa4ddf66">&#9670;&nbsp;</a></span>ip_addr_set_ip4_u32</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ip_addr_set_ip4_u32</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">val&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span>{<span class="keywordflow">if</span>(ipaddr){<a class="code" href="ip4__addr_8h.html#aeb39f58b38435f89219c8ccb509eb520">ip4_addr_set_u32</a>(<a class="code" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(ipaddr), val); \</div><div class="line"> IP_SET_TYPE(ipaddr, <a class="code" href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a>); ip_clear_no4(ipaddr); }}<span class="keywordflow">while</span>(0)</div><div class="ttc" id="group__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="ip4__addr_8h_html_aeb39f58b38435f89219c8ccb509eb520"><div class="ttname"><a href="ip4__addr_8h.html#aeb39f58b38435f89219c8ccb509eb520">ip4_addr_set_u32</a></div><div class="ttdeci">#define ip4_addr_set_u32(dest_ipaddr, src_u32)</div><div class="ttdef"><b>Definition:</b> ip4_addr.h:126</div></div>
<div class="ttc" id="group__ipaddr_html_ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049"><div class="ttname"><a href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a></div><div class="ttdef"><b>Definition:</b> ip_addr.h:56</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ga624b5010ccc04cc3d0de2acce44f1c9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga624b5010ccc04cc3d0de2acce44f1c9e">&#9670;&nbsp;</a></span>ip_addr_set_ip4_u32_val</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ip_addr_set_ip4_u32_val</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">val&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span>{ <a class="code" href="ip4__addr_8h.html#aeb39f58b38435f89219c8ccb509eb520">ip4_addr_set_u32</a>(<a class="code" href="group__ip4addr.html#gad7268a496b7e3f872efecd859eba6f03">ip_2_ip4</a>(&amp;(ipaddr)), val); \</div><div class="line"> IP_SET_TYPE_VAL(ipaddr, <a class="code" href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a>); ip_clear_no4(&amp;ipaddr); }<span class="keywordflow">while</span>(0)</div><div class="ttc" id="group__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="ip4__addr_8h_html_aeb39f58b38435f89219c8ccb509eb520"><div class="ttname"><a href="ip4__addr_8h.html#aeb39f58b38435f89219c8ccb509eb520">ip4_addr_set_u32</a></div><div class="ttdeci">#define ip4_addr_set_u32(dest_ipaddr, src_u32)</div><div class="ttdef"><b>Definition:</b> ip4_addr.h:126</div></div>
<div class="ttc" id="group__ipaddr_html_ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049"><div class="ttname"><a href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a></div><div class="ttdef"><b>Definition:</b> ip_addr.h:56</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="gabee5dab2191bb0f3355d7f30d1496f24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabee5dab2191bb0f3355d7f30d1496f24">&#9670;&nbsp;</a></span>IP_IS_V4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP_IS_V4</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr</td><td>)</td>
<td>&#160;&#160;&#160;(((ipaddr) == NULL) || <a class="el" href="group__ip4addr.html#gab1a059f07bd9c50aa58447d963b823a1">IP_IS_V4_VAL</a>(*(ipaddr)))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="gab1a059f07bd9c50aa58447d963b823a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab1a059f07bd9c50aa58447d963b823a1">&#9670;&nbsp;</a></span>IP_IS_V4_VAL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IP_IS_V4_VAL</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ipaddr</td><td>)</td>
<td>&#160;&#160;&#160;(IP_GET_TYPE(&amp;ipaddr) == <a class="el" href="group__ipaddr.html#ggaf2142f0dfdcc938e2db16aa745ed585cace47fa82608deeb1c1c7c2c891eb5049">IPADDR_TYPE_V4</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga1eaffd17b4b3c56cc91a6d516e18118f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1eaffd17b4b3c56cc91a6d516e18118f">&#9670;&nbsp;</a></span>IPADDR4_INIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IPADDR4_INIT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">u32val</td><td>)</td>
<td>&#160;&#160;&#160;{ { { { u32val, 0ul, 0ul, 0ul } IPADDR6_ZONE_INIT } }, IPADDR_TYPE_V4 }</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga55cc3896c46564bd2941ee5806fe1e11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga55cc3896c46564bd2941ee5806fe1e11">&#9670;&nbsp;</a></span>IPADDR4_INIT_BYTES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IPADDR4_INIT_BYTES</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">b, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">c, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">d&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="group__ip4addr.html#ga1eaffd17b4b3c56cc91a6d516e18118f">IPADDR4_INIT</a>(PP_HTONL(<a class="el" href="def_8h.html#acf56d3da92a0a7a8a62a617e793e948c">LWIP_MAKEU32</a>(a,b,c,d)))</td>
</tr>
</table>
</div><div class="memdoc">
</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>