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

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

?? console.c

?? 聞停開發板視頻程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//--------------------------------------------------------------------------
// IP Stack Console Demonstration Program
//--------------------------------------------------------------------------
// Console.c
//
// Example router console
//
// Author: Michael A. Denio
// Copyright 1999 by Texas Instruments Inc.
//-------------------------------------------------------------------------
#include <netmain.h>
#include <_stack.h>
#include <_oskern.h>
#include "console.h"

extern char *VerStr;

static void console( HANDLE hCon, PSA pClient );
static char *StrBusy  = "\nConsole is busy\n\n";
static char *StrError = "\nCould not spawn console\n\n";
static char Password[32] = {0};

//-------------------------------------------------------------------------
// Console IO
//
// The following routines form a basic standard IO for console functions
//-------------------------------------------------------------------------
#define         INMAX  32
static char     InBuf[INMAX];
static int      InIdx = 0;
static int      InCnt = 0;
static SOCKET   scon  = INVALID_SOCKET;
static HANDLE   hConsole = 0;

// PPPOE Function is only available when working with a stack build that
// includes PPPOE
#ifdef _INCLUDE_PPPOE_CODE
static void     ConCmdPPPOE( int ntok, char *tok1, char *tok2, char *tok3 );
static HANDLE   hPPPOE   = 0;
#endif

//--------------------------------------------------------------
// ConPrintf()
//
// Formatted print to console output
//--------------------------------------------------------------
int ConPrintf(const char *format, ...)
{
   va_list ap;
   char    buffer[128];
   int     size;

   va_start(ap, format);
   size = vsprintf(buffer, (char *)format, ap);
   va_end(ap);

   send( scon, buffer, size, 0 );
   return( size );
}

//--------------------------------------------------------------
// ConPrintIPN
//
// Quick routine to print out an IPN addr
//--------------------------------------------------------------
void ConPrintIPN( IPN IPAddr )
{
    IPAddr = htonl( IPAddr );
    ConPrintf( "%d.%d.%d.%d",
               (UINT8)((IPAddr>>24)&0xFF), (UINT8)((IPAddr>>16)&0xFF),
               (UINT8)((IPAddr>>8)&0xFF), (UINT8)(IPAddr&0xFF) );
}

//--------------------------------------------------------------
// ConGetCh()
//
// Read a character from console input
//--------------------------------------------------------------
char ConGetCh()
{
    char   c;
    struct timeval timeout;

    // Configure our console timeout to be 5 minutes
    timeout.tv_sec  = 5 * 60;
    timeout.tv_usec = 0;

    while( 1 )
    {
        while( !InCnt )
        {
            fd_set ibits;
            int    cnt;

            FD_ZERO(&ibits);
            FD_SET(scon, &ibits);

            // Wait for io
            cnt = fdSelect( (int)scon, &ibits, 0, 0, &timeout );
            if( cnt <= 0 )
                goto abort_console;

            // Check for input data
            if( FD_ISSET(scon, &ibits) )
            {
                // We have characters to input
                cnt = (int)recv( scon, InBuf, INMAX, 0 );
                if( cnt > 0 )
                {
                    InIdx = 0;
                    InCnt = cnt;
                }
                // If the socket was closed or error, major abort
                if( !cnt || (cnt<0 && fdError()!=EWOULDBLOCK) )
                    goto abort_console;
            }
        }

        InCnt--;
        c = InBuf[InIdx++];

        if( c != '\n' )
            return( c );
    }

abort_console:
    ConsoleClose();

    fdClose( scon );
    TaskExit();

    return(0);
}

//--------------------------------------------------------------
// ConGetString()
//
// Read a string from console input (with various echo options)
//--------------------------------------------------------------
int ConGetString( char *buf, int max, int echo )
{
    int idx=0, eat=0;
    char c;

    while( idx < (max-1) )
    {
        c = ConGetCh();

        // Eat char if we're eating
        if( eat )
        {
            if( eat == 27 && c == 79 )
                eat = 1;
            else
                eat = 0;
            continue;
        }

        // Start eating if this is an extended char
        if( !c )
        {
            eat = 255;
            continue;
        }

        // Start eating if this is an escape code
        if( c == 27 )
        {
            eat = 27;
            continue;
        }

        // Back up on backspace
        if( c == 8 )
        {
            if( idx )
            {
                idx--;
                ConPrintf("%c %c",8,8);
            }
            continue;
        }

        // Return on CR
        if( c == '\r' )
            break;

        buf[idx++] = c;
        if( echo == CGSECHO_INPUT )
           ConPrintf("%c",c);
        else if( echo == CGSECHO_PASSWORD )
           ConPrintf("*");
    }

    buf[idx] = 0;
    return( idx );
}

