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

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

?? cgi.c

?? ADS下uIP到LPC22XX的移植(含RTL8019AS驅動)
?? C
字號:
/* * Copyright (c) 2001, Adam Dunkels. * 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. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *      This product includes software developed by Adam Dunkels. * 4. 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 uIP TCP/IP stack. * * $Id: cgi.c,v 1.21 2002/01/13 21:12:40 adam Exp $ * *//* * This file includes functions that are called by the web server * scripts. The functions takes no argument, and the return value is * interpreted as follows. A zero means that the function did not * complete and should be invoked for the next packet as well. A * non-zero value indicates that the function has completed and that * the web server should move along to the next script line. * */#include "uip.h"#include "cgi.h"#include "httpd.h"#include "fs.h"#include <stdio.h>#include <string.h>static u8_t print_stats(void);static u8_t file_stats(void);static u8_t tcp_stats(void);cgifunction cgitab[] = {  print_stats,   /* CGI function "a" */  file_stats,    /* CGI function "b" */  tcp_stats      /* CGI function "c" */};static const char closed[] =   /*  "CLOSED",*/{0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0};static const char syn_rcvd[] = /*  "SYN-RCVD",*/{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56,  0x44,  0};static const char syn_sent[] = /*  "SYN-SENT",*/{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e,  0x54,  0};static const char established[] = /*  "ESTABLISHED",*/{0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48,  0x45, 0x44, 0};static const char fin_wait_1[] = /*  "FIN-WAIT-1",*/{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,  0x54, 0x2d, 0x31, 0};static const char fin_wait_2[] = /*  "FIN-WAIT-2",*/{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,  0x54, 0x2d, 0x32, 0};static const char closing[] = /*  "CLOSING",*/{0x43, 0x4c, 0x4f, 0x53, 0x49,  0x4e, 0x47, 0};static const char time_wait[] = /*  "TIME-WAIT,"*/{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41,  0x49, 0x54, 0};static const char last_ack[] = /*  "LAST-ACK"*/{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43,  0x4b, 0};static const char *states[] = {  closed,  syn_rcvd,  syn_sent,  established,  fin_wait_1,  fin_wait_2,  closing,  time_wait,  last_ack};  /*-----------------------------------------------------------------------------------*//* print_stats: * * Prints out a part of the uIP statistics. The statistics data is * written into the uip_appdata buffer. It overwrites any incoming * packet. */static u8_tprint_stats(void){#if UIP_STATISTICS  u16_t i, j;  u8_t *buf;  u16_t *databytes;    if(uip_acked()) {    /* If our last data has been acknowledged, we move on the next       chunk of statistics. */    hs->count = hs->count + 4;    if(hs->count >= sizeof(struct uip_stats)/sizeof(u16_t)) {      /* We have printed out all statistics, so we return 1 to	 indicate that we are done. */      return 1;    }  }  /* Write part of the statistics into the uip_appdata buffer. */  databytes = (u16_t *)&uip_stat + hs->count;  buf       = (u8_t *)uip_appdata;  j = 4 + 1;  i = hs->count;  while (i < sizeof(struct uip_stats)/sizeof(u16_t) && --j > 0) {    sprintf((char *)buf, "%5u\r\n", *databytes);    ++databytes;    buf += 6;    ++i;  }  /* Send the data. */  uip_send(uip_appdata, buf - uip_appdata);    return 0;#else  return 1;#endif /* UIP_STATISTICS */}/*-----------------------------------------------------------------------------------*/static u8_tfile_stats(void){  /* We use sprintf() to print the number of file accesses to a     particular file (given as an argument to the function in the     script). We then use uip_send() to actually send the data. */  if(uip_acked()) {    return 1;  }  uip_send(uip_appdata, sprintf((char *)uip_appdata, "%5u", fs_count(&hs->script[4])));    return 0;}/*-----------------------------------------------------------------------------------*/static u8_ttcp_stats(void){  struct uip_conn *conn;    if(uip_acked()) {    /* If the previously sent data has been acknowledged, we move       forward one connection. */    if(++hs->count == UIP_CONNS) {      /* If all connections has been printed out, we are done and	 return 1. */      return 1;    }  }    conn = &uip_conns[hs->count];  if((conn->tcpstateflags & TS_MASK) == CLOSED) {    uip_send(uip_appdata, sprintf((char *)uip_appdata,				  "<tr align=\"center\"><td>-</td><td>-</td><td>%d</td><td>%d</td><td>%c %c</td></tr>\r\n",				  conn->nrtx,				  conn->timer,				  (conn->tcpstateflags & UIP_OUTSTANDING)? '*':' ',    				  (conn->tcpstateflags & UIP_STOPPED)? '!':' '));  } else {    uip_send(uip_appdata, sprintf((char *)uip_appdata,				  "<tr align=\"center\"><td>%d.%d.%d.%d:%d</td><td>%s</td><td>%d</td><td>%d</td><td>%c %c</td></tr>\r\n",				  ntohs(conn->ripaddr[0]) >> 8,				  ntohs(conn->ripaddr[0]) & 0xff,				  ntohs(conn->ripaddr[1]) >> 8,				  ntohs(conn->ripaddr[1]) & 0xff,				  ntohs(conn->rport),				  states[conn->tcpstateflags & TS_MASK],				  conn->nrtx,				  conn->timer,				  (conn->tcpstateflags & UIP_OUTSTANDING)? '*':' ',    				  (conn->tcpstateflags & UIP_STOPPED)? '!':' '));  }  return 0;}/*-----------------------------------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲va综合人人澡精品 | 肉色丝袜一区二区| 亚洲一区二区3| 日精品一区二区| 精品亚洲免费视频| 成人黄页毛片网站| 欧美亚洲综合色| 精品粉嫩aⅴ一区二区三区四区| 欧美国产在线观看| 亚洲最新在线观看| 激情文学综合网| 色综合久久久久网| 91精品国产欧美一区二区18| 国产欧美在线观看一区| 一卡二卡三卡日韩欧美| 久久99久久99| 色综合色综合色综合| 日韩欧美一卡二卡| 最新日韩av在线| 另类人妖一区二区av| 9色porny自拍视频一区二区| 日韩欧美美女一区二区三区| 国产精品不卡在线| 日本不卡一二三区黄网| 99视频精品在线| 日韩欧美三级在线| 亚洲精品国产a久久久久久| 久久er99精品| 欧美日韩成人一区| 亚洲欧美在线高清| 精品一区二区三区影院在线午夜| 色婷婷香蕉在线一区二区| www激情久久| 五月综合激情网| 波波电影院一区二区三区| 日韩三级视频在线观看| 亚洲精品免费看| 国产成人午夜高潮毛片| 7777精品伊人久久久大香线蕉| 国产精品久久三区| 精品综合免费视频观看| 欧美日韩一区二区欧美激情| 国产精品福利一区二区| 国内久久婷婷综合| 欧美一区二区在线视频| 亚洲精品视频一区| 99在线精品免费| 欧美男生操女生| 亚洲欧美经典视频| 国产精品一区二区久激情瑜伽| 欧美日韩国产天堂| 亚洲欧洲综合另类在线| 国产99一区视频免费| 日韩精品一区二区三区四区视频| 亚洲v精品v日韩v欧美v专区 | 中文字幕一区二区三区蜜月| 国内精品不卡在线| 欧美一区二区三区电影| 亚洲小少妇裸体bbw| 色婷婷av一区二区三区软件 | 91福利视频网站| 一区在线观看视频| 成+人+亚洲+综合天堂| 欧美韩国一区二区| 成人黄页毛片网站| 国产精品视频九色porn| 成人美女视频在线观看| 日本一二三四高清不卡| 国产高清精品久久久久| 国产校园另类小说区| 激情综合网最新| 2017欧美狠狠色| 国产精品资源站在线| 久久人人超碰精品| 国产精品亚洲а∨天堂免在线| 亚洲综合丝袜美腿| 日本电影亚洲天堂一区| 亚洲激情图片qvod| 欧美系列亚洲系列| 亚洲小少妇裸体bbw| 欧美视频你懂的| 亚洲图片欧美综合| 欧美群妇大交群中文字幕| 午夜久久久影院| 欧美一级专区免费大片| 久国产精品韩国三级视频| 久久综合久久综合亚洲| 国产精品一二三在| 欧美极品aⅴ影院| 91色乱码一区二区三区| 亚洲欧美日韩成人高清在线一区| 在线一区二区三区| 亚洲午夜电影在线观看| 欧美日韩国产大片| 日本欧美在线观看| 2023国产精华国产精品| 成人夜色视频网站在线观看| 亚洲视频在线一区观看| 91高清在线观看| 免费在线一区观看| 久久久777精品电影网影网| 波多野结衣视频一区| 亚洲国产日韩一区二区| 日韩一级大片在线观看| 成人免费视频一区二区| 亚洲黄网站在线观看| 欧美放荡的少妇| 国产一区二区三区日韩| 亚洲桃色在线一区| 69av一区二区三区| 国产成人小视频| 久久久综合网站| 久久品道一品道久久精品| 成人午夜视频在线观看| 亚洲免费观看高清在线观看| 欧美精品日韩综合在线| 国产一区二区三区香蕉| 中文字幕一区二区三区视频| 欧美日韩国产一级| 国产宾馆实践打屁股91| 亚洲国产一区在线观看| 久久亚洲二区三区| 在线观看91视频| 韩国女主播一区| 亚洲精品国产a久久久久久| 日韩欧美亚洲一区二区| 99久久伊人精品| 免费人成在线不卡| **欧美大码日韩| 日韩女优电影在线观看| 91在线视频免费观看| 日韩成人免费看| 亚洲乱码日产精品bd| 久久毛片高清国产| 欧美日韩在线直播| 成人黄色国产精品网站大全在线免费观看 | 日韩欧美的一区二区| 色综合咪咪久久| 精品亚洲国内自在自线福利| 亚洲一区二区三区四区在线观看| 成人免费黄色在线| 亚洲三级理论片| 久久综合资源网| 欧美日韩一区二区三区四区| 成人免费观看视频| 精品午夜久久福利影院| 亚洲制服丝袜在线| 国产精品久久久久久久久图文区 | 亚洲专区一二三| 中文字幕成人网| 精品国产乱码久久久久久蜜臀 | 亚洲精品日产精品乱码不卡| 久久精品亚洲国产奇米99| 欧美一区二区三区免费观看视频 | 亚洲欧美视频在线观看视频| 久久精品亚洲一区二区三区浴池| 宅男在线国产精品| 91福利视频在线| 91首页免费视频| 丁香一区二区三区| 黄色日韩网站视频| 日本网站在线观看一区二区三区| 亚洲视频一二区| 国产精品欧美久久久久一区二区| 精品久久国产字幕高潮| 3d成人h动漫网站入口| 欧美日韩日本视频| 色伊人久久综合中文字幕| 成人黄页毛片网站| 国产成a人亚洲精品| 国产精品99久久久久久有的能看 | 在线播放一区二区三区| 欧美亚男人的天堂| 91成人免费在线| 在线观看不卡视频| 欧美视频一二三区| 欧美三区在线观看| 欧美视频一区二区| 欧美日韩在线综合| 欧美久久久久久久久久| 欧美日韩五月天| 欧美日韩国产高清一区二区 | 奇米四色…亚洲| 日韩电影一区二区三区| 日本中文字幕一区二区有限公司| 日韩国产成人精品| 美女尤物国产一区| 精品一区二区精品| 国产九色精品成人porny| 国产东北露脸精品视频| 粉嫩aⅴ一区二区三区四区| 国产成人综合在线播放| 丰满放荡岳乱妇91ww| 春色校园综合激情亚洲| 99久久久精品免费观看国产蜜| jlzzjlzz欧美大全| 91视视频在线观看入口直接观看www | 成人激情图片网| 色综合天天综合狠狠| 日本电影欧美片|