亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? icmp.c

?? 基于AT91SAM7x256的硬件平臺(tái)的WEB服務(wù)器源碼(A&shy DS版本, ucOS_II+LWIP+自己編寫(xiě)的DNS查詢(xún)工具)
?? C
字號(hào):
/* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, *    this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, *    this list of conditions and the following disclaimer in the documentation *    and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. * * Author: Adam Dunkels <adam@sics.se> * *//* Some ICMP messages should be passed to the transport protocols. This   is not implemented. */#include <string.h>#include "lwip/opt.h"#include "lwip/icmp.h"#include "lwip/inet.h"#include "lwip/ip.h"#include "lwip/def.h"#include "lwip/stats.h"#include "lwip/snmp.h"voidicmp_input(struct pbuf *p, struct netif *inp){  u8_t type;  u8_t code;  struct icmp_echo_hdr *iecho;  struct ip_hdr *iphdr;  struct ip_addr tmpaddr;  u16_t hlen;  ICMP_STATS_INC(icmp.recv);  snmp_inc_icmpinmsgs();  iphdr = p->payload;  hlen = IPH_HL(iphdr) * 4;  if (pbuf_header(p, -((s16_t)hlen)) || (p->tot_len < sizeof(u16_t)*2)) {    LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: short ICMP (%"U16_F" bytes) received\n", p->tot_len));    pbuf_free(p);    ICMP_STATS_INC(icmp.lenerr);    snmp_inc_icmpinerrors();    return;  }  type = *((u8_t *)p->payload);  code = *(((u8_t *)p->payload)+1);  switch (type) {  case ICMP_ECHO:    /* broadcast or multicast destination address? */    if (ip_addr_isbroadcast(&iphdr->dest, inp) || ip_addr_ismulticast(&iphdr->dest)) {      LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: Not echoing to multicast or broadcast pings\n"));      ICMP_STATS_INC(icmp.err);      pbuf_free(p);      return;    }    LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: ping\n"));    if (p->tot_len < sizeof(struct icmp_echo_hdr)) {      LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: bad ICMP echo received\n"));      pbuf_free(p);      ICMP_STATS_INC(icmp.lenerr);      snmp_inc_icmpinerrors();      return;    }    iecho = p->payload;    if (inet_chksum_pbuf(p) != 0) {      LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: checksum failed for received ICMP echo\n"));      pbuf_free(p);      ICMP_STATS_INC(icmp.chkerr);      snmp_inc_icmpinerrors();      return;    }    tmpaddr.addr = iphdr->src.addr;    iphdr->src.addr = iphdr->dest.addr;    iphdr->dest.addr = tmpaddr.addr;    ICMPH_TYPE_SET(iecho, ICMP_ER);    /* adjust the checksum */    if (iecho->chksum >= htons(0xffff - (ICMP_ECHO << 8))) {      iecho->chksum += htons(ICMP_ECHO << 8) + 1;    } else {      iecho->chksum += htons(ICMP_ECHO << 8);    }    ICMP_STATS_INC(icmp.xmit);    /* increase number of messages attempted to send */    snmp_inc_icmpoutmsgs();    /* increase number of echo replies attempted to send */    snmp_inc_icmpoutechoreps();    pbuf_header(p, hlen);    ip_output_if(p, &(iphdr->src), IP_HDRINCL,		 IPH_TTL(iphdr), 0, IP_PROTO_ICMP, inp);    break;  default:  LWIP_DEBUGF(ICMP_DEBUG, ("icmp_input: ICMP type %"S16_F" code %"S16_F" not supported.\n", (s16_t)type, (s16_t)code));    ICMP_STATS_INC(icmp.proterr);    ICMP_STATS_INC(icmp.drop);  }  pbuf_free(p);}voidicmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t){  struct pbuf *q;  struct ip_hdr *iphdr;  struct icmp_dur_hdr *idur;  q = pbuf_alloc(PBUF_IP, 8 + IP_HLEN + 8, PBUF_RAM);  /* ICMP header + IP header + 8 bytes of data */  iphdr = p->payload;  idur = q->payload;  ICMPH_TYPE_SET(idur, ICMP_DUR);  ICMPH_CODE_SET(idur, t);  memcpy((u8_t *)q->payload + 8, p->payload, IP_HLEN + 8);  /* calculate checksum */  idur->chksum = 0;  idur->chksum = inet_chksum(idur, q->len);  ICMP_STATS_INC(icmp.xmit);  /* increase number of messages attempted to send */  snmp_inc_icmpoutmsgs();  /* increase number of destination unreachable messages attempted to send */  snmp_inc_icmpoutdestunreachs();  ip_output(q, NULL, &(iphdr->src),	    ICMP_TTL, 0, IP_PROTO_ICMP);  pbuf_free(q);}#if IP_FORWARDvoidicmp_time_exceeded(struct pbuf *p, enum icmp_te_type t){  struct pbuf *q;  struct ip_hdr *iphdr;  struct icmp_te_hdr *tehdr;  q = pbuf_alloc(PBUF_IP, 8 + IP_HLEN + 8, PBUF_RAM);  iphdr = p->payload;  LWIP_DEBUGF(ICMP_DEBUG, ("icmp_time_exceeded from "));  ip_addr_debug_print(ICMP_DEBUG, &(iphdr->src));  LWIP_DEBUGF(ICMP_DEBUG, (" to "));  ip_addr_debug_print(ICMP_DEBUG, &(iphdr->dest));  LWIP_DEBUGF(ICMP_DEBUG, ("\n"));  tehdr = q->payload;  ICMPH_TYPE_SET(tehdr, ICMP_TE);  ICMPH_CODE_SET(tehdr, t);  /* copy fields from original packet */  memcpy((u8_t *)q->payload + 8, (u8_t *)p->payload, IP_HLEN + 8);  /* calculate checksum */  tehdr->chksum = 0;  tehdr->chksum = inet_chksum(tehdr, q->len);  ICMP_STATS_INC(icmp.xmit);  /* increase number of messages attempted to send */  snmp_inc_icmpoutmsgs();  /* increase number of destination unreachable messages attempted to send */  snmp_inc_icmpouttimeexcds();  ip_output(q, NULL, &(iphdr->src),	    ICMP_TTL, 0, IP_PROTO_ICMP);  pbuf_free(q);}#endif /* IP_FORWARD */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品新av中文字幕| 精品系列免费在线观看| 久久日一线二线三线suv| 99精品1区2区| 激情小说欧美图片| 一区二区三区毛片| 国产欧美va欧美不卡在线| 欧美日本韩国一区二区三区视频| 国产宾馆实践打屁股91| 亚洲123区在线观看| 国产欧美日韩另类一区| 欧美一区二区精品久久911| 91免费看视频| 成人性生交大片免费看视频在线| 喷水一区二区三区| 亚洲成av人片www| 成人免费一区二区三区视频| 久久久久国产成人精品亚洲午夜| 在线播放中文字幕一区| 91久久精品一区二区| 成人黄色综合网站| 国产福利一区二区三区在线视频| 蜜桃传媒麻豆第一区在线观看| 一区二区成人在线| 中文字幕亚洲一区二区av在线| 久久精品一区八戒影视| 欧美精品一区二区三区一线天视频| 欧美日韩综合不卡| 欧洲精品视频在线观看| caoporn国产精品| 国产成人精品一区二| 狠狠色狠狠色合久久伊人| 美女一区二区视频| 麻豆国产精品777777在线| 青青草国产成人99久久| 日韩激情av在线| 免费观看30秒视频久久| 美女性感视频久久| 久久精品99国产精品日本| 日本成人超碰在线观看| 久久国产精品无码网站| 国产麻豆视频精品| 国产在线不卡一区| 国产精品 欧美精品| 成人免费福利片| 91色视频在线| 欧美伊人久久久久久午夜久久久久| 91国偷自产一区二区开放时间 | 亚洲一区二区三区四区在线免费观看 | 亚洲欧美色一区| 日本一区二区三区在线观看| 欧美二区三区91| 日本丰满少妇一区二区三区| 色婷婷av一区二区三区大白胸| 成人av网站免费| 成人性视频免费网站| 国产成人高清在线| 成人在线视频一区| 成人午夜精品一区二区三区| 成人性色生活片免费看爆迷你毛片| 国产一区二区三区日韩| 北条麻妃一区二区三区| jlzzjlzz亚洲日本少妇| 91在线免费看| 在线亚洲精品福利网址导航| 91久久国产最好的精华液| 色综合天天综合色综合av| 91丨porny丨最新| 91久久精品网| 宅男噜噜噜66一区二区66| 欧美一级高清大全免费观看| 日韩精品一区二| 日韩免费一区二区| 综合久久国产九一剧情麻豆| 亚洲欧美视频在线观看| 亚洲午夜私人影院| 视频一区二区三区入口| 蜜桃av一区二区三区电影| 亚洲综合色婷婷| 秋霞电影网一区二区| 免费人成在线不卡| 肉色丝袜一区二区| 精品在线你懂的| 成人免费va视频| av在线播放不卡| 色视频一区二区| 欧美高清dvd| 久久久久久久久久看片| 中文字幕一区二区三区精华液 | 欧美在线一二三| 欧美一区二区三区在线观看| 国产午夜精品福利| 一色屋精品亚洲香蕉网站| 亚洲综合一二区| 久久99久久久久久久久久久| 成人黄色网址在线观看| 欧美日韩一区二区在线观看| 精品日韩99亚洲| 亚洲乱码精品一二三四区日韩在线| 亚洲大片精品永久免费| 国产精品伊人色| 欧美午夜精品免费| 6080yy午夜一二三区久久| 国产精品网站在线| 亚洲电影激情视频网站| 国产一区二区三区免费| 91黄色激情网站| 久久久久久**毛片大全| 亚洲国产视频网站| 国产成人夜色高潮福利影视| 欧美日韩电影在线| 国产精品婷婷午夜在线观看| 日韩高清不卡在线| 91视频观看视频| 欧美mv日韩mv| 亚洲成人动漫精品| 99久久伊人网影院| 欧美mv日韩mv国产网站| 夜夜精品视频一区二区| 国产99久久久国产精品潘金 | 亚洲人妖av一区二区| 亚洲一二三四在线| 国产在线看一区| 91精品国产欧美一区二区| 国产精品久久99| 久久国内精品视频| 欧美日韩久久一区| 国产精品色呦呦| 欧美精品一区二区三区蜜桃| 中文乱码免费一区二区| 麻豆精品视频在线观看视频| 欧美性极品少妇| 中文字幕一区二区三区色视频 | 欧美一级视频精品观看| 一区二区免费在线| av一区二区三区| 91精品在线免费观看| 免费xxxx性欧美18vr| 欧美日韩一区在线| 一区二区三区毛片| 色综合久久中文字幕| 国产精品午夜免费| 国产不卡在线视频| 久久久国际精品| 精品在线一区二区| 精品日韩成人av| 麻豆中文一区二区| 911精品国产一区二区在线| 一区二区三国产精华液| 91视频com| 亚洲少妇30p| 国产精品综合久久| 国产精品乱人伦中文| 丁香六月久久综合狠狠色| 国产日韩精品一区| 国产成人av电影免费在线观看| 精品国产乱码久久久久久久久| 免费在线观看一区二区三区| 日韩欧美在线网站| 午夜成人免费视频| 精品国产欧美一区二区| 加勒比av一区二区| 中文字幕第一区第二区| 99国产精品国产精品毛片| 国产精品国产三级国产aⅴ入口| 99久久伊人久久99| 亚洲va欧美va国产va天堂影院| 欧美色图天堂网| 视频一区国产视频| 欧美成人vr18sexvr| 狠狠色狠狠色合久久伊人| 久久久久久毛片| av综合在线播放| 一区二区久久久久| 欧美福利一区二区| 中文字幕制服丝袜一区二区三区| 国产乱码精品一区二区三区av| 中文字幕乱码日本亚洲一区二区| av爱爱亚洲一区| 亚洲电影一区二区三区| 91精品国产黑色紧身裤美女| 激情亚洲综合在线| 久久久久9999亚洲精品| 欧美人xxxx| 国产在线国偷精品产拍免费yy| 日韩三级中文字幕| 国产黄色91视频| 国产亚洲美州欧州综合国| 国产成人精品免费视频网站| 国产精品久久久久久久午夜片| 91久久一区二区| 久久国产精品一区二区| 自拍偷自拍亚洲精品播放| 56国语精品自产拍在线观看| 国产精品自拍毛片| 奇米影视7777精品一区二区| 国产精品色哟哟网站| 欧美一区日本一区韩国一区| 国产成人免费在线观看不卡| 亚洲国产精品一区二区久久恐怖片|