//--------------------------------------------------------------
// ConGetIP()
//
// Prompt for and read an IP adress from console input
//--------------------------------------------------------------
IPN ConGetIP()
{
    int    haveit = 0;
    char   c,str[32];
    IPN    IPTmp;

    while( !haveit )
    {
        ConPrintf("Enter IP as x.x.x.x : ");
        ConGetString( str, 20, CGSECHO_INPUT );
        IPTmp = inet_addr( str );
        ConPrintf("\nYou Entered ");
        ConPrintIPN( IPTmp );
        ConPrintf("\nIs this correct (y/n)\n");

        do { c=ConGetCh(); }
            while( c != 'y' && c !='Y' && c != 'N' && c != 'n' );

        if( c=='Y' || c=='y' )
            haveit = 1;
    }
    return( IPTmp );
}

//---------------------------------------------------------------------
// ConsoleOpen()
//
// Launch a console connection to the speicified client
//
// Returns local socket, or INVALID_SOCKET on error
//---------------------------------------------------------------------
SOCKET ConsoleOpen( PSA pClient )
{
    HANDLE fd1, fd2;

    // Create the local pipe - abort on error
    if( pipe( &fd1, &fd2 ) != 0 )
        return( INVALID_SOCKET );

    // If an instance is already running, abort
    if( hConsole )
    {
        // If the console is already running, return a quick message and
        // close the pipe.
        send( fd2, StrBusy, strlen(StrBusy), 0 );
        fdClose( fd2 );
    }
    else
    {
        // Create the console thread
        hConsole = TaskCreate( console, "Console", OS_TASKPRINORM, 0x1000,
                               (UINT32)fd2, (UINT32)pClient, 0 );

        // Close the pipe and abort on an error
        if( !hConsole )
        {
            send( fd2, StrError, strlen(StrError), 0 );
            fdClose( fd2 );
        }
    }

    // Return the local fd
    return( fd1 );
}

