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

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

?? tcpip.c

?? 基于AT91SAM7x256的硬件平臺的WEB服務器源碼(A&shy DS版本, ucOS_II+LWIP+自己編寫的DNS查詢工具)
?? 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> * */#include "lwip/opt.h"#include "lwip/sys.h"#include "lwip/memp.h"#include "lwip/pbuf.h"#include "lwip/ip.h"#include "lwip/ip_frag.h"#include "lwip/udp.h"#include "lwip/tcp.h"#include "lwip/tcpip.h"static void (* tcpip_init_done)(void *arg) = NULL;static void *tcpip_init_done_arg;static sys_mbox_t mbox;#if LWIP_TCPstatic int tcpip_tcp_timer_active = 0;static voidtcpip_tcp_timer(void *arg){  (void)arg;  /* call TCP timer handler */  tcp_tmr();  /* timer still needed? */  if (tcp_active_pcbs || tcp_tw_pcbs) {    /* restart timer */    sys_timeout(TCP_TMR_INTERVAL, tcpip_tcp_timer, NULL);  } else {    /* disable timer */    tcpip_tcp_timer_active = 0;  }}#if !NO_SYSvoidtcp_timer_needed(void){  /* timer is off but needed again? */  if (!tcpip_tcp_timer_active && (tcp_active_pcbs || tcp_tw_pcbs)) {    /* enable and start timer */    tcpip_tcp_timer_active = 1;    sys_timeout(TCP_TMR_INTERVAL, tcpip_tcp_timer, NULL);  }}#endif /* !NO_SYS */#endif /* LWIP_TCP */#if IP_REASSEMBLYstatic voidip_timer(void *data){  LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip: ip_reass_tmr()\n"));  ip_reass_tmr();  sys_timeout(1000, ip_timer, NULL);}#endifstatic voidtcpip_thread(void *arg){  struct tcpip_msg *msg;  (void)arg;  ip_init();#if LWIP_UDP    udp_init();#endif#if LWIP_TCP  tcp_init();#endif#if IP_REASSEMBLY  sys_timeout(1000, ip_timer, NULL);#endif  if (tcpip_init_done != NULL) {    tcpip_init_done(tcpip_init_done_arg);  }  while (1) {                          /* MAIN Loop */    sys_mbox_fetch(mbox, (void *)&msg);    switch (msg->type) {    case TCPIP_MSG_API:            api_msg_input(msg->msg.apimsg);      break;    case TCPIP_MSG_INPUT:      ip_input(msg->msg.inp.p, msg->msg.inp.netif);      break;    case TCPIP_MSG_CALLBACK:      msg->msg.cb.f(msg->msg.cb.ctx);      break;    default:      break;    }    memp_free(MEMP_TCPIP_MSG, msg);  }}err_ttcpip_input(struct pbuf *p, struct netif *inp){  struct tcpip_msg *msg;    msg = memp_malloc(MEMP_TCPIP_MSG);  if (msg == NULL) {    pbuf_free(p);        return ERR_MEM;    }    msg->type = TCPIP_MSG_INPUT;  msg->msg.inp.p = p;  msg->msg.inp.netif = inp;  sys_mbox_post(mbox, msg);  return ERR_OK;}err_ttcpip_callback(void (*f)(void *ctx), void *ctx){  struct tcpip_msg *msg;    msg = memp_malloc(MEMP_TCPIP_MSG);  if (msg == NULL) {    return ERR_MEM;    }    msg->type = TCPIP_MSG_CALLBACK;  msg->msg.cb.f = f;  msg->msg.cb.ctx = ctx;  sys_mbox_post(mbox, msg);  return ERR_OK;}voidtcpip_apimsg(struct api_msg *apimsg){  struct tcpip_msg *msg;  msg = memp_malloc(MEMP_TCPIP_MSG);  if (msg == NULL) {    memp_free(MEMP_API_MSG, apimsg);    return;  }  msg->type = TCPIP_MSG_API;  msg->msg.apimsg = apimsg;  sys_mbox_post(mbox, msg);}voidtcpip_init(void (* initfunc)(void *), void *arg){  tcpip_init_done = initfunc;  tcpip_init_done_arg = arg;  mbox = sys_mbox_new();  sys_thread_new(tcpip_thread, NULL, TCPIP_THREAD_PRIO);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品麻豆网站| 色噜噜狠狠一区二区三区果冻| 午夜精品福利视频网站| 亚洲在线一区二区三区| 加勒比av一区二区| 99这里只有精品| 欧美日韩一区二区三区不卡| 久久免费美女视频| 亚洲一区二区三区四区中文字幕 | 欧美日韩高清在线| 国产欧美精品一区二区色综合| 亚洲一区二区视频| 欧美一区二区三区思思人| 欧美激情一区二区三区不卡 | 国产精品久久久久久久第一福利| 亚洲成av人片| 91啪九色porn原创视频在线观看| 日韩久久久久久| 亚洲精品五月天| 国产一区二区久久| 欧美日韩你懂的| 久久精品免费看| 欧美日韩国产精选| 久久精品国产99国产精品| 国产欧美日韩三区| 欧美日韩久久不卡| 国产美女娇喘av呻吟久久| 亚洲精品视频在线观看免费| 欧美精品 日韩| 婷婷丁香久久五月婷婷| 精品成人a区在线观看| 天堂久久一区二区三区| 日本乱码高清不卡字幕| 美国精品在线观看| 欧美一区二区福利视频| 99久久伊人久久99| 久久综合狠狠综合久久综合88| 美女网站色91| 亚洲天堂免费看| 色综合久久99| 亚洲欧美一区二区三区极速播放| 不卡av电影在线播放| 国产精品天天看| 91精品国产欧美一区二区18 | 91亚洲资源网| 国产乱码精品一品二品| 久久久蜜桃精品| 欧美日韩电影在线| 成人动漫在线一区| 久久精品国产亚洲一区二区三区| 亚洲欧美激情插| 国产精品丝袜在线| 精品日产卡一卡二卡麻豆| 国产精品一二三四五| 午夜精品在线看| 亚洲视频综合在线| 日本一区二区免费在线| 精品不卡在线视频| 日韩欧美电影在线| 欧美日韩国产综合一区二区 | 精品一区二区免费在线观看| 亚洲成人精品一区| 亚洲国产精品尤物yw在线观看| 欧美日韩中文国产| 色欧美片视频在线观看| 91在线视频官网| 91丨九色丨尤物| av色综合久久天堂av综合| 成人综合激情网| 一区二区三区日韩在线观看| 在线不卡欧美精品一区二区三区| 91免费版在线| 99精品视频一区| 91浏览器入口在线观看| 色综合久久中文综合久久97| 91色综合久久久久婷婷| 91最新地址在线播放| 色av成人天堂桃色av| 在线观看亚洲专区| 国产精品一二三区| 国产东北露脸精品视频| 午夜精品久久久久久久久久久 | 国产精品少妇自拍| 欧美经典一区二区| 欧美国产日韩精品免费观看| 国产精品五月天| 中文字幕在线观看一区| 日韩欧美卡一卡二| 精品欧美一区二区久久 | 激情成人午夜视频| 亚洲免费av高清| 亚洲综合小说图片| 水蜜桃久久夜色精品一区的特点| 天使萌一区二区三区免费观看| 偷拍日韩校园综合在线| 蜜臀av国产精品久久久久| 国产精品一区专区| 99精品视频中文字幕| 欧美体内she精高潮| 成人激情校园春色| 色综合久久久久综合| 欧美人体做爰大胆视频| 精品日产卡一卡二卡麻豆| 欧美国产日韩a欧美在线观看| 亚洲欧美日韩系列| 日韩高清在线电影| 五月综合激情网| 精品一区二区三区不卡| 波多野洁衣一区| 欧美日韩一级二级| 久久精品免费在线观看| 精品播放一区二区| 亚洲免费观看高清在线观看| 午夜免费欧美电影| 国产不卡高清在线观看视频| 九九**精品视频免费播放| 粉嫩高潮美女一区二区三区| 欧日韩精品视频| 久久久久久久久99精品| 亚洲午夜电影在线| 国产一区二区视频在线| 在线免费av一区| 精品国产乱码久久久久久久| 亚洲欧美经典视频| 国内精品在线播放| 在线观看免费成人| 欧美激情在线看| 日韩精品成人一区二区三区 | 一本一道综合狠狠老| 91精品国产色综合久久不卡电影| 亚洲国产精品ⅴa在线观看| 午夜精品久久久久久久久久久 | 日本一区二区三区dvd视频在线| 亚洲一区中文在线| av亚洲精华国产精华| 精品成人一区二区三区四区| 五月天网站亚洲| 972aa.com艺术欧美| 国产亚洲一本大道中文在线| 天天影视涩香欲综合网| 91视频在线看| 国产日韩精品一区二区浪潮av| 天天色 色综合| 色猫猫国产区一区二在线视频| 国产免费观看久久| 裸体一区二区三区| 欧美日韩国产在线播放网站| 亚洲欧美另类久久久精品2019| 国产乱对白刺激视频不卡 | 精品久久久久一区| 天堂va蜜桃一区二区三区漫画版| 色老头久久综合| 亚洲欧美一区二区在线观看| 国产大陆亚洲精品国产| 日韩亚洲欧美在线| 久久青草欧美一区二区三区| 麻豆久久久久久| 91精品国产综合久久久蜜臀图片| 久久久777精品电影网影网 | 国产精品自产自拍| 精品粉嫩aⅴ一区二区三区四区| 日韩和欧美的一区| 91精品国产综合久久福利软件 | 亚洲国产精品成人久久综合一区 | 99久久综合狠狠综合久久| 欧美国产一区二区在线观看| 国产精品99久久久久久久vr| 久久一区二区三区国产精品| 精品在线观看免费| 亚洲精品一区二区三区影院| 国产在线精品一区二区三区不卡| 26uuu欧美| 国产一区二区三区四区五区入口| 精品国产免费人成电影在线观看四季| 美女视频黄免费的久久| 精品国免费一区二区三区| 免费观看久久久4p| 成人午夜av在线| 国产精品久久久久久久久搜平片| 成人激情黄色小说| 日韩毛片高清在线播放| 色综合天天综合网国产成人综合天 | 成人黄色免费短视频| 亚洲欧洲精品一区二区精品久久久| 成人av在线网| 一区二区三区四区乱视频| 欧美无砖专区一中文字| 美女在线一区二区| 国产日韩欧美综合一区| 91最新地址在线播放| 亚洲午夜免费视频| 日韩欧美国产高清| 懂色av一区二区三区蜜臀 | 亚洲一区二区三区四区在线免费观看 | 亚洲日本韩国一区| 制服丝袜日韩国产| 国产精品亚洲一区二区三区妖精 | 一级女性全黄久久生活片免费| 欧美亚洲高清一区| 精品一区二区三区免费观看|