1*10465441SEvalZero<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2*10465441SEvalZero<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3*10465441SEvalZero<title>uIP 1.0: uIP conversion functions</title> 4*10465441SEvalZero<link href="doxygen.css" rel="stylesheet" type="text/css"> 5*10465441SEvalZero<link href="tabs.css" rel="stylesheet" type="text/css"> 6*10465441SEvalZero</head><body> 7*10465441SEvalZero<!-- Generated by Doxygen 1.4.6 --> 8*10465441SEvalZero<div class="tabs"> 9*10465441SEvalZero <ul> 10*10465441SEvalZero <li><a href="main.html"><span>Main Page</span></a></li> 11*10465441SEvalZero <li><a href="modules.html"><span>Modules</span></a></li> 12*10465441SEvalZero <li><a href="classes.html"><span>Data Structures</span></a></li> 13*10465441SEvalZero <li><a href="files.html"><span>Files</span></a></li> 14*10465441SEvalZero <li><a href="examples.html"><span>Examples</span></a></li> 15*10465441SEvalZero </ul></div> 16*10465441SEvalZero<h1>uIP conversion functions<br> 17*10465441SEvalZero<small> 18*10465441SEvalZero[<a class="el" href="a00150.html">The uIP TCP/IP stack</a>]</small> 19*10465441SEvalZero</h1><hr><a name="_details"></a><h2>Detailed Description</h2> 20*10465441SEvalZeroThese functions can be used for converting between different data formats used by uIP. 21*10465441SEvalZero<p> 22*10465441SEvalZero 23*10465441SEvalZero<p> 24*10465441SEvalZero<table border="0" cellpadding="0" cellspacing="0"> 25*10465441SEvalZero<tr><td></td></tr> 26*10465441SEvalZero<tr><td colspan="2"><br><h2>Defines</h2></td></tr> 27*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(addr, addr0, addr1, addr2, addr3)</td></tr> 28*10465441SEvalZero 29*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an IP address from four bytes. <a href="#g87f0b54ade0d159fba495089128a4932"></a><br></td></tr> 30*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g53fbda0e8c31d4882294c8dc3cb5f487">uip_ip6addr</a>(addr, addr0, addr1, addr2, addr3, addr4, addr5, addr6, addr7)</td></tr> 31*10465441SEvalZero 32*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an IPv6 address from eight 16-bit words. <a href="#g53fbda0e8c31d4882294c8dc3cb5f487"></a><br></td></tr> 33*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g769512993b7b27271909d6daa4748b60">uip_ipaddr_copy</a>(dest, src)</td></tr> 34*10465441SEvalZero 35*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy an IP address to another IP address. <a href="#g769512993b7b27271909d6daa4748b60"></a><br></td></tr> 36*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g210e629f7252e4bc8458cbdf260b3318">uip_ipaddr_cmp</a>(addr1, addr2)</td></tr> 37*10465441SEvalZero 38*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two IP addresses. <a href="#g210e629f7252e4bc8458cbdf260b3318"></a><br></td></tr> 39*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0">uip_ipaddr_maskcmp</a>(addr1, addr2, mask)</td></tr> 40*10465441SEvalZero 41*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two IP addresses with netmasks. <a href="#g6b16e0bac41821c1fbe0c267071642f0"></a><br></td></tr> 42*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g969d7fff37a979737da045e0d538a9bd">uip_ipaddr_mask</a>(dest, src, mask)</td></tr> 43*10465441SEvalZero 44*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Mask out the network part of an IP address. <a href="#g969d7fff37a979737da045e0d538a9bd"></a><br></td></tr> 45*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g22fa0681cd463191d7a01fe85d86996f">uip_ipaddr1</a>(addr)</td></tr> 46*10465441SEvalZero 47*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the first octet of an IP address. <a href="#g22fa0681cd463191d7a01fe85d86996f"></a><br></td></tr> 48*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5">uip_ipaddr2</a>(addr)</td></tr> 49*10465441SEvalZero 50*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the second octet of an IP address. <a href="#gffcd2fbe181e2aaefbf970551c302af5"></a><br></td></tr> 51*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ge23534479ead15af8ff08ace26a47fb5">uip_ipaddr3</a>(addr)</td></tr> 52*10465441SEvalZero 53*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the third octet of an IP address. <a href="#ge23534479ead15af8ff08ace26a47fb5"></a><br></td></tr> 54*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g165b603ec150e26efec7be199c9c2901">uip_ipaddr4</a>(addr)</td></tr> 55*10465441SEvalZero 56*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the fourth octet of an IP address. <a href="#g165b603ec150e26efec7be199c9c2901"></a><br></td></tr> 57*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>(n)</td></tr> 58*10465441SEvalZero 59*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order. <a href="#g69a7a4951ff21b302267532c21ee78fc"></a><br></td></tr> 60*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g118e9d76568ab81ad97f138d4ea1ddd2"></a><!-- doxytag: member="uipconvfunc::ntohs" ref="g118e9d76568ab81ad97f138d4ea1ddd2" args="" --> 61*10465441SEvalZero#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g118e9d76568ab81ad97f138d4ea1ddd2">ntohs</a> htons</td></tr> 62*10465441SEvalZero 63*10465441SEvalZero<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 64*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ga22b04cac8cf283ca12f028578bebc06">htons</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> val)</td></tr> 65*10465441SEvalZero 66*10465441SEvalZero<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order. <a href="#ga22b04cac8cf283ca12f028578bebc06"></a><br></td></tr> 67*10465441SEvalZero</table> 68*10465441SEvalZero<hr><h2>Define Documentation</h2> 69*10465441SEvalZero<a class="anchor" name="g69a7a4951ff21b302267532c21ee78fc"></a><!-- doxytag: member="uip.h::HTONS" ref="g69a7a4951ff21b302267532c21ee78fc" args="(n)" --><p> 70*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 71*10465441SEvalZero <tr> 72*10465441SEvalZero <td class="mdRow"> 73*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 74*10465441SEvalZero <tr> 75*10465441SEvalZero <td class="md" nowrap valign="top">#define HTONS </td> 76*10465441SEvalZero <td class="md" valign="top">( </td> 77*10465441SEvalZero <td class="md" nowrap valign="top">n </td> 78*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 79*10465441SEvalZero <td class="md" valign="top"> ) </td> 80*10465441SEvalZero <td class="md" nowrap></td> 81*10465441SEvalZero </tr> 82*10465441SEvalZero </table> 83*10465441SEvalZero </td> 84*10465441SEvalZero </tr> 85*10465441SEvalZero</table> 86*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 87*10465441SEvalZero <tr> 88*10465441SEvalZero <td> 89*10465441SEvalZero 90*10465441SEvalZero </td> 91*10465441SEvalZero <td> 92*10465441SEvalZero 93*10465441SEvalZero<p> 94*10465441SEvalZeroConvert 16-bit quantity from host byte order to network byte order. 95*10465441SEvalZero<p> 96*10465441SEvalZeroThis macro is primarily used for converting constants from host byte order to network byte order. For converting variables to network byte order, use the <a class="el" href="a00148.html#ga22b04cac8cf283ca12f028578bebc06">htons()</a> function instead. <dl compact><dt><b>Examples: </b></dt><dd> 97*10465441SEvalZero<a class="el" href="a00048.html#a6">dhcpc.c</a>, <a class="el" href="a00036.html#a103">hello-world.c</a>, <a class="el" href="a00046.html#a139">resolv.c</a>, <a class="el" href="a00038.html#a191">smtp.c</a>, and <a class="el" href="a00044.html#a219">telnetd.c</a>.</dl> 98*10465441SEvalZero<p> 99*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l01070">1070</a> of file <a class="el" href="a00202.html">uip.h</a>. 100*10465441SEvalZero<p> 101*10465441SEvalZeroReferenced by <a class="el" href="a00170.html#l00041">hello_world_init()</a>, <a class="el" href="a00201.html#l01882">htons()</a>, <a class="el" href="a00184.html#l00333">httpd_init()</a>, <a class="el" href="a00172.html#l00331">resolv_appcall()</a>, <a class="el" href="a00172.html#l00438">resolv_conf()</a>, <a class="el" href="a00174.html#l00233">smtp_send()</a>, <a class="el" href="a00204.html#l00278">uip_arp_arpin()</a>, and <a class="el" href="a00201.html#l00682">uip_process()</a>. </td> 102*10465441SEvalZero </tr> 103*10465441SEvalZero</table> 104*10465441SEvalZero<a class="anchor" name="g53fbda0e8c31d4882294c8dc3cb5f487"></a><!-- doxytag: member="uip.h::uip_ip6addr" ref="g53fbda0e8c31d4882294c8dc3cb5f487" args="(addr, addr0, addr1, addr2, addr3, addr4, addr5, addr6, addr7)" --><p> 105*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 106*10465441SEvalZero <tr> 107*10465441SEvalZero <td class="mdRow"> 108*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 109*10465441SEvalZero <tr> 110*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ip6addr </td> 111*10465441SEvalZero <td class="md" valign="top">( </td> 112*10465441SEvalZero <td class="md" nowrap valign="top">addr, <tr> 113*10465441SEvalZero <td class="md" nowrap align="right"></td> 114*10465441SEvalZero <td class="md"></td> 115*10465441SEvalZero <td class="md" nowrap>addr0, <tr> 116*10465441SEvalZero <td class="md" nowrap align="right"></td> 117*10465441SEvalZero <td class="md"></td> 118*10465441SEvalZero <td class="md" nowrap>addr1, <tr> 119*10465441SEvalZero <td class="md" nowrap align="right"></td> 120*10465441SEvalZero <td class="md"></td> 121*10465441SEvalZero <td class="md" nowrap>addr2, <tr> 122*10465441SEvalZero <td class="md" nowrap align="right"></td> 123*10465441SEvalZero <td class="md"></td> 124*10465441SEvalZero <td class="md" nowrap>addr3, <tr> 125*10465441SEvalZero <td class="md" nowrap align="right"></td> 126*10465441SEvalZero <td class="md"></td> 127*10465441SEvalZero <td class="md" nowrap>addr4, <tr> 128*10465441SEvalZero <td class="md" nowrap align="right"></td> 129*10465441SEvalZero <td class="md"></td> 130*10465441SEvalZero <td class="md" nowrap>addr5, <tr> 131*10465441SEvalZero <td class="md" nowrap align="right"></td> 132*10465441SEvalZero <td class="md"></td> 133*10465441SEvalZero <td class="md" nowrap>addr6, <tr> 134*10465441SEvalZero <td class="md" nowrap align="right"></td> 135*10465441SEvalZero <td class="md"></td> 136*10465441SEvalZero <td class="md" nowrap>addr7 </td> 137*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 138*10465441SEvalZero <td class="md" valign="top"> ) </td> 139*10465441SEvalZero <td class="md" nowrap></td> 140*10465441SEvalZero </tr> 141*10465441SEvalZero </table> 142*10465441SEvalZero </td> 143*10465441SEvalZero </tr> 144*10465441SEvalZero</table> 145*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 146*10465441SEvalZero <tr> 147*10465441SEvalZero <td> 148*10465441SEvalZero 149*10465441SEvalZero </td> 150*10465441SEvalZero <td> 151*10465441SEvalZero 152*10465441SEvalZero<p> 153*10465441SEvalZeroConstruct an IPv6 address from eight 16-bit words. 154*10465441SEvalZero<p> 155*10465441SEvalZeroThis function constructs an IPv6 address. 156*10465441SEvalZero<p> 157*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00852">852</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 158*10465441SEvalZero </tr> 159*10465441SEvalZero</table> 160*10465441SEvalZero<a class="anchor" name="g87f0b54ade0d159fba495089128a4932"></a><!-- doxytag: member="uip.h::uip_ipaddr" ref="g87f0b54ade0d159fba495089128a4932" args="(addr, addr0, addr1, addr2, addr3)" --><p> 161*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 162*10465441SEvalZero <tr> 163*10465441SEvalZero <td class="mdRow"> 164*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 165*10465441SEvalZero <tr> 166*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr </td> 167*10465441SEvalZero <td class="md" valign="top">( </td> 168*10465441SEvalZero <td class="md" nowrap valign="top">addr, <tr> 169*10465441SEvalZero <td class="md" nowrap align="right"></td> 170*10465441SEvalZero <td class="md"></td> 171*10465441SEvalZero <td class="md" nowrap>addr0, <tr> 172*10465441SEvalZero <td class="md" nowrap align="right"></td> 173*10465441SEvalZero <td class="md"></td> 174*10465441SEvalZero <td class="md" nowrap>addr1, <tr> 175*10465441SEvalZero <td class="md" nowrap align="right"></td> 176*10465441SEvalZero <td class="md"></td> 177*10465441SEvalZero <td class="md" nowrap>addr2, <tr> 178*10465441SEvalZero <td class="md" nowrap align="right"></td> 179*10465441SEvalZero <td class="md"></td> 180*10465441SEvalZero <td class="md" nowrap>addr3 </td> 181*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 182*10465441SEvalZero <td class="md" valign="top"> ) </td> 183*10465441SEvalZero <td class="md" nowrap></td> 184*10465441SEvalZero </tr> 185*10465441SEvalZero </table> 186*10465441SEvalZero </td> 187*10465441SEvalZero </tr> 188*10465441SEvalZero</table> 189*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 190*10465441SEvalZero <tr> 191*10465441SEvalZero <td> 192*10465441SEvalZero 193*10465441SEvalZero </td> 194*10465441SEvalZero <td> 195*10465441SEvalZero 196*10465441SEvalZero<p> 197*10465441SEvalZeroConstruct an IP address from four bytes. 198*10465441SEvalZero<p> 199*10465441SEvalZeroThis function constructs an IP address of the type that uIP handles internally from four bytes. The function is handy for specifying IP addresses to use with e.g. the <a class="el" href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240">uip_connect()</a> function.<p> 200*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr; 201*10465441SEvalZero <span class="keyword">struct </span><a class="code" href="a00088.html">uip_conn</a> *c; 202*10465441SEvalZero 203*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr, 192,168,1,2); 204*10465441SEvalZero c = <a class="code" href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240">uip_connect</a>(&ipaddr, <a class="code" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>(80)); 205*10465441SEvalZero</pre></div><p> 206*10465441SEvalZero<dl compact><dt><b>Parameters:</b></dt><dd> 207*10465441SEvalZero <table border="0" cellspacing="2" cellpadding="0"> 208*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>A pointer to a uip_ipaddr_t variable that will be filled in with the IP address.</td></tr> 209*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr0</em> </td><td>The first octet of the IP address. </td></tr> 210*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr1</em> </td><td>The second octet of the IP address. </td></tr> 211*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr2</em> </td><td>The third octet of the IP address. </td></tr> 212*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr3</em> </td><td>The forth octet of the IP address. </td></tr> 213*10465441SEvalZero </table> 214*10465441SEvalZero</dl> 215*10465441SEvalZero<dl compact><dt><b>Examples: </b></dt><dd> 216*10465441SEvalZero<a class="el" href="a00048.html#a36">dhcpc.c</a>, <a class="el" href="a00042.html#a65">example-mainloop-with-arp.c</a>, and <a class="el" href="a00043.html#a89">example-mainloop-without-arp.c</a>.</dl> 217*10465441SEvalZero<p> 218*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00840">840</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 219*10465441SEvalZero </tr> 220*10465441SEvalZero</table> 221*10465441SEvalZero<a class="anchor" name="g22fa0681cd463191d7a01fe85d86996f"></a><!-- doxytag: member="uip.h::uip_ipaddr1" ref="g22fa0681cd463191d7a01fe85d86996f" args="(addr)" --><p> 222*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 223*10465441SEvalZero <tr> 224*10465441SEvalZero <td class="mdRow"> 225*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 226*10465441SEvalZero <tr> 227*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr1 </td> 228*10465441SEvalZero <td class="md" valign="top">( </td> 229*10465441SEvalZero <td class="md" nowrap valign="top">addr </td> 230*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 231*10465441SEvalZero <td class="md" valign="top"> ) </td> 232*10465441SEvalZero <td class="md" nowrap></td> 233*10465441SEvalZero </tr> 234*10465441SEvalZero </table> 235*10465441SEvalZero </td> 236*10465441SEvalZero </tr> 237*10465441SEvalZero</table> 238*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 239*10465441SEvalZero <tr> 240*10465441SEvalZero <td> 241*10465441SEvalZero 242*10465441SEvalZero </td> 243*10465441SEvalZero <td> 244*10465441SEvalZero 245*10465441SEvalZero<p> 246*10465441SEvalZeroPick the first octet of an IP address. 247*10465441SEvalZero<p> 248*10465441SEvalZeroPicks out the first octet of an IP address.<p> 249*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr; 250*10465441SEvalZero <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> octet; 251*10465441SEvalZero 252*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr, 1,2,3,4); 253*10465441SEvalZero octet = <a class="code" href="a00148.html#g22fa0681cd463191d7a01fe85d86996f">uip_ipaddr1</a>(&ipaddr); 254*10465441SEvalZero</pre></div><p> 255*10465441SEvalZeroIn the example above, the variable "octet" will contain the value 1. <dl compact><dt><b>Examples: </b></dt><dd> 256*10465441SEvalZero<a class="el" href="a00048.html#a28">dhcpc.c</a>.</dl> 257*10465441SEvalZero<p> 258*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00995">995</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 259*10465441SEvalZero </tr> 260*10465441SEvalZero</table> 261*10465441SEvalZero<a class="anchor" name="gffcd2fbe181e2aaefbf970551c302af5"></a><!-- doxytag: member="uip.h::uip_ipaddr2" ref="gffcd2fbe181e2aaefbf970551c302af5" args="(addr)" --><p> 262*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 263*10465441SEvalZero <tr> 264*10465441SEvalZero <td class="mdRow"> 265*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 266*10465441SEvalZero <tr> 267*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr2 </td> 268*10465441SEvalZero <td class="md" valign="top">( </td> 269*10465441SEvalZero <td class="md" nowrap valign="top">addr </td> 270*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 271*10465441SEvalZero <td class="md" valign="top"> ) </td> 272*10465441SEvalZero <td class="md" nowrap></td> 273*10465441SEvalZero </tr> 274*10465441SEvalZero </table> 275*10465441SEvalZero </td> 276*10465441SEvalZero </tr> 277*10465441SEvalZero</table> 278*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 279*10465441SEvalZero <tr> 280*10465441SEvalZero <td> 281*10465441SEvalZero 282*10465441SEvalZero </td> 283*10465441SEvalZero <td> 284*10465441SEvalZero 285*10465441SEvalZero<p> 286*10465441SEvalZeroPick the second octet of an IP address. 287*10465441SEvalZero<p> 288*10465441SEvalZeroPicks out the second octet of an IP address.<p> 289*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr; 290*10465441SEvalZero <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> octet; 291*10465441SEvalZero 292*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr, 1,2,3,4); 293*10465441SEvalZero octet = <a class="code" href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5">uip_ipaddr2</a>(&ipaddr); 294*10465441SEvalZero</pre></div><p> 295*10465441SEvalZeroIn the example above, the variable "octet" will contain the value 2. <dl compact><dt><b>Examples: </b></dt><dd> 296*10465441SEvalZero<a class="el" href="a00048.html#a29">dhcpc.c</a>.</dl> 297*10465441SEvalZero<p> 298*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l01015">1015</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 299*10465441SEvalZero </tr> 300*10465441SEvalZero</table> 301*10465441SEvalZero<a class="anchor" name="ge23534479ead15af8ff08ace26a47fb5"></a><!-- doxytag: member="uip.h::uip_ipaddr3" ref="ge23534479ead15af8ff08ace26a47fb5" args="(addr)" --><p> 302*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 303*10465441SEvalZero <tr> 304*10465441SEvalZero <td class="mdRow"> 305*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 306*10465441SEvalZero <tr> 307*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr3 </td> 308*10465441SEvalZero <td class="md" valign="top">( </td> 309*10465441SEvalZero <td class="md" nowrap valign="top">addr </td> 310*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 311*10465441SEvalZero <td class="md" valign="top"> ) </td> 312*10465441SEvalZero <td class="md" nowrap></td> 313*10465441SEvalZero </tr> 314*10465441SEvalZero </table> 315*10465441SEvalZero </td> 316*10465441SEvalZero </tr> 317*10465441SEvalZero</table> 318*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 319*10465441SEvalZero <tr> 320*10465441SEvalZero <td> 321*10465441SEvalZero 322*10465441SEvalZero </td> 323*10465441SEvalZero <td> 324*10465441SEvalZero 325*10465441SEvalZero<p> 326*10465441SEvalZeroPick the third octet of an IP address. 327*10465441SEvalZero<p> 328*10465441SEvalZeroPicks out the third octet of an IP address.<p> 329*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr; 330*10465441SEvalZero <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> octet; 331*10465441SEvalZero 332*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr, 1,2,3,4); 333*10465441SEvalZero octet = <a class="code" href="a00148.html#ge23534479ead15af8ff08ace26a47fb5">uip_ipaddr3</a>(&ipaddr); 334*10465441SEvalZero</pre></div><p> 335*10465441SEvalZeroIn the example above, the variable "octet" will contain the value 3. <dl compact><dt><b>Examples: </b></dt><dd> 336*10465441SEvalZero<a class="el" href="a00048.html#a30">dhcpc.c</a>.</dl> 337*10465441SEvalZero<p> 338*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l01035">1035</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 339*10465441SEvalZero </tr> 340*10465441SEvalZero</table> 341*10465441SEvalZero<a class="anchor" name="g165b603ec150e26efec7be199c9c2901"></a><!-- doxytag: member="uip.h::uip_ipaddr4" ref="g165b603ec150e26efec7be199c9c2901" args="(addr)" --><p> 342*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 343*10465441SEvalZero <tr> 344*10465441SEvalZero <td class="mdRow"> 345*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 346*10465441SEvalZero <tr> 347*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr4 </td> 348*10465441SEvalZero <td class="md" valign="top">( </td> 349*10465441SEvalZero <td class="md" nowrap valign="top">addr </td> 350*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 351*10465441SEvalZero <td class="md" valign="top"> ) </td> 352*10465441SEvalZero <td class="md" nowrap></td> 353*10465441SEvalZero </tr> 354*10465441SEvalZero </table> 355*10465441SEvalZero </td> 356*10465441SEvalZero </tr> 357*10465441SEvalZero</table> 358*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 359*10465441SEvalZero <tr> 360*10465441SEvalZero <td> 361*10465441SEvalZero 362*10465441SEvalZero </td> 363*10465441SEvalZero <td> 364*10465441SEvalZero 365*10465441SEvalZero<p> 366*10465441SEvalZeroPick the fourth octet of an IP address. 367*10465441SEvalZero<p> 368*10465441SEvalZeroPicks out the fourth octet of an IP address.<p> 369*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr; 370*10465441SEvalZero <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> octet; 371*10465441SEvalZero 372*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr, 1,2,3,4); 373*10465441SEvalZero octet = <a class="code" href="a00148.html#g165b603ec150e26efec7be199c9c2901">uip_ipaddr4</a>(&ipaddr); 374*10465441SEvalZero</pre></div><p> 375*10465441SEvalZeroIn the example above, the variable "octet" will contain the value 4. <dl compact><dt><b>Examples: </b></dt><dd> 376*10465441SEvalZero<a class="el" href="a00048.html#a31">dhcpc.c</a>.</dl> 377*10465441SEvalZero<p> 378*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l01055">1055</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 379*10465441SEvalZero </tr> 380*10465441SEvalZero</table> 381*10465441SEvalZero<a class="anchor" name="g210e629f7252e4bc8458cbdf260b3318"></a><!-- doxytag: member="uip.h::uip_ipaddr_cmp" ref="g210e629f7252e4bc8458cbdf260b3318" args="(addr1, addr2)" --><p> 382*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 383*10465441SEvalZero <tr> 384*10465441SEvalZero <td class="mdRow"> 385*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 386*10465441SEvalZero <tr> 387*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr_cmp </td> 388*10465441SEvalZero <td class="md" valign="top">( </td> 389*10465441SEvalZero <td class="md" nowrap valign="top">addr1, <tr> 390*10465441SEvalZero <td class="md" nowrap align="right"></td> 391*10465441SEvalZero <td class="md"></td> 392*10465441SEvalZero <td class="md" nowrap>addr2 </td> 393*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 394*10465441SEvalZero <td class="md" valign="top"> ) </td> 395*10465441SEvalZero <td class="md" nowrap></td> 396*10465441SEvalZero </tr> 397*10465441SEvalZero </table> 398*10465441SEvalZero </td> 399*10465441SEvalZero </tr> 400*10465441SEvalZero</table> 401*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 402*10465441SEvalZero <tr> 403*10465441SEvalZero <td> 404*10465441SEvalZero 405*10465441SEvalZero </td> 406*10465441SEvalZero <td> 407*10465441SEvalZero 408*10465441SEvalZero<p> 409*10465441SEvalZeroCompare two IP addresses. 410*10465441SEvalZero<p> 411*10465441SEvalZeroCompares two IP addresses.<p> 412*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr1, ipaddr2; 413*10465441SEvalZero 414*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr1, 192,16,1,2); 415*10465441SEvalZero <span class="keywordflow">if</span>(<a class="code" href="a00148.html#g210e629f7252e4bc8458cbdf260b3318">uip_ipaddr_cmp</a>(&ipaddr2, &ipaddr1)) { 416*10465441SEvalZero printf(<span class="stringliteral">"They are the same"</span>); 417*10465441SEvalZero } 418*10465441SEvalZero</pre></div><p> 419*10465441SEvalZero<dl compact><dt><b>Parameters:</b></dt><dd> 420*10465441SEvalZero <table border="0" cellspacing="2" cellpadding="0"> 421*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr1</em> </td><td>The first IP address. </td></tr> 422*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr2</em> </td><td>The second IP address. </td></tr> 423*10465441SEvalZero </table> 424*10465441SEvalZero</dl> 425*10465441SEvalZero 426*10465441SEvalZero<p> 427*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00911">911</a> of file <a class="el" href="a00202.html">uip.h</a>. 428*10465441SEvalZero<p> 429*10465441SEvalZeroReferenced by <a class="el" href="a00204.html#l00278">uip_arp_arpin()</a>, <a class="el" href="a00204.html#l00354">uip_arp_out()</a>, and <a class="el" href="a00201.html#l00682">uip_process()</a>. </td> 430*10465441SEvalZero </tr> 431*10465441SEvalZero</table> 432*10465441SEvalZero<a class="anchor" name="g769512993b7b27271909d6daa4748b60"></a><!-- doxytag: member="uip.h::uip_ipaddr_copy" ref="g769512993b7b27271909d6daa4748b60" args="(dest, src)" --><p> 433*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 434*10465441SEvalZero <tr> 435*10465441SEvalZero <td class="mdRow"> 436*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 437*10465441SEvalZero <tr> 438*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr_copy </td> 439*10465441SEvalZero <td class="md" valign="top">( </td> 440*10465441SEvalZero <td class="md" nowrap valign="top">dest, <tr> 441*10465441SEvalZero <td class="md" nowrap align="right"></td> 442*10465441SEvalZero <td class="md"></td> 443*10465441SEvalZero <td class="md" nowrap>src </td> 444*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 445*10465441SEvalZero <td class="md" valign="top"> ) </td> 446*10465441SEvalZero <td class="md" nowrap></td> 447*10465441SEvalZero </tr> 448*10465441SEvalZero </table> 449*10465441SEvalZero </td> 450*10465441SEvalZero </tr> 451*10465441SEvalZero</table> 452*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 453*10465441SEvalZero <tr> 454*10465441SEvalZero <td> 455*10465441SEvalZero 456*10465441SEvalZero </td> 457*10465441SEvalZero <td> 458*10465441SEvalZero 459*10465441SEvalZero<p> 460*10465441SEvalZeroCopy an IP address to another IP address. 461*10465441SEvalZero<p> 462*10465441SEvalZeroCopies an IP address from one place to another.<p> 463*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr1, ipaddr2; 464*10465441SEvalZero 465*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr1, 192,16,1,2); 466*10465441SEvalZero <a class="code" href="a00148.html#g769512993b7b27271909d6daa4748b60">uip_ipaddr_copy</a>(&ipaddr2, &ipaddr1); 467*10465441SEvalZero</pre></div><p> 468*10465441SEvalZero<dl compact><dt><b>Parameters:</b></dt><dd> 469*10465441SEvalZero <table border="0" cellspacing="2" cellpadding="0"> 470*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>The destination for the copy. </td></tr> 471*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>The source from where to copy. </td></tr> 472*10465441SEvalZero </table> 473*10465441SEvalZero</dl> 474*10465441SEvalZero<dl compact><dt><b>Examples: </b></dt><dd> 475*10465441SEvalZero<a class="el" href="a00038.html#a187">smtp.c</a>.</dl> 476*10465441SEvalZero<p> 477*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00882">882</a> of file <a class="el" href="a00202.html">uip.h</a>. 478*10465441SEvalZero<p> 479*10465441SEvalZeroReferenced by <a class="el" href="a00174.html#l00216">smtp_configure()</a>, <a class="el" href="a00204.html#l00354">uip_arp_out()</a>, and <a class="el" href="a00201.html#l00682">uip_process()</a>. </td> 480*10465441SEvalZero </tr> 481*10465441SEvalZero</table> 482*10465441SEvalZero<a class="anchor" name="g969d7fff37a979737da045e0d538a9bd"></a><!-- doxytag: member="uip.h::uip_ipaddr_mask" ref="g969d7fff37a979737da045e0d538a9bd" args="(dest, src, mask)" --><p> 483*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 484*10465441SEvalZero <tr> 485*10465441SEvalZero <td class="mdRow"> 486*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 487*10465441SEvalZero <tr> 488*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr_mask </td> 489*10465441SEvalZero <td class="md" valign="top">( </td> 490*10465441SEvalZero <td class="md" nowrap valign="top">dest, <tr> 491*10465441SEvalZero <td class="md" nowrap align="right"></td> 492*10465441SEvalZero <td class="md"></td> 493*10465441SEvalZero <td class="md" nowrap>src, <tr> 494*10465441SEvalZero <td class="md" nowrap align="right"></td> 495*10465441SEvalZero <td class="md"></td> 496*10465441SEvalZero <td class="md" nowrap>mask </td> 497*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 498*10465441SEvalZero <td class="md" valign="top"> ) </td> 499*10465441SEvalZero <td class="md" nowrap></td> 500*10465441SEvalZero </tr> 501*10465441SEvalZero </table> 502*10465441SEvalZero </td> 503*10465441SEvalZero </tr> 504*10465441SEvalZero</table> 505*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 506*10465441SEvalZero <tr> 507*10465441SEvalZero <td> 508*10465441SEvalZero 509*10465441SEvalZero </td> 510*10465441SEvalZero <td> 511*10465441SEvalZero 512*10465441SEvalZero<p> 513*10465441SEvalZeroMask out the network part of an IP address. 514*10465441SEvalZero<p> 515*10465441SEvalZeroMasks out the network part of an IP address, given the address and the netmask.<p> 516*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr1, ipaddr2, netmask; 517*10465441SEvalZero 518*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr1, 192,16,1,2); 519*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&netmask, 255,255,255,0); 520*10465441SEvalZero <a class="code" href="a00148.html#g969d7fff37a979737da045e0d538a9bd">uip_ipaddr_mask</a>(&ipaddr2, &ipaddr1, &netmask); 521*10465441SEvalZero</pre></div><p> 522*10465441SEvalZeroIn the example above, the variable "ipaddr2" will contain the IP address 192.168.1.0.<p> 523*10465441SEvalZero<dl compact><dt><b>Parameters:</b></dt><dd> 524*10465441SEvalZero <table border="0" cellspacing="2" cellpadding="0"> 525*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>Where the result is to be placed. </td></tr> 526*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>The IP address. </td></tr> 527*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>mask</em> </td><td>The netmask. </td></tr> 528*10465441SEvalZero </table> 529*10465441SEvalZero</dl> 530*10465441SEvalZero 531*10465441SEvalZero<p> 532*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00972">972</a> of file <a class="el" href="a00202.html">uip.h</a>. </td> 533*10465441SEvalZero </tr> 534*10465441SEvalZero</table> 535*10465441SEvalZero<a class="anchor" name="g6b16e0bac41821c1fbe0c267071642f0"></a><!-- doxytag: member="uip.h::uip_ipaddr_maskcmp" ref="g6b16e0bac41821c1fbe0c267071642f0" args="(addr1, addr2, mask)" --><p> 536*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 537*10465441SEvalZero <tr> 538*10465441SEvalZero <td class="mdRow"> 539*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 540*10465441SEvalZero <tr> 541*10465441SEvalZero <td class="md" nowrap valign="top">#define uip_ipaddr_maskcmp </td> 542*10465441SEvalZero <td class="md" valign="top">( </td> 543*10465441SEvalZero <td class="md" nowrap valign="top">addr1, <tr> 544*10465441SEvalZero <td class="md" nowrap align="right"></td> 545*10465441SEvalZero <td class="md"></td> 546*10465441SEvalZero <td class="md" nowrap>addr2, <tr> 547*10465441SEvalZero <td class="md" nowrap align="right"></td> 548*10465441SEvalZero <td class="md"></td> 549*10465441SEvalZero <td class="md" nowrap>mask </td> 550*10465441SEvalZero <td class="mdname1" valign="top" nowrap> </td> 551*10465441SEvalZero <td class="md" valign="top"> ) </td> 552*10465441SEvalZero <td class="md" nowrap></td> 553*10465441SEvalZero </tr> 554*10465441SEvalZero </table> 555*10465441SEvalZero </td> 556*10465441SEvalZero </tr> 557*10465441SEvalZero</table> 558*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 559*10465441SEvalZero <tr> 560*10465441SEvalZero <td> 561*10465441SEvalZero 562*10465441SEvalZero </td> 563*10465441SEvalZero <td> 564*10465441SEvalZero 565*10465441SEvalZero<p> 566*10465441SEvalZeroCompare two IP addresses with netmasks. 567*10465441SEvalZero<p> 568*10465441SEvalZeroCompares two IP addresses with netmasks. The masks are used to mask out the bits that are to be compared.<p> 569*10465441SEvalZeroExample: <div class="fragment"><pre class="fragment"> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> ipaddr1, ipaddr2, mask; 570*10465441SEvalZero 571*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&mask, 255,255,255,0); 572*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr1, 192,16,1,2); 573*10465441SEvalZero <a class="code" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(&ipaddr2, 192,16,1,3); 574*10465441SEvalZero <span class="keywordflow">if</span>(<a class="code" href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0">uip_ipaddr_maskcmp</a>(&ipaddr1, &ipaddr2, &mask)) { 575*10465441SEvalZero printf(<span class="stringliteral">"They are the same"</span>); 576*10465441SEvalZero } 577*10465441SEvalZero</pre></div><p> 578*10465441SEvalZero<dl compact><dt><b>Parameters:</b></dt><dd> 579*10465441SEvalZero <table border="0" cellspacing="2" cellpadding="0"> 580*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr1</em> </td><td>The first IP address. </td></tr> 581*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>addr2</em> </td><td>The second IP address. </td></tr> 582*10465441SEvalZero <tr><td valign="top"></td><td valign="top"><em>mask</em> </td><td>The netmask. </td></tr> 583*10465441SEvalZero </table> 584*10465441SEvalZero</dl> 585*10465441SEvalZero 586*10465441SEvalZero<p> 587*10465441SEvalZeroDefinition at line <a class="el" href="a00202.html#l00941">941</a> of file <a class="el" href="a00202.html">uip.h</a>. 588*10465441SEvalZero<p> 589*10465441SEvalZeroReferenced by <a class="el" href="a00204.html#l00354">uip_arp_out()</a>. </td> 590*10465441SEvalZero </tr> 591*10465441SEvalZero</table> 592*10465441SEvalZero<hr><h2>Function Documentation</h2> 593*10465441SEvalZero<a class="anchor" name="ga22b04cac8cf283ca12f028578bebc06"></a><!-- doxytag: member="uip.h::htons" ref="ga22b04cac8cf283ca12f028578bebc06" args="(u16_t val)" --><p> 594*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0"> 595*10465441SEvalZero <tr> 596*10465441SEvalZero <td class="mdRow"> 597*10465441SEvalZero <table cellpadding="0" cellspacing="0" border="0"> 598*10465441SEvalZero <tr> 599*10465441SEvalZero <td class="md" nowrap valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> htons </td> 600*10465441SEvalZero <td class="md" valign="top">( </td> 601*10465441SEvalZero <td class="md" nowrap valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td> 602*10465441SEvalZero <td class="mdname1" valign="top" nowrap> <em>val</em> </td> 603*10465441SEvalZero <td class="md" valign="top"> ) </td> 604*10465441SEvalZero <td class="md" nowrap></td> 605*10465441SEvalZero </tr> 606*10465441SEvalZero </table> 607*10465441SEvalZero </td> 608*10465441SEvalZero </tr> 609*10465441SEvalZero</table> 610*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0"> 611*10465441SEvalZero <tr> 612*10465441SEvalZero <td> 613*10465441SEvalZero 614*10465441SEvalZero </td> 615*10465441SEvalZero <td> 616*10465441SEvalZero 617*10465441SEvalZero<p> 618*10465441SEvalZeroConvert 16-bit quantity from host byte order to network byte order. 619*10465441SEvalZero<p> 620*10465441SEvalZeroThis function is primarily used for converting variables from host byte order to network byte order. For converting constants to network byte order, use the <a class="el" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS()</a> macro instead. <dl compact><dt><b>Examples: </b></dt><dd> 621*10465441SEvalZero<a class="el" href="a00042.html#a70">example-mainloop-with-arp.c</a>, <a class="el" href="a00046.html#a137">resolv.c</a>, and <a class="el" href="a00040.html#a274">webclient.c</a>.</dl> 622*10465441SEvalZero<p> 623*10465441SEvalZeroDefinition at line <a class="el" href="a00201.html#l01882">1882</a> of file <a class="el" href="a00201.html">uip.c</a>. 624*10465441SEvalZero<p> 625*10465441SEvalZeroReferences <a class="el" href="a00202.html#l01070">HTONS</a>. 626*10465441SEvalZero<p> 627*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00311">uip_chksum()</a>, <a class="el" href="a00201.html#l00407">uip_connect()</a>, <a class="el" href="a00201.html#l00318">uip_ipchksum()</a>, <a class="el" href="a00201.html#l00473">uip_udp_new()</a>, and <a class="el" href="a00180.html#l00140">webclient_get()</a>. </td> 628*10465441SEvalZero </tr> 629*10465441SEvalZero</table> 630*10465441SEvalZero<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:02 2006 for uIP 1.0 by 631*10465441SEvalZero<a href="http://www.doxygen.org/index.html"> 632*10465441SEvalZero<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> 633*10465441SEvalZero</body> 634*10465441SEvalZero</html> 635