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

📄 a00201.html

📁 uip-1.0,give everyone who want.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00102"></a>00102    <a class="code" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>((UIP_IPADDR2 &lt;&lt; 8) | UIP_IPADDR3)};<a name="l00103"></a>00103 <span class="keyword">const</span> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> <a class="code" href="a00150.html#g20df5c82f2a15a508c19e505b5d9de2b">uip_draddr</a> =<a name="l00104"></a>00104   {<a class="code" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>((UIP_DRIPADDR0 &lt;&lt; 8) | UIP_DRIPADDR1),<a name="l00105"></a>00105    <a class="code" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>((UIP_DRIPADDR2 &lt;&lt; 8) | UIP_DRIPADDR3)};<a name="l00106"></a>00106 <span class="keyword">const</span> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> <a class="code" href="a00150.html#g3237be0d9ec457de0177689ee23c0d5c">uip_netmask</a> =<a name="l00107"></a>00107   {<a class="code" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>((UIP_NETMASK0 &lt;&lt; 8) | UIP_NETMASK1),<a name="l00108"></a>00108    <a class="code" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>((UIP_NETMASK2 &lt;&lt; 8) | UIP_NETMASK3)};<a name="l00109"></a>00109 <span class="preprocessor">#else</span><a name="l00110"></a><a class="code" href="a00150.html#g3237be0d9ec457de0177689ee23c0d5c">00110</a> <span class="preprocessor"></span><a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> <a class="code" href="a00150.html#g7d3673f52f5846b6961d23b150decd54">uip_hostaddr</a>, <a class="code" href="a00150.html#g20df5c82f2a15a508c19e505b5d9de2b">uip_draddr</a>, uip_netmask;<a name="l00111"></a>00111 <span class="preprocessor">#endif </span><span class="comment">/* UIP_FIXEDADDR */</span><a name="l00112"></a>00112 <a name="l00113"></a>00113 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> all_ones_addr =<a name="l00114"></a>00114 <span class="preprocessor">#if UIP_CONF_IPV6</span><a name="l00115"></a>00115 <span class="preprocessor"></span>  {0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};<a name="l00116"></a>00116 <span class="preprocessor">#else </span><span class="comment">/* UIP_CONF_IPV6 */</span><a name="l00117"></a>00117   {0xffff,0xffff};<a name="l00118"></a>00118 <span class="preprocessor">#endif </span><span class="comment">/* UIP_CONF_IPV6 */</span><a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> all_zeroes_addr =<a name="l00120"></a>00120 <span class="preprocessor">#if UIP_CONF_IPV6</span><a name="l00121"></a>00121 <span class="preprocessor"></span>  {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};<a name="l00122"></a>00122 <span class="preprocessor">#else </span><span class="comment">/* UIP_CONF_IPV6 */</span><a name="l00123"></a>00123   {0x0000,0x0000};<a name="l00124"></a>00124 <span class="preprocessor">#endif </span><span class="comment">/* UIP_CONF_IPV6 */</span><a name="l00125"></a>00125 <a name="l00126"></a>00126 <a name="l00127"></a>00127 <span class="preprocessor">#if UIP_FIXEDETHADDR</span><a name="l00128"></a>00128 <span class="preprocessor"></span><span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="a00089.html">uip_eth_addr</a> <a class="code" href="a00150.html#g499bb98a0b4ae9a98553ede81317606d">uip_ethaddr</a> = {{UIP_ETHADDR0,<a name="l00129"></a>00129                                           UIP_ETHADDR1,<a name="l00130"></a>00130                                           UIP_ETHADDR2,<a name="l00131"></a>00131                                           UIP_ETHADDR3,<a name="l00132"></a>00132                                           UIP_ETHADDR4,<a name="l00133"></a>00133                                           UIP_ETHADDR5}};<a name="l00134"></a>00134 <span class="preprocessor">#else</span><a name="l00135"></a><a class="code" href="a00152.html#g499bb98a0b4ae9a98553ede81317606d">00135</a> <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="a00089.html">uip_eth_addr</a> <a class="code" href="a00150.html#g499bb98a0b4ae9a98553ede81317606d">uip_ethaddr</a> = {{0,0,0,0,0,0}};<a name="l00136"></a>00136 <span class="preprocessor">#endif</span><a name="l00137"></a>00137 <span class="preprocessor"></span><a name="l00138"></a>00138 <span class="preprocessor">#ifndef UIP_CONF_EXTERNAL_BUFFER</span><a name="l00139"></a><a class="code" href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">00139</a> <span class="preprocessor"></span><a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> <a class="code" href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a>[<a class="code" href="a00153.html#g3589822ecb9d9c4145209756396b8a6b">UIP_BUFSIZE</a> + 2];   <span class="comment">/* The packet buffer that contains</span><a name="l00140"></a>00140 <span class="comment">                                    incoming packets. */</span><a name="l00141"></a>00141 <span class="preprocessor">#endif </span><span class="comment">/* UIP_CONF_EXTERNAL_BUFFER */</span><a name="l00142"></a>00142 <a name="l00143"></a><a class="code" href="a00150.html#g561b8eda32e059d4e7397f776268cc63">00143</a> <span class="keywordtype">void</span> *<a class="code" href="a00150.html#g561b8eda32e059d4e7397f776268cc63">uip_appdata</a>;               <span class="comment">/* The uip_appdata pointer points to</span><a name="l00144"></a>00144 <span class="comment">                                    application data. */</span><a name="l00145"></a><a class="code" href="a00150.html#ga05a3dde2048480fa3ab2a5961898d18">00145</a> <span class="keywordtype">void</span> *<a class="code" href="a00150.html#ga05a3dde2048480fa3ab2a5961898d18">uip_sappdata</a>;              <span class="comment">/* The uip_appdata pointer points to</span><a name="l00146"></a>00146 <span class="comment">                                    the application data which is to</span><a name="l00147"></a>00147 <span class="comment">                                    be sent. */</span><a name="l00148"></a>00148 <span class="preprocessor">#if UIP_URGDATA &gt; 0</span><a name="l00149"></a>00149 <span class="preprocessor"></span><span class="keywordtype">void</span> *uip_urgdata;               <span class="comment">/* The uip_urgdata pointer points to</span><a name="l00150"></a>00150 <span class="comment">                                    urgent data (out-of-band data), if</span><a name="l00151"></a>00151 <span class="comment">                                    present. */</span><a name="l00152"></a>00152 <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> uip_urglen, uip_surglen;<a name="l00153"></a>00153 <span class="preprocessor">#endif </span><span class="comment">/* UIP_URGDATA &gt; 0 */</span><a name="l00154"></a>00154 <a name="l00155"></a><a class="code" href="a00150.html#g5b5615dc240daed20949c0fded2b4679">00155</a> <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> <a class="code" href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1">uip_len</a>, <a class="code" href="a00150.html#g5b5615dc240daed20949c0fded2b4679">uip_slen</a>;<a name="l00156"></a>00156                              <span class="comment">/* The uip_len is either 8 or 16 bits,</span><a name="l00157"></a>00157 <span class="comment">                                depending on the maximum packet</span><a name="l00158"></a>00158 <span class="comment">                                size. */</span><a name="l00159"></a>00159 <a name="l00160"></a><a class="code" href="a00150.html#gb4ef6b00924990e7a293f66715b6d1d1">00160</a> <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> <a class="code" href="a00150.html#gb4ef6b00924990e7a293f66715b6d1d1">uip_flags</a>;     <span class="comment">/* The uip_flags variable is used for</span><a name="l00161"></a>00161 <span class="comment">                                communication between the TCP/IP stack</span><a name="l00162"></a>00162 <span class="comment">                                and the application program. */</span><a name="l00163"></a><a class="code" href="a00150.html#g788ffac72342f6172343d7f8099cbe1a">00163</a> <span class="keyword">struct </span><a class="code" href="a00088.html">uip_conn</a> *<a class="code" href="a00088.html">uip_conn</a>;   <span class="comment">/* uip_conn always points to the current</span><a name="l00164"></a>00164 <span class="comment">                                connection. */</span><a name="l00165"></a>00165 <a name="l00166"></a><a class="code" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">00166</a> <span class="keyword">struct </span><a class="code" href="a00150.html#g788ffac72342f6172343d7f8099cbe1a">uip_conn</a> <a class="code" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a>[<a class="code" href="a00153.html#gf5fe83be78b78b9e7d9e7f1e34ab1cc5">UIP_CONNS</a>];<a name="l00167"></a>00167                              <span class="comment">/* The uip_conns array holds all TCP</span><a name="l00168"></a>00168 <span class="comment">                                connections. */</span><a name="l00169"></a><a class="code" href="a00150.html#g236d5c7872f59c8fe7b701c7252b976e">00169</a> <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> <a class="code" href="a00150.html#g236d5c7872f59c8fe7b701c7252b976e">uip_listenports</a>[<a class="code" href="a00153.html#g8f4ebd8ef6c0ea665ed351d87fec09fd">UIP_LISTENPORTS</a>];<a name="l00170"></a>00170                              <span class="comment">/* The uip_listenports list all currently</span><a name="l00171"></a>00171 <span class="comment">                                listning ports. */</span><a name="l00172"></a>00172 <span class="preprocessor">#if UIP_UDP</span><a name="l00173"></a><a class="code" href="a00150.html#g210f227119fc972e6222c9cb452e15a9">00173</a> <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="a00095.html">uip_udp_conn</a> *<a class="code" href="a00095.html">uip_udp_conn</a>;<a name="l00174"></a><a class="code" href="a00150.html#geb533744817cf6695d75293369c2248b">00174</a> <span class="keyword">struct </span><a class="code" href="a00150.html#g210f227119fc972e6222c9cb452e15a9">uip_udp_conn</a> <a class="code" href="a00150.html#geb533744817cf6695d75293369c2248b">uip_udp_conns</a>[<a class="code" href="a00153.html#g196379ceb1219a99f4495e41ccc9bbfb">UIP_UDP_CONNS</a>];<a name="l00175"></a>00175 <span class="preprocessor">#endif </span><span class="comment">/* UIP_UDP */</span><a name="l00176"></a>00176 <a name="l00177"></a>00177 <span class="keyword">static</span> <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> ipid;           <span class="comment">/* Ths ipid variable is an increasing</span><a name="l00178"></a>00178 <span class="comment">                                number that is used for the IP ID</span><a name="l00179"></a>00179 <span class="comment">                                field. */</span><a name="l00180"></a>00180 <a name="l00181"></a><a class="code" href="a00150.html#g22f140b02c354dfebcc7ad481c3bcd68">00181</a> <span class="keywordtype">void</span> <a class="code" href="a00145.html#g22f140b02c354dfebcc7ad481c3bcd68">uip_setipid</a>(<a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> <span class="keywordtype">id</span>) { ipid = id; }<a name="l00182"></a>00182 <a name="l00183"></a>00183 <span class="keyword">static</span> <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> iss[4];          <span class="comment">/* The iss variable is used for the TCP</span><a name="l00184"></a>00184 <span class="comment">                                initial sequence number. */</span><a name="l00185"></a>00185 <a name="l00186"></a>00186 <span class="preprocessor">#if UIP_ACTIVE_OPEN</span><a name="l00187"></a>00187 <span class="preprocessor"></span><span class="keyword">static</span> <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> lastport;       <span class="comment">/* Keeps track of the last port used for</span><a name="l00188"></a>00188 <span class="comment">                                a new connection. */</span><a name="l00189"></a>00189 <span class="preprocessor">#endif </span><span class="comment">/* UIP_ACTIVE_OPEN */</span><a name="l00190"></a>00190 <a name="l00191"></a>00191 <span class="comment">/* Temporary variables. */</span><a name="l00192"></a><a class="code" href="a00150.html#g2a0cf5d86c58fab216414ce59bf1fea1">00192</a> <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> <a class="code" href="a00151.html#g2a0cf5d86c58fab216414ce59bf1fea1">uip_acc32</a>[4];<a name="l00193"></a>00193 <span class="keyword">static</span> <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> c, opt;<a name="l00194"></a>00194 <span class="keyword">static</span> <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> tmp16;<a name="l00195"></a>00195 <a name="l00196"></a>00196 <span class="comment">/* Structures and definitions. */</span><a name="l00197"></a><a class="code" href="a00150.html#g88e60aa2cf23e1c65d630701db08c743">00197</a> <span class="preprocessor">#define TCP_FIN 0x01</span><a name="l00198"></a><a class="code" href="a00150.html#g6020613f5062417d9811cfa837215c83">00198</a> <span class="preprocessor"></span><span class="preprocessor">#define TCP_SYN 0x02</span><a name="l00199"></a><a class="code" href="a00150.html#g5ca559def464ef20d8b1f7d32f2f160d">00199</a> <span class="preprocessor"></span><span class="preprocessor">#define TCP_RST 0x04</span><a name="l00200"></a><a class="code" href="a00150.html#g1320fd0006a2f70138bc2d0018dda829">00200</a> <span class="preprocessor"></span><span class="preprocessor">#define TCP_PSH 0x08</span><a name="l00201"></a><a class="code" href="a00150.html#g44b3b1ab31a403ba28ec135adfcbefef">00201</a> <span class="preprocessor"></span><span class="preprocessor">#define TCP_ACK 0x10</span><a name="l00202"></a><a class="code" href="a00150.html#gc84f499cba8a02fc0e306c10b2acabf0">00202</a> <span class="preprocessor"></span><span class="preprocessor">#define TCP_URG 0x20</span><a name="l00203"></a><a class="code" href="a00150.html#g1425d4a0c2760adb653a04c0fb137a8d">00203</a> <span class="preprocessor"></span><span class="preprocessor">#define TCP_CTL 0x3f</span><a name="l00204"></a>00204 <span class="preprocessor"></span><a name="l00205"></a><a class="code" href="a00150.html#g1215163245304bad20d6c5608ad75ab7">00205</a> <span class="preprocessor">#define TCP_OPT_END     0   </span><span class="comment">/* End of TCP options list */</span><a name="l00206"></a><a class="code" href="a00150.html#g9f1822e1d231235edacad691f3cb7bbb">00206</a> <span class="preprocessor">#define TCP_OPT_NOOP    1   </span><span class="comment">/* "No-operation" TCP option */</span><a name="l00207"></a><a class="code" href="a00150.html#g691688604655ea8943d15f14c60027d8">00207</a> <span class="preprocessor">#define TCP_OPT_MSS     2   </span><span class="comment">/* Maximum segment size TCP option */</span><a name="l00208"></a>00208 <a name="l00209"></a><a class="code" href="a00150.html#g12f3bf821224b8e7b48a57ed3cea15cf">00209</a> <span class="preprocessor">#define TCP_OPT_MSS_LEN 4   </span><span class="comment">/* Length of TCP MSS option. */</span><a name="l00210"></a>00210 <a name="l00211"></a><a class="code" href="a00150.html#g5c5b1834e497f53ad0ef947bbe9777fa">00211</a> <span class="preprocessor">#define ICMP_ECHO_REPLY 0</span><a name="l00212"></a><a class="code" href="a00150.html#gd58231410d58e34b455328b888a9e73c">00212</a> <span class="preprocessor"></span><span class="preprocessor">#define ICMP_ECHO       8</span><a name="l00213"></a>00213 <span class="preprocessor"></span><a name="l00214"></a><a class="code" href="a00150.html#g207d17b633cd095120a74bc1f2257b17">00214</a> <span class="preprocessor">#define ICMP6_ECHO_REPLY             129</span><a name="l00215"></a><a class="code" href="a00150.html#g4cc3e223b63f27b546d62e9a258dba5a">00215</a> <span class="preprocessor"></span><span class="preprocessor">#define ICMP6_ECHO                   128</span><a name="l00216"></a><a class="code" href="a00150.html#g1cea57e3ea526f210b1068e6dcf7b4f4">00216</a> <span class="preprocessor"></span><span class="preprocessor">#define ICMP6_NEIGHBOR_SOLICITATION  135</span><a name="l00217"></a><a class="code" href="a00150.html#g62c03e0a308cc23929a80fe8d8f9dc1e">00217</a> <span class="preprocessor"></span><span class="preprocessor">#define ICMP6_NEIGHBOR_ADVERTISEMENT 136</span><a name="l00218"></a>00218 <span class="preprocessor"></span><a name="l00219"></a><a class="code" href="a00150.html#g1d3211dbbdfb22d6a47b60dddcf945e8">00219</a> <span class="preprocessor">#define ICMP6_FLAG_S (1 &lt;&lt; 6)</span><a name="l00220"></a>00220 <span class="preprocessor"></span><a name="l00221"></a><a class="code" href="a00150.html#g42288d5c3cf4b10becefec657f441e54">00221</a> <span class="preprocessor">#define ICMP6_OPTION_SOURCE_LINK_ADDRESS 1</span><a name="l00222"></a><a class="code" href="a00150.html#g8387881de3a8bfd3c0d57b9d04ac9b7e">00222</a> <span class="preprocessor"></span><span class="preprocessor">#define ICMP6_OPTION_TARGET_LINK_ADDRESS 2</span>

⌨️ 快捷键说明

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