⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a00160.html

📁 UIP完整的协议栈
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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>uIP 1.0: DNS resolver</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.6 --><div class="tabs">  <ul>    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="modules.html"><span>Modules</span></a></li>    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>    <li><a href="files.html"><span>Files</span></a></li>    <li><a href="examples.html"><span>Examples</span></a></li>  </ul></div><h1>DNS resolver<br><small>[<a class="el" href="a00143.html">Applications</a>]</small></h1><hr><a name="_details"></a><h2>Detailed Description</h2>The uIP DNS resolver functions are used to lookup a hostname and map it to a numerical IP address. <p>It maintains a list of resolved hostnames that can be queried with the <a class="el" href="a00160.html#g66d19181ad5fe8b8f7c84d1f1d46a2ec">resolv_lookup()</a> function. New hostnames can be resolved using the <a class="el" href="a00160.html#ge4dcbbe6c641d2e3b8537b479df5fc99">resolv_query()</a> function.<p>When a hostname has been resolved (or found to be non-existant), the resolver code calls a callback function called <a class="el" href="a00160.html#g6d9751d534453425c7a5a215d1d4414c">resolv_found()</a> that must be implemented by the module that uses the resolver. <p><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Files</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html">resolv.h</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DNS resolver code header file. <br></td></tr><p><tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html">resolv.c</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DNS host name to IP address resolver. <br></td></tr><p><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3d768e989e308144190ae1a5ddfa9726"></a><!-- doxytag: member="resolv::UIP_UDP_APPCALL" ref="g3d768e989e308144190ae1a5ddfa9726" args="" -->#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g3d768e989e308144190ae1a5ddfa9726">UIP_UDP_APPCALL</a>&nbsp;&nbsp;&nbsp;resolv_appcall</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g070d2ce7b6bb7e5c05602aa8c308d0c4"></a><!-- doxytag: member="resolv::NULL" ref="g070d2ce7b6bb7e5c05602aa8c308d0c4" args="" -->#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>&nbsp;&nbsp;&nbsp;(void *)0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gecf13b8dc783db2202ca5c34fe117fc3"></a><!-- doxytag: member="resolv::MAX_RETRIES" ref="gecf13b8dc783db2202ca5c34fe117fc3" args="" -->#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gecf13b8dc783db2202ca5c34fe117fc3">MAX_RETRIES</a>&nbsp;&nbsp;&nbsp;8</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g221d37ccde7e3fd0dd2c2eb0a6b15493"></a><!-- doxytag: member="resolv::RESOLV_ENTRIES" ref="g221d37ccde7e3fd0dd2c2eb0a6b15493" args="" -->#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g221d37ccde7e3fd0dd2c2eb0a6b15493">RESOLV_ENTRIES</a>&nbsp;&nbsp;&nbsp;4</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7c5359305008e9183b18d6ab75f568bf"></a><!-- doxytag: member="resolv::resolv_appcall" ref="g7c5359305008e9183b18d6ab75f568bf" args="(void)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g7c5359305008e9183b18d6ab75f568bf">resolv_appcall</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g6d9751d534453425c7a5a215d1d4414c">resolv_found</a> (char *name, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *ipaddr)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback function which is called when a hostname is found.  <a href="#g6d9751d534453425c7a5a215d1d4414c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gdf916e0c752f5cda70d0bddb2be422ba">resolv_conf</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *dnsserver)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configure which DNS server to use for queries.  <a href="#gdf916e0c752f5cda70d0bddb2be422ba"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g3191066cf8f76bd00b6843b77c37068f">resolv_getserver</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain the currently configured DNS server.  <a href="#g3191066cf8f76bd00b6843b77c37068f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb50f78bbf36d912d69f6c1685d0b40e3"></a><!-- doxytag: member="resolv::resolv_init" ref="gb50f78bbf36d912d69f6c1685d0b40e3" args="(void)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gb50f78bbf36d912d69f6c1685d0b40e3">resolv_init</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initalize the resolver. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#g66d19181ad5fe8b8f7c84d1f1d46a2ec">resolv_lookup</a> (char *name)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up a hostname in the array of known hostnames.  <a href="#g66d19181ad5fe8b8f7c84d1f1d46a2ec"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ge4dcbbe6c641d2e3b8537b479df5fc99">resolv_query</a> (char *name)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queues a name so that a question for the name will be sent out.  <a href="#ge4dcbbe6c641d2e3b8537b479df5fc99"></a><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="gdf916e0c752f5cda70d0bddb2be422ba"></a><!-- doxytag: member="resolv.h::resolv_conf" ref="gdf916e0c752f5cda70d0bddb2be422ba" args="(u16_t *dnsserver)" --><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">void resolv_conf           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *&nbsp;</td>          <td class="mdname1" valign="top" nowrap> <em>dnsserver</em>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>Configure which DNS server to use for queries. <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>dnsserver</em>&nbsp;</td><td>A pointer to a 4-byte representation of the IP address of the DNS server to be configured. </td></tr>  </table></dl><dl compact><dt><b>Examples: </b></dt><dd><a class="el" href="a00046.html#a151">resolv.c</a>, and <a class="el" href="a00047.html#a158">resolv.h</a>.</dl><p>Definition at line <a class="el" href="a00172.html#l00438">438</a> of file <a class="el" href="a00172.html">resolv.c</a>.<p>References <a class="el" href="a00202.html#l01070">HTONS</a>, <a class="el" href="a00172.html#l00069">NULL</a>, <a class="el" href="a00201.html#l00473">uip_udp_new()</a>, and <a class="el" href="a00202.html#l00775">uip_udp_remove</a>.    </td>  </tr></table><a class="anchor" name="g6d9751d534453425c7a5a215d1d4414c"></a><!-- doxytag: member="resolv.h::resolv_found" ref="g6d9751d534453425c7a5a215d1d4414c" args="(char *name, u16_t *ipaddr)" --><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">void resolv_found           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">char *&nbsp;</td>          <td class="mdname" nowrap> <em>name</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *&nbsp;</td>          <td class="mdname" nowrap> <em>ipaddr</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -