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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? icmp.c

?? “華為模塊(GTM900)+ ARM(LPC2104) + LWIP1.1”以PPP 方式實現GPRS 無線數據傳輸
?? C
字號:
/* * 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 "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){  unsigned char type;  unsigned char 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 (%u 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 %d code %d not supported.\n", (int)type, (int)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((char *)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((char *)q->payload + 8, (char *)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 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青娱乐精品视频| 日韩欧美中文字幕一区| 久久精品国产亚洲高清剧情介绍 | 亚洲妇女屁股眼交7| 国产精品免费观看视频| 久久精品人人做人人爽97| 欧美极品aⅴ影院| 日韩欧美中文字幕公布| 日韩欧美电影一区| 日韩三级电影网址| 日韩一区二区电影在线| 日韩一区二区三区视频在线观看 | 免费一级欧美片在线观看| 性做久久久久久久免费看| 亚洲成年人影院| 亚洲国产日韩a在线播放性色| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲美女少妇撒尿| 亚洲一二三级电影| 日本伊人精品一区二区三区观看方式| 亚洲444eee在线观看| 免费在线观看成人| 国产一区二区久久| va亚洲va日韩不卡在线观看| 99久久99久久免费精品蜜臀| 91麻豆高清视频| 欧美日韩国产欧美日美国产精品| 欧美一区二区三区爱爱| 久久久美女毛片| 国产精品福利av| 亚洲一区二区三区视频在线播放 | 黄一区二区三区| 国产91丝袜在线18| 欧美最猛性xxxxx直播| 91精品国产高清一区二区三区| 久久亚洲一区二区三区明星换脸 | 性欧美大战久久久久久久久| 日本在线不卡一区| 国产成人av电影在线| 色先锋资源久久综合| 91精品免费在线观看| 久久人人爽人人爽| 一区二区三区在线视频播放| 日本va欧美va精品| 日韩有码一区二区三区| 国产一区二区在线观看视频| 91美女福利视频| 日韩精品专区在线影院重磅| 日韩美女视频一区二区| 日本午夜一区二区| 97久久精品人人爽人人爽蜜臀| 欧美一区二区三区免费大片| 亚洲天堂网中文字| 精品一区二区三区免费| 色噜噜夜夜夜综合网| 久久综合资源网| 视频精品一区二区| 色综合天天综合给合国产| 久久影视一区二区| 偷窥少妇高潮呻吟av久久免费| www.欧美色图| 久久美女艺术照精彩视频福利播放| 亚洲午夜一区二区| caoporn国产一区二区| 久久久美女毛片| 日韩电影在线一区二区三区| 在线观看国产精品网站| 一区精品在线播放| 国产成人8x视频一区二区| 欧美成人三级电影在线| 婷婷久久综合九色综合绿巨人 | 亚洲第一福利一区| 99re在线视频这里只有精品| 国产欧美综合在线观看第十页| 六月婷婷色综合| 日韩欧美电影一区| 婷婷综合五月天| 欧美乱熟臀69xxxxxx| 一二三区精品视频| 在线免费观看一区| 一区二区三区成人在线视频| 色呦呦国产精品| 亚洲最大成人网4388xx| 色综合网色综合| 一区二区不卡在线播放| 欧美性淫爽ww久久久久无| 一区二区三区美女视频| 欧美日韩视频第一区| 国产精品99久久久久久似苏梦涵| 91精品国产综合久久小美女| 琪琪久久久久日韩精品| 欧美电视剧免费观看| 国产乱人伦偷精品视频不卡| 久久久久国产免费免费| 风流少妇一区二区| 中文字幕欧美一| 一本在线高清不卡dvd| 亚洲综合色噜噜狠狠| 3751色影院一区二区三区| 日韩不卡一区二区三区 | 精品系列免费在线观看| 国产日本一区二区| 97久久精品人人爽人人爽蜜臀| 亚洲电影你懂得| 日韩你懂的在线观看| 丁香一区二区三区| 一区二区三区在线视频免费| 欧美大片日本大片免费观看| 国产成人夜色高潮福利影视| 一区二区三区加勒比av| 日韩一区二区免费电影| 国产99久久久久| 一区二区三区四区亚洲| 精品国产sm最大网站免费看| 成人免费av网站| 日韩精品亚洲一区二区三区免费| 精品成人一区二区三区四区| 91网上在线视频| 麻豆国产一区二区| 亚洲女人的天堂| 日韩女优av电影| 欧美色综合久久| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲中国最大av网站| 欧美成人精品高清在线播放| 91麻豆精品国产自产在线| 国产精品第四页| 国产毛片精品国产一区二区三区| 在线精品观看国产| 中文字幕亚洲一区二区av在线| 极品少妇xxxx偷拍精品少妇| 3751色影院一区二区三区| 亚洲视频小说图片| 色激情天天射综合网| 一区二区三区欧美在线观看| 成人h动漫精品一区二区 | 亚洲高清免费在线| 欧美日韩高清影院| 激情图片小说一区| 久久一二三国产| 91在线播放网址| 麻豆成人在线观看| 欧美成人福利视频| 欧美性一二三区| 福利电影一区二区三区| 在线看国产一区二区| 精品国产一区二区三区四区四| 亚洲一区中文在线| 精品久久久久久久久久久久包黑料| 91蜜桃免费观看视频| 欧美一级高清片| 亚洲一区二区黄色| 免费观看日韩电影| 一区二区高清免费观看影视大全| 国产精品天天摸av网| 精品第一国产综合精品aⅴ| 欧美一卡二卡三卡| 欧美精品色一区二区三区| 欧美一a一片一级一片| 欧美在线短视频| 91电影在线观看| 在线观看不卡视频| 蜜桃av噜噜一区二区三区小说| 亚洲精品在线三区| 在线免费观看日本一区| 99精品热视频| 国产福利一区在线观看| 青娱乐精品在线视频| 亚洲一区视频在线| 夜夜精品浪潮av一区二区三区| 日韩欧美一区电影| 捆绑紧缚一区二区三区视频| 欧美激情中文不卡| 精品一区二区三区免费视频| 欧美激情一区二区三区| 国产精品热久久久久夜色精品三区 | 视频一区在线播放| 奇米四色…亚洲| 国产在线精品国自产拍免费| 成人动漫av在线| 欧美日韩中字一区| 精品久久久久香蕉网| 欧美国产亚洲另类动漫| 亚洲欧美日韩精品久久久久| 午夜精品一区在线观看| 激情综合网av| 色综合天天综合狠狠| 欧美日韩夫妻久久| 久久夜色精品国产噜噜av| 国产精品大尺度| 亚洲成人黄色小说| 国产毛片一区二区| 日本伦理一区二区| 91精品国产综合久久久久| 久久伊99综合婷婷久久伊| 国产精品白丝在线| 日本成人中文字幕在线视频| 成人天堂资源www在线| 欧美精品粉嫩高潮一区二区| 国产三级欧美三级|