| <!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: src/include/lwip/ip6_addr.h File Reference</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <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.1.3</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('ip6__addr_8h.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="#nested-classes">Data Structures</a> | |
| <a href="#define-members">Macros</a> | |
| <a href="#typedef-members">Typedefs</a> | |
| <a href="#func-members">Functions</a> </div> |
| <div class="headertitle"><div class="title">ip6_addr.h File Reference</div></div> |
| </div><!--header--> |
| <div class="contents"> |
| <div class="textblock"><code>#include "<a class="el" href="opt_8h.html">lwip/opt.h</a>"</code><br /> |
| <code>#include "<a class="el" href="def_8h.html">def.h</a>"</code><br /> |
| <code>#include "<a class="el" href="ip6__zone_8h.html">lwip/ip6_zone.h</a>"</code><br /> |
| </div><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="structip6__addr.html">ip6_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:a1d78feeb50aec8f2c07d840829f49ddd" id="r_a1d78feeb50aec8f2c07d840829f49ddd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1d78feeb50aec8f2c07d840829f49ddd">IP6_ADDR_PART</a>(ip6addr, index, a, b, c, d)</td></tr> |
| <tr class="separator:a1d78feeb50aec8f2c07d840829f49ddd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a30c92254d6abe631de6a5accfd491bc3" id="r_a30c92254d6abe631de6a5accfd491bc3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a30c92254d6abe631de6a5accfd491bc3">IP6_ADDR</a>(ip6addr, idx0, idx1, idx2, idx3)</td></tr> |
| <tr class="separator:a30c92254d6abe631de6a5accfd491bc3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae258ebfa66d18c8c428bf3d8fd0f969c" id="r_ae258ebfa66d18c8c428bf3d8fd0f969c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae258ebfa66d18c8c428bf3d8fd0f969c">IP6_ADDR_BLOCK1</a>(ip6addr)</td></tr> |
| <tr class="separator:ae258ebfa66d18c8c428bf3d8fd0f969c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9193137423b6b936d25c2e6cf33b4921" id="r_a9193137423b6b936d25c2e6cf33b4921"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9193137423b6b936d25c2e6cf33b4921">IP6_ADDR_BLOCK2</a>(ip6addr)</td></tr> |
| <tr class="separator:a9193137423b6b936d25c2e6cf33b4921"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6466b1c0edd03d6a5986dcc79f7d8bb6" id="r_a6466b1c0edd03d6a5986dcc79f7d8bb6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6466b1c0edd03d6a5986dcc79f7d8bb6">IP6_ADDR_BLOCK3</a>(ip6addr)</td></tr> |
| <tr class="separator:a6466b1c0edd03d6a5986dcc79f7d8bb6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2a5d7de341ce708b7145ad4d72652c71" id="r_a2a5d7de341ce708b7145ad4d72652c71"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2a5d7de341ce708b7145ad4d72652c71">IP6_ADDR_BLOCK4</a>(ip6addr)</td></tr> |
| <tr class="separator:a2a5d7de341ce708b7145ad4d72652c71"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a56a11cfaa169389c319f8bd027ac524c" id="r_a56a11cfaa169389c319f8bd027ac524c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a56a11cfaa169389c319f8bd027ac524c">IP6_ADDR_BLOCK5</a>(ip6addr)</td></tr> |
| <tr class="separator:a56a11cfaa169389c319f8bd027ac524c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a116d7c5c8bf8531b27f8a9fa98e728c3" id="r_a116d7c5c8bf8531b27f8a9fa98e728c3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a116d7c5c8bf8531b27f8a9fa98e728c3">IP6_ADDR_BLOCK6</a>(ip6addr)</td></tr> |
| <tr class="separator:a116d7c5c8bf8531b27f8a9fa98e728c3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab87bee320ecc0e923931ee6f49802deb" id="r_ab87bee320ecc0e923931ee6f49802deb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab87bee320ecc0e923931ee6f49802deb">IP6_ADDR_BLOCK7</a>(ip6addr)</td></tr> |
| <tr class="separator:ab87bee320ecc0e923931ee6f49802deb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af3d1f9876bf256ec964bd3809d7ed1b4" id="r_af3d1f9876bf256ec964bd3809d7ed1b4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#af3d1f9876bf256ec964bd3809d7ed1b4">IP6_ADDR_BLOCK8</a>(ip6addr)</td></tr> |
| <tr class="separator:af3d1f9876bf256ec964bd3809d7ed1b4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7b17e85a46bd8368ce27fc644e058073" id="r_a7b17e85a46bd8368ce27fc644e058073"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7b17e85a46bd8368ce27fc644e058073">ip6_addr_copy</a>(dest, src)</td></tr> |
| <tr class="separator:a7b17e85a46bd8368ce27fc644e058073"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa7b4ba4202b5f64dee605fe159e9c3ad" id="r_aa7b4ba4202b5f64dee605fe159e9c3ad"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa7b4ba4202b5f64dee605fe159e9c3ad">ip6_addr_set</a>(dest, src)</td></tr> |
| <tr class="separator:aa7b4ba4202b5f64dee605fe159e9c3ad"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a05575d46c233ffb13fb03a3a2c8a16b3" id="r_a05575d46c233ffb13fb03a3a2c8a16b3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a05575d46c233ffb13fb03a3a2c8a16b3">ip6_addr_copy_from_packed</a>(dest, src)</td></tr> |
| <tr class="separator:a05575d46c233ffb13fb03a3a2c8a16b3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6c46d12fa7d36c47b629d0ccdefa114b" id="r_a6c46d12fa7d36c47b629d0ccdefa114b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6c46d12fa7d36c47b629d0ccdefa114b">ip6_addr_copy_to_packed</a>(dest, src)</td></tr> |
| <tr class="separator:a6c46d12fa7d36c47b629d0ccdefa114b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af696d3b81f4cb9c40ece912de73ed53c" id="r_af696d3b81f4cb9c40ece912de73ed53c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#af696d3b81f4cb9c40ece912de73ed53c">ip6_addr_set_zero</a>(ip6addr)</td></tr> |
| <tr class="separator:af696d3b81f4cb9c40ece912de73ed53c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae2d1ce50ec6dbee890e2f8ae64abdf6b" id="r_ae2d1ce50ec6dbee890e2f8ae64abdf6b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2d1ce50ec6dbee890e2f8ae64abdf6b">ip6_addr_set_any</a>(ip6addr)</td></tr> |
| <tr class="separator:ae2d1ce50ec6dbee890e2f8ae64abdf6b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a02f5271e922f34a09153ce84839ad292" id="r_a02f5271e922f34a09153ce84839ad292"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a02f5271e922f34a09153ce84839ad292">ip6_addr_set_loopback</a>(ip6addr)</td></tr> |
| <tr class="separator:a02f5271e922f34a09153ce84839ad292"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad636c27d56d1b3deca9f780bc173d3c2" id="r_ad636c27d56d1b3deca9f780bc173d3c2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad636c27d56d1b3deca9f780bc173d3c2">ip6_addr_set_hton</a>(dest, src)</td></tr> |
| <tr class="separator:ad636c27d56d1b3deca9f780bc173d3c2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:acc1622ab895680da0a3b6e5e56070342" id="r_acc1622ab895680da0a3b6e5e56070342"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#acc1622ab895680da0a3b6e5e56070342">ip6_addr_netcmp_zoneless</a>(addr1, addr2)</td></tr> |
| <tr class="separator:acc1622ab895680da0a3b6e5e56070342"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a76b01f76b65647767d00ee9fad9fbaa2" id="r_a76b01f76b65647767d00ee9fad9fbaa2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a76b01f76b65647767d00ee9fad9fbaa2">ip6_addr_netcmp</a>(addr1, addr2)</td></tr> |
| <tr class="separator:a76b01f76b65647767d00ee9fad9fbaa2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad0fc088972d395839a7ad75d3dab8322" id="r_ad0fc088972d395839a7ad75d3dab8322"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad0fc088972d395839a7ad75d3dab8322">ip6_addr_cmp_zoneless</a>(addr1, addr2)</td></tr> |
| <tr class="separator:ad0fc088972d395839a7ad75d3dab8322"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aea8d4c4134abff1c76bc997a91163fe1" id="r_aea8d4c4134abff1c76bc997a91163fe1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#aea8d4c4134abff1c76bc997a91163fe1">ip6_addr_cmp</a>(addr1, addr2)</td></tr> |
| <tr class="separator:aea8d4c4134abff1c76bc997a91163fe1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a11fe84789e3f039b3f71009e802946a8" id="r_a11fe84789e3f039b3f71009e802946a8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a11fe84789e3f039b3f71009e802946a8">ip6_addr_cmp_packed</a>(ip6addr, paddr, zone_idx)</td></tr> |
| <tr class="separator:a11fe84789e3f039b3f71009e802946a8"><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:aaca9e796e93a355294c4954c08d01762" id="r_aaca9e796e93a355294c4954c08d01762"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structip6__addr.html">ip6_addr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_addr_t</a></td></tr> |
| <tr class="separator:aaca9e796e93a355294c4954c08d01762"><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:a3f555ae302eb056f28f6cb266a27036e" id="r_a3f555ae302eb056f28f6cb266a27036e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f555ae302eb056f28f6cb266a27036e">ip6addr_aton</a> (const char *cp, <a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_addr_t</a> *addr)</td></tr> |
| <tr class="separator:a3f555ae302eb056f28f6cb266a27036e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab153e5b58a5674e5e1bacdbbc0934c44" id="r_ab153e5b58a5674e5e1bacdbbc0934c44"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab153e5b58a5674e5e1bacdbbc0934c44">ip6addr_ntoa</a> (const <a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_addr_t</a> *addr)</td></tr> |
| <tr class="separator:ab153e5b58a5674e5e1bacdbbc0934c44"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac0470fb6b6fdbf986a20e523870e6f2e" id="r_ac0470fb6b6fdbf986a20e523870e6f2e"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac0470fb6b6fdbf986a20e523870e6f2e">ip6addr_ntoa_r</a> (const <a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_addr_t</a> *addr, char *buf, int buflen)</td></tr> |
| <tr class="separator:ac0470fb6b6fdbf986a20e523870e6f2e"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><p>IPv6 addresses. </p> |
| </div><h2 class="groupheader">Macro Definition Documentation</h2> |
| <a id="a30c92254d6abe631de6a5accfd491bc3" name="a30c92254d6abe631de6a5accfd491bc3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a30c92254d6abe631de6a5accfd491bc3">◆ </a></span>IP6_ADDR</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>idx0</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>idx1</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>idx2</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>idx3</em></span> )</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"> (ip6addr)->addr[0] = idx0; \</div> |
| <div class="line"> (ip6addr)->addr[1] = idx1; \</div> |
| <div class="line"> (ip6addr)->addr[2] = idx2; \</div> |
| <div class="line"> (ip6addr)->addr[3] = idx3; \</div> |
| <div class="line"> ip6_addr_clear_zone(ip6addr); } <span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Set a full IPv6 address by passing the 4 u32_t indices in network byte order (use PP_HTONL() for constants) </p> |
| |
| </div> |
| </div> |
| <a id="ae258ebfa66d18c8c428bf3d8fd0f969c" name="ae258ebfa66d18c8c428bf3d8fd0f969c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae258ebfa66d18c8c428bf3d8fd0f969c">◆ </a></span>IP6_ADDR_BLOCK1</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK1</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[0]) >> 16) & 0xffff))</div> |
| <div class="ttc" id="adef_8c_html_a14f94347a5b9b9e3602705b75b7ae524"><div class="ttname"><a href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a></div><div class="ttdeci">u32_t lwip_htonl(u32_t n)</div><div class="ttdef"><b>Definition</b> def.c:90</div></div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="a9193137423b6b936d25c2e6cf33b4921" name="a9193137423b6b936d25c2e6cf33b4921"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a9193137423b6b936d25c2e6cf33b4921">◆ </a></span>IP6_ADDR_BLOCK2</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK2</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[0])) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="a6466b1c0edd03d6a5986dcc79f7d8bb6" name="a6466b1c0edd03d6a5986dcc79f7d8bb6"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6466b1c0edd03d6a5986dcc79f7d8bb6">◆ </a></span>IP6_ADDR_BLOCK3</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK3</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[1]) >> 16) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="a2a5d7de341ce708b7145ad4d72652c71" name="a2a5d7de341ce708b7145ad4d72652c71"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2a5d7de341ce708b7145ad4d72652c71">◆ </a></span>IP6_ADDR_BLOCK4</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK4</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[1])) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="a56a11cfaa169389c319f8bd027ac524c" name="a56a11cfaa169389c319f8bd027ac524c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a56a11cfaa169389c319f8bd027ac524c">◆ </a></span>IP6_ADDR_BLOCK5</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK5</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[2]) >> 16) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="a116d7c5c8bf8531b27f8a9fa98e728c3" name="a116d7c5c8bf8531b27f8a9fa98e728c3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a116d7c5c8bf8531b27f8a9fa98e728c3">◆ </a></span>IP6_ADDR_BLOCK6</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK6</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[2])) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="ab87bee320ecc0e923931ee6f49802deb" name="ab87bee320ecc0e923931ee6f49802deb"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab87bee320ecc0e923931ee6f49802deb">◆ </a></span>IP6_ADDR_BLOCK7</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK7</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[3]) >> 16) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="af3d1f9876bf256ec964bd3809d7ed1b4" name="af3d1f9876bf256ec964bd3809d7ed1b4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af3d1f9876bf256ec964bd3809d7ed1b4">◆ </a></span>IP6_ADDR_BLOCK8</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_BLOCK8</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line">((u16_t)((<a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((ip6addr)->addr[3])) & 0xffff))</div> |
| </div><!-- fragment --><p>Access address in 16-bit block </p> |
| |
| </div> |
| </div> |
| <a id="aea8d4c4134abff1c76bc997a91163fe1" name="aea8d4c4134abff1c76bc997a91163fe1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aea8d4c4134abff1c76bc997a91163fe1">◆ </a></span>ip6_addr_cmp</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_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="#ad0fc088972d395839a7ad75d3dab8322">ip6_addr_cmp_zoneless</a>((addr1), (addr2)) && \</div> |
| <div class="line"> ip6_addr_cmp_zone((addr1), (addr2)))</div> |
| <div class="ttc" id="aip6__addr_8h_html_ad0fc088972d395839a7ad75d3dab8322"><div class="ttname"><a href="#ad0fc088972d395839a7ad75d3dab8322">ip6_addr_cmp_zoneless</a></div><div class="ttdeci">#define ip6_addr_cmp_zoneless(addr1, addr2)</div><div class="ttdef"><b>Definition</b> ip6_addr.h:168</div></div> |
| </div><!-- fragment --><p>Determine if two IPv6 addresses are the same. In particular, the address part of both must be the same, and the zone must be compatible.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">addr1</td><td>IPv6 address 1 </td></tr> |
| <tr><td class="paramname">addr2</td><td>IPv6 address 2 </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if the addresses are considered equal, 0 if not </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a11fe84789e3f039b3f71009e802946a8" name="a11fe84789e3f039b3f71009e802946a8"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a11fe84789e3f039b3f71009e802946a8">◆ </a></span>ip6_addr_cmp_packed</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_cmp_packed</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>paddr</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>zone_idx</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> (((ip6addr)->addr[0] == (paddr)->addr[0]) && \</div> |
| <div class="line"> ((ip6addr)->addr[1] == (paddr)->addr[1]) && \</div> |
| <div class="line"> ((ip6addr)->addr[2] == (paddr)->addr[2]) && \</div> |
| <div class="line"> ((ip6addr)->addr[3] == (paddr)->addr[3]) && \</div> |
| <div class="line"> ip6_addr_equals_zone((ip6addr), (zone_idx)))</div> |
| </div><!-- fragment --><p>Compare IPv6 address to packed address and zone </p> |
| |
| </div> |
| </div> |
| <a id="ad0fc088972d395839a7ad75d3dab8322" name="ad0fc088972d395839a7ad75d3dab8322"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ad0fc088972d395839a7ad75d3dab8322">◆ </a></span>ip6_addr_cmp_zoneless</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_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"> (((addr1)->addr[0] == (addr2)->addr[0]) && \</div> |
| <div class="line"> ((addr1)->addr[1] == (addr2)->addr[1]) && \</div> |
| <div class="line"> ((addr1)->addr[2] == (addr2)->addr[2]) && \</div> |
| <div class="line"> ((addr1)->addr[3] == (addr2)->addr[3]))</div> |
| </div><!-- fragment --><p>Compare IPv6 addresses, ignoring zone information. To be used sparingly! </p> |
| |
| </div> |
| </div> |
| <a id="a7b17e85a46bd8368ce27fc644e058073" name="a7b17e85a46bd8368ce27fc644e058073"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a7b17e85a46bd8368ce27fc644e058073">◆ </a></span>ip6_addr_copy</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_copy</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dest</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span>{(dest).addr[0] = (src).addr[0]; \</div> |
| <div class="line"> (dest).addr[1] = (src).addr[1]; \</div> |
| <div class="line"> (dest).addr[2] = (src).addr[2]; \</div> |
| <div class="line"> (dest).addr[3] = (src).addr[3]; \</div> |
| <div class="line"> ip6_addr_copy_zone((dest), (src)); }<span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Copy IPv6 address - faster than ip6_addr_set: no NULL check </p> |
| |
| </div> |
| </div> |
| <a id="a05575d46c233ffb13fb03a3a2c8a16b3" name="a05575d46c233ffb13fb03a3a2c8a16b3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a05575d46c233ffb13fb03a3a2c8a16b3">◆ </a></span>ip6_addr_copy_from_packed</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_copy_from_packed</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dest</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span>{(dest).addr[0] = (src).addr[0]; \</div> |
| <div class="line"> (dest).addr[1] = (src).addr[1]; \</div> |
| <div class="line"> (dest).addr[2] = (src).addr[2]; \</div> |
| <div class="line"> (dest).addr[3] = (src).addr[3]; \</div> |
| <div class="line"> ip6_addr_clear_zone(&dest); }<span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Copy packed IPv6 address to unpacked IPv6 address; zone is not set </p> |
| |
| </div> |
| </div> |
| <a id="a6c46d12fa7d36c47b629d0ccdefa114b" name="a6c46d12fa7d36c47b629d0ccdefa114b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6c46d12fa7d36c47b629d0ccdefa114b">◆ </a></span>ip6_addr_copy_to_packed</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_copy_to_packed</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dest</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span>{(dest).addr[0] = (src).addr[0]; \</div> |
| <div class="line"> (dest).addr[1] = (src).addr[1]; \</div> |
| <div class="line"> (dest).addr[2] = (src).addr[2]; \</div> |
| <div class="line"> (dest).addr[3] = (src).addr[3]; }<span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Copy unpacked IPv6 address to packed IPv6 address; zone is lost </p> |
| |
| </div> |
| </div> |
| <a id="a76b01f76b65647767d00ee9fad9fbaa2" name="a76b01f76b65647767d00ee9fad9fbaa2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a76b01f76b65647767d00ee9fad9fbaa2">◆ </a></span>ip6_addr_netcmp</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_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> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> (<a class="code hl_define" href="#acc1622ab895680da0a3b6e5e56070342">ip6_addr_netcmp_zoneless</a>((addr1), (addr2)) && \</div> |
| <div class="line"> ip6_addr_cmp_zone((addr1), (addr2)))</div> |
| <div class="ttc" id="aip6__addr_8h_html_acc1622ab895680da0a3b6e5e56070342"><div class="ttname"><a href="#acc1622ab895680da0a3b6e5e56070342">ip6_addr_netcmp_zoneless</a></div><div class="ttdeci">#define ip6_addr_netcmp_zoneless(addr1, addr2)</div><div class="ttdef"><b>Definition</b> ip6_addr.h:150</div></div> |
| </div><!-- fragment --><p>Determine if two IPv6 address are on the same network.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">addr1</td><td>IPv6 address 1 </td></tr> |
| <tr><td class="paramname">addr2</td><td>IPv6 address 2 </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if the network identifiers of both address match, 0 if not </dd></dl> |
| |
| </div> |
| </div> |
| <a id="acc1622ab895680da0a3b6e5e56070342" name="acc1622ab895680da0a3b6e5e56070342"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#acc1622ab895680da0a3b6e5e56070342">◆ </a></span>ip6_addr_netcmp_zoneless</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_netcmp_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"> (((addr1)->addr[0] == (addr2)->addr[0]) && \</div> |
| <div class="line"> ((addr1)->addr[1] == (addr2)->addr[1]))</div> |
| </div><!-- fragment --><p>Compare IPv6 networks, ignoring zone information. To be used sparingly! </p> |
| |
| </div> |
| </div> |
| <a id="a1d78feeb50aec8f2c07d840829f49ddd" name="a1d78feeb50aec8f2c07d840829f49ddd"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a1d78feeb50aec8f2c07d840829f49ddd">◆ </a></span>IP6_ADDR_PART</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define IP6_ADDR_PART</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>index</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>b</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>c</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>d</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> (ip6addr)->addr[index] = PP_HTONL(<a class="code hl_define" href="def_8h.html#acf56d3da92a0a7a8a62a617e793e948c">LWIP_MAKEU32</a>(a,b,c,d))</div> |
| <div class="ttc" id="adef_8h_html_acf56d3da92a0a7a8a62a617e793e948c"><div class="ttname"><a href="def_8h.html#acf56d3da92a0a7a8a62a617e793e948c">LWIP_MAKEU32</a></div><div class="ttdeci">#define LWIP_MAKEU32(a, b, c, d)</div><div class="ttdef"><b>Definition</b> def.h:72</div></div> |
| </div><!-- fragment --><p>Set an IPv6 partial address given by byte-parts </p> |
| |
| </div> |
| </div> |
| <a id="aa7b4ba4202b5f64dee605fe159e9c3ad" name="aa7b4ba4202b5f64dee605fe159e9c3ad"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa7b4ba4202b5f64dee605fe159e9c3ad">◆ </a></span>ip6_addr_set</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_set</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dest</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span>{(dest)->addr[0] = (src) == NULL ? 0 : (src)->addr[0]; \</div> |
| <div class="line"> (dest)->addr[1] = (src) == NULL ? 0 : (src)->addr[1]; \</div> |
| <div class="line"> (dest)->addr[2] = (src) == NULL ? 0 : (src)->addr[2]; \</div> |
| <div class="line"> (dest)->addr[3] = (src) == NULL ? 0 : (src)->addr[3]; \</div> |
| <div class="line"> ip6_addr_set_zone((dest), (src) == NULL ? <a class="code hl_define" href="group__ip6__zones.html#ga2049167d1715b9a9cf2730e122c0d4fb">IP6_NO_ZONE</a> : <a class="code hl_define" href="group__ip6__zones.html#gaee83e12649fa9706857c9ad8f9ef8634">ip6_addr_zone</a>(src)); }<span class="keywordflow">while</span>(0)</div> |
| <div class="ttc" id="agroup__ip6__zones_html_ga2049167d1715b9a9cf2730e122c0d4fb"><div class="ttname"><a href="group__ip6__zones.html#ga2049167d1715b9a9cf2730e122c0d4fb">IP6_NO_ZONE</a></div><div class="ttdeci">#define IP6_NO_ZONE</div><div class="ttdef"><b>Definition</b> ip6_zone.h:101</div></div> |
| <div class="ttc" id="agroup__ip6__zones_html_gaee83e12649fa9706857c9ad8f9ef8634"><div class="ttname"><a href="group__ip6__zones.html#gaee83e12649fa9706857c9ad8f9ef8634">ip6_addr_zone</a></div><div class="ttdeci">#define ip6_addr_zone(ip6addr)</div><div class="ttdef"><b>Definition</b> ip6_zone.h:109</div></div> |
| </div><!-- fragment --><p>Safely copy one IPv6 address to another (src may be NULL) </p> |
| |
| </div> |
| </div> |
| <a id="ae2d1ce50ec6dbee890e2f8ae64abdf6b" name="ae2d1ce50ec6dbee890e2f8ae64abdf6b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae2d1ce50ec6dbee890e2f8ae64abdf6b">◆ </a></span>ip6_addr_set_any</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_set_any</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"><a class="code hl_define" href="#af696d3b81f4cb9c40ece912de73ed53c">ip6_addr_set_zero</a>(ip6addr)</div> |
| <div class="ttc" id="aip6__addr_8h_html_af696d3b81f4cb9c40ece912de73ed53c"><div class="ttname"><a href="#af696d3b81f4cb9c40ece912de73ed53c">ip6_addr_set_zero</a></div><div class="ttdeci">#define ip6_addr_set_zero(ip6addr)</div><div class="ttdef"><b>Definition</b> ip6_addr.h:126</div></div> |
| </div><!-- fragment --><p>Set address to ipv6 'any' (no need for <a class="el" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl()</a>) </p> |
| |
| </div> |
| </div> |
| <a id="ad636c27d56d1b3deca9f780bc173d3c2" name="ad636c27d56d1b3deca9f780bc173d3c2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ad636c27d56d1b3deca9f780bc173d3c2">◆ </a></span>ip6_addr_set_hton</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_set_hton</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>dest</em></span>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>src</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">do</span>{(dest)->addr[0] = (src) == NULL ? 0 : <a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((src)->addr[0]); \</div> |
| <div class="line"> (dest)->addr[1] = (src) == NULL ? 0 : <a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((src)->addr[1]); \</div> |
| <div class="line"> (dest)->addr[2] = (src) == NULL ? 0 : <a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((src)->addr[2]); \</div> |
| <div class="line"> (dest)->addr[3] = (src) == NULL ? 0 : <a class="code hl_function" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a>((src)->addr[3]); \</div> |
| <div class="line"> ip6_addr_set_zone((dest), (src) == NULL ? <a class="code hl_define" href="group__ip6__zones.html#ga2049167d1715b9a9cf2730e122c0d4fb">IP6_NO_ZONE</a> : <a class="code hl_define" href="group__ip6__zones.html#gaee83e12649fa9706857c9ad8f9ef8634">ip6_addr_zone</a>(src));}<span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Safely copy one IPv6 address to another and change byte order from host- to network-order. </p> |
| |
| </div> |
| </div> |
| <a id="a02f5271e922f34a09153ce84839ad292" name="a02f5271e922f34a09153ce84839ad292"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a02f5271e922f34a09153ce84839ad292">◆ </a></span>ip6_addr_set_loopback</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_set_loopback</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></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>{(ip6addr)->addr[0] = 0; \</div> |
| <div class="line"> (ip6addr)->addr[1] = 0; \</div> |
| <div class="line"> (ip6addr)->addr[2] = 0; \</div> |
| <div class="line"> (ip6addr)->addr[3] = PP_HTONL(0x00000001UL); \</div> |
| <div class="line"> ip6_addr_clear_zone(ip6addr);}<span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Set address to ipv6 loopback address </p> |
| |
| </div> |
| </div> |
| <a id="af696d3b81f4cb9c40ece912de73ed53c" name="af696d3b81f4cb9c40ece912de73ed53c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af696d3b81f4cb9c40ece912de73ed53c">◆ </a></span>ip6_addr_set_zero</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ip6_addr_set_zero</td> |
| <td>(</td> |
| <td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ip6addr</em></span></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>{(ip6addr)->addr[0] = 0; \</div> |
| <div class="line"> (ip6addr)->addr[1] = 0; \</div> |
| <div class="line"> (ip6addr)->addr[2] = 0; \</div> |
| <div class="line"> (ip6addr)->addr[3] = 0; \</div> |
| <div class="line"> ip6_addr_clear_zone(ip6addr);}<span class="keywordflow">while</span>(0)</div> |
| </div><!-- fragment --><p>Set complete address to zero </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Typedef Documentation</h2> |
| <a id="aaca9e796e93a355294c4954c08d01762" name="aaca9e796e93a355294c4954c08d01762"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aaca9e796e93a355294c4954c08d01762">◆ </a></span>ip6_addr_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef struct <a class="el" href="structip6__addr.html">ip6_addr</a> <a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_addr_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>IPv6 address </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Function Documentation</h2> |
| <a id="a3f555ae302eb056f28f6cb266a27036e" name="a3f555ae302eb056f28f6cb266a27036e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3f555ae302eb056f28f6cb266a27036e">◆ </a></span>ip6addr_aton()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int ip6addr_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="#aaca9e796e93a355294c4954c08d01762">ip6_addr_t</a> *</td> <td class="paramname"><span class="paramname"><em>addr</em></span> )</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Check whether "cp" is a valid ascii representation of an IPv6 address and convert to a binary address. Returns 1 if the address is valid, 0 if not.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">cp</td><td>IPv6 address in ascii representation (e.g. "FF01::1") </td></tr> |
| <tr><td class="paramname">addr</td><td>pointer to which to save the ip address in network order </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if cp could be converted to addr, 0 on failure </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ab153e5b58a5674e5e1bacdbbc0934c44" name="ab153e5b58a5674e5e1bacdbbc0934c44"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab153e5b58a5674e5e1bacdbbc0934c44">◆ </a></span>ip6addr_ntoa()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">char * ip6addr_ntoa </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_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>returns ptr to static buffer; not reentrant!</p> |
| <p>Convert numeric IPv6 address 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>ip6 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="ac0470fb6b6fdbf986a20e523870e6f2e" name="ac0470fb6b6fdbf986a20e523870e6f2e"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac0470fb6b6fdbf986a20e523870e6f2e">◆ </a></span>ip6addr_ntoa_r()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">char * ip6addr_ntoa_r </td> |
| <td>(</td> |
| <td class="paramtype">const <a class="el" href="#aaca9e796e93a355294c4954c08d01762">ip6_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>ip6 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="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li><li class="navelem"><a class="el" href="dir_4e6b3cf33a61b6caac9c8ac30c866f37.html">lwip</a></li><li class="navelem"><a class="el" href="ip6__addr_8h.html">ip6_addr.h</a></li> |
| <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> |