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

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

?? telnetd-shell.c

?? FreeRTOS V4.2.1,增加了AVR32 UC3 和 LPC2368 的支持
?? C
字號:
/**
 * \addtogroup telnetd
 * @{
 */

/**
 * \file
 * An example telnet server shell
 * \author Adam Dunkels <adam@dunkels.com>
 */

/*
 * Copyright (c) 2003, 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. 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 Contiki desktop OS.
 *
 * $Id: telnetd-shell.c,v 1.1.2.1 2003/10/06 22:56:22 adam Exp $
 *
 */

#include "uip.h"
#include "telnetd.h"
#include <string.h>

struct ptentry {
  char c;
  void (* pfunc)(struct telnetd_state *s, char *str);
};

/*-----------------------------------------------------------------------------------*/
static void
parse(struct telnetd_state *s, register char *str, struct ptentry *t)
{
  register struct ptentry *p;
  char *sstr;

  sstr = str;
  
  /* Loop over the parse table entries in t in order to find one that
     matches the first character in str. */
  for(p = t; p->c != 0; ++p) {
    if(*str == p->c) {
      /* Skip rest of the characters up to the first space. */
      while(*str != ' ') {
	++str;
      }

      /* Skip all spaces.*/
      while(*str == ' ') {
	++str;
      }

      /* Call parse table entry function and return. */
      p->pfunc(s, str);
      return;
    }
  }

  /* Did not find matching entry in parse table. We just call the
     default handler supplied by the caller and return. */
  p->pfunc(s, str);
}
/*-----------------------------------------------------------------------------------*/
static void
exitt(struct telnetd_state *s, char *str)
{
  telnetd_close(s);
}
/*-----------------------------------------------------------------------------------*/
static void
inttostr(register char *str, unsigned int i)
{
  str[0] = '0' + i / 100;
  if(str[0] == '0') {
    str[0] = ' ';
  }
  str[1] = '0' + (i / 10) % 10;
  if(str[1] == '0') {
    str[1] = ' ';
  }
  str[2] = '0' + i % 10;
  str[3] = ' ';
  str[4] = 0;
}
/*-----------------------------------------------------------------------------------*/
static void
stats(struct telnetd_state *s, char *strr)
{
  char str[10];

  inttostr(str, uip_stat.ip.recv);
  telnetd_output(s, "IP packets received ", str);
  inttostr(str, uip_stat.ip.sent);
  telnetd_output(s, "IP packets sent ", str);
  inttostr(str, uip_stat.ip.drop);
  telnetd_output(s, "IP packets dropped ", str);

  inttostr(str, uip_stat.icmp.recv);
  telnetd_output(s, "ICMP packets received ", str);
  inttostr(str, uip_stat.icmp.sent);
  telnetd_output(s, "ICMP packets sent ", str);
  inttostr(str, uip_stat.icmp.drop);
  telnetd_output(s, "ICMP packets dropped ", str);

  inttostr(str, uip_stat.tcp.recv);
  telnetd_output(s, "TCP packets received ", str);
  inttostr(str, uip_stat.tcp.sent);
  telnetd_output(s, "TCP packets sent ", str);
  inttostr(str, uip_stat.tcp.drop);
  telnetd_output(s, "TCP packets dropped ", str);
  inttostr(str, uip_stat.tcp.rexmit);
  telnetd_output(s, "TCP packets retransmitted ", str);
  inttostr(str, uip_stat.tcp.synrst);
  telnetd_output(s, "TCP connection attempts ", str);
}
/*-----------------------------------------------------------------------------------*/
static void
help(struct telnetd_state *s, char *str)
{
  telnetd_output(s, "Available commands:", "");
  telnetd_output(s, "stats - show uIP statistics", "");
  telnetd_output(s, "exit  - exit shell", "");  
  telnetd_output(s, "?     - show this help", "");        
}
/*-----------------------------------------------------------------------------------*/
static void
none(struct telnetd_state *s, char *str)
{
  if(strlen(str) > 0) {
    telnetd_output(s, "Unknown command", "");
  }
}
/*-----------------------------------------------------------------------------------*/
static struct ptentry configparsetab[] =
  {{'s', stats},
   {'e', exitt},
   {'?', help},

   /* Default action */
   {0, none}};
