
Added initial support Xilinx Embedded Software. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
295 lines
15 KiB
HTML
Executable file
295 lines
15 KiB
HTML
Executable file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>2014.1_doc: U:/hsm_publish/HEAD/data/embeddedsw/ThirdParty/sw_services/lwip140_v2_0/src/lwip-1.4.0/src/core/ipv4/ip_addr.c File Reference</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.4.5 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li><a href="dirs.html"><span>Directories</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
</ul></div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul></div>
|
|
<div class="nav">
|
|
<a class="el" href="dir_U_3A_2F.html">U:</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2F.html">hsm_publish</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2F.html">HEAD</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2F.html">data</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2F.html">embeddedsw</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2F.html">ThirdParty</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2F.html">sw_services</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2F.html">lwip140_v2_0</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2F.html">src</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2F.html">lwip-1.4.0</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2Fsrc_2F.html">src</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2Fsrc_2Fcore_2F.html">core</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2Fsrc_2Fcore_2Fipv4_2F.html">ipv4</a></div>
|
|
<h1>ip_addr.c File Reference</h1><code>#include "<a class="el" href="opt_8h.html">lwip/opt.h</a>"</code><br>
|
|
<code>#include "lwip/ip_addr.h"</code><br>
|
|
<code>#include "lwip/netif.h"</code><br>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip__addr_8c.html#ce5d681d0866f07d722ac76f716acbf4">ip4_addr_isbroadcast</a> (u32_t addr, const struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip__addr_8c.html#aa4a1e460c9c3a708880e6d0558564fb">ip4_addr_netmask_valid</a> (u32_t netmask)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip__addr_8c.html#30cba96d09cacc31f4551dabf270e0cf">ipaddr_addr</a> (const char *cp)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ip__addr_8c.html#3152d15ab4eae2ec3f118a7f00b94de8">ipaddr_aton</a> (const char *cp, ip_addr_t *addr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="ip__addr_8c.html#df054662ddcc17e4c8c2f155d058a07a">ipaddr_ntoa</a> (const ip_addr_t *addr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="ip__addr_8c.html#a20ccdc3f33151b2f0f63425ea68b426">ipaddr_ntoa_r</a> (const ip_addr_t *addr, char *buf, int buflen)</td></tr>
|
|
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
This is the IPv4 address tools implementation. <hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="ce5d681d0866f07d722ac76f716acbf4"></a><!-- doxytag: member="ip_addr.c::ip4_addr_isbroadcast" ref="ce5d681d0866f07d722ac76f716acbf4" args="(u32_t addr, const struct netif *netif)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">u8_t ip4_addr_isbroadcast </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">u32_t </td>
|
|
<td class="mdname" nowrap> <em>addr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>const struct <a class="el" href="structnetif.html">netif</a> * </td>
|
|
<td class="mdname" nowrap> <em>netif</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md"></td>
|
|
<td class="md">) </td>
|
|
<td class="md" colspan="2"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Determine if an address is a broadcast address on a network interface<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address to be checked </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>netif</em> </td><td>the network interface against which the address is checked </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>returns non-zero if the address is a broadcast address </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="aa4a1e460c9c3a708880e6d0558564fb"></a><!-- doxytag: member="ip_addr.c::ip4_addr_netmask_valid" ref="aa4a1e460c9c3a708880e6d0558564fb" args="(u32_t netmask)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">u8_t ip4_addr_netmask_valid </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">u32_t </td>
|
|
<td class="mdname1" valign="top" nowrap> <em>netmask</em> </td>
|
|
<td class="md" valign="top"> ) </td>
|
|
<td class="md" nowrap></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Checks if a netmask is valid (starting with ones, then only zeros)<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>netmask</em> </td><td>the IPv4 netmask to check (in network byte order!) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>1 if the netmask is valid, 0 if it is not </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="30cba96d09cacc31f4551dabf270e0cf"></a><!-- doxytag: member="ip_addr.c::ipaddr_addr" ref="30cba96d09cacc31f4551dabf270e0cf" args="(const char *cp)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">u32_t ipaddr_addr </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">const char * </td>
|
|
<td class="mdname1" valign="top" nowrap> <em>cp</em> </td>
|
|
<td class="md" valign="top"> ) </td>
|
|
<td class="md" nowrap></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Ascii internet address interpretation routine. The value returned is in network order.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>cp</em> </td><td>IP address in ascii represenation (e.g. "127.0.0.1") </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>ip address in network order </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="3152d15ab4eae2ec3f118a7f00b94de8"></a><!-- doxytag: member="ip_addr.c::ipaddr_aton" ref="3152d15ab4eae2ec3f118a7f00b94de8" args="(const char *cp, ip_addr_t *addr)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">int ipaddr_aton </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">const char * </td>
|
|
<td class="mdname" nowrap> <em>cp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>ip_addr_t * </td>
|
|
<td class="mdname" nowrap> <em>addr</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md"></td>
|
|
<td class="md">) </td>
|
|
<td class="md" colspan="2"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Check whether "cp" is a valid ascii representation of an Internet address and convert to a binary address. Returns 1 if the address is valid, 0 if not. This replaces inet_addr, the return value from which cannot distinguish between failure and a local broadcast address.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>cp</em> </td><td>IP address in ascii represenation (e.g. "127.0.0.1") </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>pointer to which to save the ip address in network order </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>1 if cp could be converted to addr, 0 on failure </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="df054662ddcc17e4c8c2f155d058a07a"></a><!-- doxytag: member="ip_addr.c::ipaddr_ntoa" ref="df054662ddcc17e4c8c2f155d058a07a" args="(const ip_addr_t *addr)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">char* ipaddr_ntoa </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">const ip_addr_t * </td>
|
|
<td class="mdname1" valign="top" nowrap> <em>addr</em> </td>
|
|
<td class="md" valign="top"> ) </td>
|
|
<td class="md" nowrap></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Convert numeric IP address into decimal dotted ASCII representation. returns ptr to static buffer; not reentrant!<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>ip address in network order to convert </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>pointer to a global static (!) buffer that holds the ASCII represenation of addr </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="a20ccdc3f33151b2f0f63425ea68b426"></a><!-- doxytag: member="ip_addr.c::ipaddr_ntoa_r" ref="a20ccdc3f33151b2f0f63425ea68b426" args="(const ip_addr_t *addr, char *buf, int buflen)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">char* ipaddr_ntoa_r </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">const ip_addr_t * </td>
|
|
<td class="mdname" nowrap> <em>addr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>char * </td>
|
|
<td class="mdname" nowrap> <em>buf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>int </td>
|
|
<td class="mdname" nowrap> <em>buflen</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md"></td>
|
|
<td class="md">) </td>
|
|
<td class="md" colspan="2"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Same as ipaddr_ntoa, but reentrant since a user-supplied buffer is used.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>ip address in network order to convert </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>target buffer where the string is stored </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>buflen</em> </td><td>length of buf </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>either pointer to buf which now holds the ASCII representation of addr or NULL if buf was too small </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<hr size="1"><address style="align: right;"><small>Generated on Fri Feb 14 12:33:21 2014 for 2014.1_doc by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
|
|
</body>
|
|
</html>
|