//---------------------------------------------------------------------
// ConsoleClose()
//
// Close the console task when active
//
//---------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美.com| 一区二区中文视频| 国产精品高潮久久久久无| 亚洲电影一区二区| 岛国精品在线播放| 久久你懂得1024| 一个色在线综合| 成人福利视频在线看| 久久亚洲免费视频| 亚洲国产视频a| 日本久久精品电影| 国产精品污污网站在线观看 | 精品一区二区三区久久| 91在线精品一区二区三区| 国产欧美一区二区三区在线老狼| 亚洲成年人影院| 在线中文字幕一区| 亚洲欧美一区二区不卡| 高清不卡一区二区在线| 精品国一区二区三区| 日本女优在线视频一区二区| 欧美性感一区二区三区| 一个色综合网站| 在线观看av一区| 夜夜夜精品看看| 91久久奴性调教| 亚洲精品免费视频| 一本一道久久a久久精品 | 91精品免费在线| 亚洲一区二区三区四区的| 色呦呦国产精品| 亚洲图片有声小说| 欧美性猛交xxxx乱大交退制版 | 色婷婷精品大视频在线蜜桃视频| 国产精品三级久久久久三级| 国产成人在线电影| 亚洲国产成人一区二区三区| 成人性视频免费网站| 国产精品乱码一区二三区小蝌蚪| 国产成人免费视频网站高清观看视频 | 国产精品久久网站| 国产成人高清视频| 亚洲品质自拍视频网站| 欧洲精品在线观看| 日韩影院在线观看| 精品三级在线观看| 成人黄色片在线观看| 一区二区三区在线观看网站| 欧美中文字幕一区二区三区| 丝袜亚洲精品中文字幕一区| 日韩一级高清毛片| 国产黄色91视频| 亚洲丝袜自拍清纯另类| 欧美视频一区在线| 久久99精品国产麻豆不卡| 久久久久久亚洲综合影院红桃| 国产成+人+日韩+欧美+亚洲| 亚洲理论在线观看| 91精品国产一区二区三区香蕉| 精品一区二区精品| 国产精品国产三级国产| 欧美三日本三级三级在线播放| 奇米影视一区二区三区| 中文字幕精品—区二区四季| 91精品1区2区| 国产激情一区二区三区四区 | 亚洲图片欧美色图| 精品第一国产综合精品aⅴ| 成人黄色在线看| 日韩激情在线观看| 亚洲色图制服诱惑| 久久伊99综合婷婷久久伊| 色综合网站在线| 捆绑调教美女网站视频一区| 1024亚洲合集| 精品1区2区在线观看| 欧美视频一区在线| 成人免费视频免费观看| 天天色天天操综合| 国产精品乱码人人做人人爱| 欧美一区日本一区韩国一区| 色综合色综合色综合| 国产一区二区三区观看| 亚洲国产美女搞黄色| 国产精品污污网站在线观看| 日韩欧美在线网站| 欧美午夜宅男影院| 99久久婷婷国产精品综合| 国产美女一区二区三区| 日韩精品一二三区| 亚洲在线一区二区三区| 国产精品久久国产精麻豆99网站| 日韩视频一区二区三区在线播放| 99久久久精品免费观看国产蜜| 极品少妇一区二区三区精品视频 | 美美哒免费高清在线观看视频一区二区| 中文字幕在线观看不卡| 国产亚洲女人久久久久毛片| 日韩欧美一区电影| 91精品国产91久久综合桃花| 欧美在线播放高清精品| 色综合天天综合给合国产| 韩国av一区二区三区| 日韩高清一级片| 亚洲超丰满肉感bbw| 一区二区三区在线视频播放| 亚洲伦理在线精品| 亚洲日本在线a| 亚洲日本在线天堂| 一区二区三区自拍| 一区二区三区日韩精品| 亚洲精品视频自拍| 亚洲精品成人精品456| 亚洲视频一区二区在线观看| 亚洲欧美日韩国产手机在线| ●精品国产综合乱码久久久久| 国产精品久久久久久久浪潮网站| 日本一区二区三区四区| 亚洲国产精品ⅴa在线观看| 日本一区二区三区高清不卡| 中文成人综合网| 亚洲精品一二三四区| 亚洲成人av一区二区| 日韩电影在线看| 精品一区二区三区在线观看国产 | 成人av电影在线播放| 成人理论电影网| 在线免费观看视频一区| 欧美日韩一区成人| 精品免费国产二区三区| 久久久久久久久岛国免费| 欧美国产激情二区三区| 亚洲精品成a人| 免费人成网站在线观看欧美高清| 韩国三级在线一区| 成人禁用看黄a在线| 欧美午夜不卡在线观看免费| 日韩欧美你懂的| 欧美国产成人在线| 亚洲国产精品久久艾草纯爱| 日韩va欧美va亚洲va久久| 国产成人av自拍| 91激情五月电影| 2021中文字幕一区亚洲| 国产精品电影一区二区| 亚洲成a人v欧美综合天堂| 国精产品一区一区三区mba桃花 | 国产**成人网毛片九色| 日本高清不卡aⅴ免费网站| 日韩欧美中文一区| 最新中文字幕一区二区三区| 日本午夜一区二区| 成人短视频下载| 日韩欧美国产麻豆| 国产精品美女久久久久久 | 亚洲一区二区欧美日韩| 久久 天天综合| 在线免费观看日本一区| 久久久综合激的五月天| 亚洲国产日韩a在线播放| 国产一区二区三区在线观看免费视频| 91色porny在线视频| 欧美不卡一区二区三区| 亚洲一区二区精品3399| 国产毛片精品一区| 5月丁香婷婷综合| 亚洲视频在线一区观看| 国产精品一区二区三区四区| 欧美二区乱c少妇| 亚洲色图20p| 福利视频网站一区二区三区| 日韩欧美123| 天堂久久一区二区三区| 一本大道综合伊人精品热热| 久久久午夜精品| 麻豆国产欧美日韩综合精品二区| 欧洲精品中文字幕| 亚洲特黄一级片| 99在线精品视频| 国产日韩av一区| 国产一区二区三区免费看| 91精品午夜视频| 亚洲高清在线精品| 欧美亚洲尤物久久| 亚洲欧美日韩综合aⅴ视频| 风流少妇一区二区| 精品国产乱码久久久久久免费 | 5858s免费视频成人| 一区二区三区在线看| 成人免费高清在线观看| 国产欧美日韩视频一区二区| 国产精品99久| 国产网站一区二区| 国产成人精品午夜视频免费| 久久久综合精品| 国产成人自拍网| 欧美激情中文不卡| 成年人午夜久久久| 亚洲欧美日韩国产另类专区| 色综合久久88色综合天天免费|