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

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

?? telnetd-shell.c

?? ARM_CORTEX-M3應(yīng)用實(shí)例開發(fā)詳解光盤
?? C
字號(hào):
/**
 * \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> "); 
}
/*-----------------------------------------------------------------------------------*/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲18女电影在线观看| 久久久久久久久久久久电影| av电影在线不卡| 国产伦理精品不卡| 九一九一国产精品| 日本欧美大码aⅴ在线播放| 洋洋成人永久网站入口| 亚洲男人的天堂在线观看| 国产欧美日韩亚州综合| 久久久久亚洲蜜桃| 欧美激情一区二区三区在线| 国产日韩欧美一区二区三区乱码 | 欧美日韩在线免费视频| 日本二三区不卡| 欧美午夜不卡视频| 欧美性生活久久| 欧美日韩黄色一区二区| 欧美日韩免费在线视频| 91精品在线麻豆| 日韩丝袜美女视频| 久久久高清一区二区三区| 国产视频一区二区在线| 国产精品网站在线| 亚洲欧美日韩一区| 亚洲国产精品久久久男人的天堂| 午夜视频在线观看一区| 日韩成人av影视| 国产一区二区三区在线观看精品| 国产成人午夜高潮毛片| 91在线视频观看| 欧美另类z0zxhd电影| 精品国产网站在线观看| 国产日韩欧美电影| 亚洲色图第一区| 三级亚洲高清视频| 国产在线视频精品一区| 成人av资源网站| 欧美日韩国产高清一区二区三区 | 欧美福利视频导航| 欧美精品一区二区三区四区| 中文字幕av资源一区| 一区二区三区精品| 琪琪久久久久日韩精品| 国产999精品久久久久久绿帽| 一本色道久久加勒比精品| 欧美一卡二卡在线| 欧美一a一片一级一片| 91女人视频在线观看| 欧美日本高清视频在线观看| 精品欧美乱码久久久久久| 国产精品乱子久久久久| 午夜精品成人在线| 国产酒店精品激情| 欧美午夜寂寞影院| 国产欧美一区二区精品性色 | 一区二区三区四区在线免费观看 | 欧美日韩国产系列| 久久久影院官网| 亚洲一区二区三区中文字幕 | 97久久人人超碰| 日韩免费电影网站| ...xxx性欧美| 激情综合色播激情啊| 91毛片在线观看| 2020国产精品| 日本不卡在线视频| 91麻豆国产自产在线观看| 精品免费日韩av| 亚洲一二三区在线观看| 成人av网站在线观看免费| 5858s免费视频成人| 亚洲视频在线观看三级| 国产一区二区三区最好精华液| 91福利国产成人精品照片| 国产调教视频一区| 伦理电影国产精品| 欧美三级日本三级少妇99| 国产精品私房写真福利视频| 久久99久久99小草精品免视看| 在线日韩国产精品| 国产精品丝袜黑色高跟| 精品一区二区三区在线观看国产| 欧美三级午夜理伦三级中视频| 欧美激情一区不卡| 亚洲另类色综合网站| 国产精品伊人色| 欧美精品欧美精品系列| 国产精品久久久久毛片软件| 美女脱光内衣内裤视频久久影院| www.亚洲免费av| 欧美一区二区视频观看视频| 亚洲图片另类小说| 国产美女娇喘av呻吟久久| 欧美日本一区二区在线观看| 国产精品不卡在线| 国产美女精品人人做人人爽| 欧美亚洲另类激情小说| 亚洲美女免费视频| 岛国av在线一区| 精品处破学生在线二十三| 日韩综合在线视频| 欧洲激情一区二区| 一区在线观看免费| 国产一区二区三区综合| 欧美精品一区二区三区高清aⅴ| 视频一区视频二区中文| 欧美综合在线视频| 亚洲色图丝袜美腿| av电影天堂一区二区在线观看| 欧美xxxx在线观看| 免费在线看成人av| 日韩三级.com| 奇米色一区二区| 欧美精品777| 亚洲gay无套男同| 欧美四级电影在线观看| 一区二区视频在线| 国产69精品久久99不卡| 久久九九久久九九| 国产乱子轮精品视频| 精品99999| 精品一区二区免费视频| 日韩视频中午一区| 极品美女销魂一区二区三区| 26uuu精品一区二区| 精品亚洲成a人| xnxx国产精品| 国产精品一品二品| 国产精品少妇自拍| 成人黄色在线看| 中文字幕一区二区三区色视频| 成人av电影免费在线播放| 精品久久久久av影院| 五月天视频一区| 91精品国产91久久久久久最新毛片 | 国产精品久久久久一区二区三区| 成人免费观看av| 久久综合色播五月| 国内精品自线一区二区三区视频| 精品免费视频.| 国产99一区视频免费| 国产精品国产三级国产三级人妇| youjizz久久| 香蕉加勒比综合久久| |精品福利一区二区三区| 欧美亚洲自拍偷拍| 日本美女一区二区三区| 久久蜜臀中文字幕| 国内精品伊人久久久久av一坑| 亚洲欧洲日韩在线| 91国偷自产一区二区三区观看| 亚洲18影院在线观看| 欧美成人艳星乳罩| 成人免费电影视频| 日韩美女啊v在线免费观看| 欧美在线观看你懂的| 裸体在线国模精品偷拍| 日本一区二区三区久久久久久久久不| 97久久精品人人做人人爽50路| 亚洲视频网在线直播| 精品女同一区二区| 91啪九色porn原创视频在线观看| 视频一区二区不卡| 国产亚洲精品中文字幕| 在线精品视频一区二区三四| 国模无码大尺度一区二区三区| 亚洲欧洲av另类| 日韩美女一区二区三区| 99视频在线观看一区三区| 亚洲v中文字幕| 国产欧美日韩麻豆91| 欧美性受极品xxxx喷水| 国产成人午夜高潮毛片| 亚洲va中文字幕| 国产欧美视频一区二区| 欧美久久久久久久久久 | 在线观看欧美精品| 激情综合五月天| 一区二区三区波多野结衣在线观看 | 亚洲激情中文1区| 久久先锋影音av| 欧美色大人视频| 成人动漫视频在线| 日韩电影在线免费观看| 中文字幕在线不卡一区二区三区| 欧美一区二区三区视频免费| 97精品久久久午夜一区二区三区| 久久精品av麻豆的观看方式| 亚洲午夜激情av| 中文字幕中文字幕一区二区| 欧美一个色资源| 欧美丝袜自拍制服另类| 国产成人高清视频| 美日韩黄色大片| 亚洲成人激情综合网| 亚洲国产经典视频| 精品国产伦一区二区三区观看体验| 欧美日韩精品高清| 欧美色爱综合网| 欧美喷潮久久久xxxxx|