/*-----------------------------------------------------------------------------------*/
void
telnetd_connected(struct telnetd_state *s)
{
  telnetd_output(s, "uIP command shell", "");
  telnetd_output(s, "Type '?' for help", "");  
  telnetd_prompt(s, "uIP-0.9> "); 
}
/*-----------------------------------------------------------------------------------*/
void
telnetd_input(struct telnetd_state *s, char *cmd)
{
  parse(s, cmd, configparsetab);
  telnetd_prompt(s, "uIP-0.9> "); 
}
/*-----------------------------------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码中文字幕综合| 亚洲一区免费在线观看| 九九国产精品视频| 日韩欧美一级在线播放| 久久电影网站中文字幕| 精品国产免费一区二区三区四区| 国产呦萝稀缺另类资源| 国产情人综合久久777777| 成人午夜私人影院| 亚洲欧美日韩一区二区| 欧美日韩一区视频| 免费人成精品欧美精品| 久久美女高清视频| www.亚洲色图| 亚洲高清不卡在线观看| 777a∨成人精品桃花网| 国内精品国产成人国产三级粉色| 国产欧美视频一区二区三区| 91麻豆精品在线观看| 亚洲一区二区三区中文字幕| 日韩欧美在线综合网| 丁香亚洲综合激情啪啪综合| 一区二区三区精品久久久| 91精品国产欧美一区二区| 激情六月婷婷综合| 伊人色综合久久天天人手人婷| 91精品国产手机| 福利视频网站一区二区三区| 一区二区免费在线| 欧美精品一区二区久久久| av在线一区二区| 日本亚洲三级在线| 成人免费一区二区三区视频| 欧美日韩国产不卡| 国产精品一区二区果冻传媒| 亚洲伊人伊色伊影伊综合网| 久久亚洲捆绑美女| 欧美视频在线不卡| 国产成人av电影| 日韩精品一级中文字幕精品视频免费观看| 久久久久国产精品麻豆ai换脸| 在线看不卡av| 国产成人在线电影| 午夜不卡在线视频| 中文字幕一区二区三区在线观看| 欧美一级爆毛片| 91福利社在线观看| 福利一区福利二区| 美国十次了思思久久精品导航| 亚洲欧美日韩国产一区二区三区| 精品久久五月天| 欧美日韩一区二区三区四区五区 | 成人欧美一区二区三区黑人麻豆 | 日韩欧美精品三级| 91久久免费观看| 丁香亚洲综合激情啪啪综合| 麻豆视频一区二区| 亚洲成人先锋电影| 一区二区在线观看视频在线观看| 久久精品一区八戒影视| 日韩精品在线一区二区| 欧美日韩一区二区三区视频| 91天堂素人约啪| 北岛玲一区二区三区四区| 国产精品资源在线看| 免费欧美在线视频| 日欧美一区二区| 亚洲 欧美综合在线网络| 亚洲精品国产品国语在线app| 国产精品网站在线| 国产精品你懂的| 欧美激情资源网| 亚洲国产成人私人影院tom| 国产午夜精品在线观看| 久久久久国产一区二区三区四区| 久久亚洲影视婷婷| 久久久电影一区二区三区| 精品成人在线观看| 精品久久国产字幕高潮| 精品国产污网站| 国产午夜精品一区二区| 国产欧美一区二区精品久导航| 久久精品视频一区二区| 中文字幕久久午夜不卡| 国产精品网站在线| 亚洲精品综合在线| 亚洲与欧洲av电影| 婷婷激情综合网| 日韩av不卡一区二区| 午夜国产精品影院在线观看| 亚洲国产视频一区| 五月综合激情婷婷六月色窝| 午夜精品久久久久久久| 亚洲主播在线播放| 亚洲最大色网站| 一区二区三区免费网站| 亚洲精品成人在线| 亚洲国产精品精华液ab| 亚洲免费av观看| 亚洲女子a中天字幕| 亚洲三级电影网站| 亚洲精品乱码久久久久久久久| 亚洲视频中文字幕| 中文字幕亚洲电影| 性做久久久久久久免费看| 亚洲高清免费在线| 日本不卡在线视频| 麻豆国产精品一区二区三区 | 亚洲愉拍自拍另类高清精品| 日韩二区三区在线观看| 免费精品99久久国产综合精品| 久久国产精品色婷婷| 国产一区二区三区四区在线观看| 国产精品99久久久久久似苏梦涵 | 亚洲一级二级三级| 日韩黄色在线观看| 日韩成人免费看| 不卡av在线网| 欧洲色大大久久| 日韩视频免费直播| 国产日韩欧美激情| 亚洲视频在线观看三级| 亚洲一区精品在线| 男人的天堂亚洲一区| 国产a精品视频| 欧美在线视频全部完| 欧美一区二区三区免费| 国产午夜亚洲精品午夜鲁丝片| 亚洲午夜久久久久久久久电影院| 青青草91视频| 成人高清在线视频| 欧美美女喷水视频| 国产日韩精品一区二区三区在线| 中文字幕在线一区| 九一九一国产精品| 色国产综合视频| 欧美va亚洲va在线观看蝴蝶网| 国产精品久久久久影院老司| 午夜精品久久久久| 波多野结衣的一区二区三区| 欧美一区二区久久| 国产精品的网站| 久久不见久久见免费视频7 | 中文字幕在线观看一区| 日本不卡123| 91性感美女视频| 欧美mv日韩mv国产网站app| 亚洲色图视频免费播放| 九九九久久久精品| 欧美三日本三级三级在线播放| 久久午夜羞羞影院免费观看| 亚洲bt欧美bt精品| 成人白浆超碰人人人人| 欧美成人一区二区三区 | 国产精品理伦片| 国产在线看一区| 欧美三级日韩三级| 亚洲欧洲色图综合| 国产一区 二区 三区一级| 欧美色男人天堂| 中文在线免费一区三区高中清不卡| 精一区二区三区| 欧美精品第1页| 亚洲综合在线第一页| 不卡免费追剧大全电视剧网站| 日韩免费高清av| 麻豆国产一区二区| 欧美绝品在线观看成人午夜影视| 亚洲色欲色欲www| 国产盗摄精品一区二区三区在线| 欧美久久免费观看| 免费在线观看一区| 欧美日韩国产经典色站一区二区三区 | k8久久久一区二区三区| 久久综合久久综合久久综合| 日韩电影一区二区三区四区| 欧美日韩一卡二卡| 国产精品污www在线观看| 99热99精品| 综合自拍亚洲综合图不卡区| 成人一级黄色片| 国产日韩精品一区二区三区 | 91亚洲精品久久久蜜桃网站| 日韩欧美在线一区二区三区| 国产一区二区视频在线播放| 日韩精品中文字幕一区二区三区 | 欧美www视频| 老司机午夜精品99久久| 日韩一级二级三级精品视频| 日日欢夜夜爽一区| 日韩欧美一区电影| 丁香另类激情小说| 国产精品免费看片| 99久久99久久综合| 1000精品久久久久久久久| 不卡av免费在线观看| 亚洲成人黄色影院| 日韩一级黄色大片| 韩日精品视频一区| 欧美国产乱子伦|