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

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

?? monitor.c

?? 嵌入式操作系統ECOS的網絡開發包
?? C
?? 第 1 頁 / 共 4 頁
字號:
    }

    /* Now generate a page showing the current thread state, and
     * including form controls to change it.
     */
    
    html_begin(client);

    html_head(client,"eCos Thread Editor", "");

    html_body_begin(client,"");
    {
        cyg_uint16 id;
        cyg_thread_info info;
        cyg_handle_t thread = 0;
        char idbuf[16];
        
        sscanf( filename, "/monitor/thread-%04hx.html", &id );

        thread = cyg_thread_find( id );
        cyg_thread_get_info(thread, id, &info );
        
        html_heading(client, 2, "Thread State Editor" );

        html_para_begin( client, "" );
        
        fprintf( client, "Editing Thread %04x %s\n",id,
                 info.name?info.name:NULL_THREAD_NAME);

        fputs( thread_edit_blurb, client );
        
        html_form_begin( client, filename, "" );        
        {
            html_table_begin( client, "border" );
            {
                html_table_header( client, "Property", "" );
                html_table_header( client, "Value", "" );

                html_table_row_begin(client, "" );
                {
                    html_table_data_begin( client, "" );
                    fputs( "State", client );

                    html_table_data_begin( client, "" );

                    html_form_input_radio( client, "state", "run", (info.state&0x04)==0 );
                    fputs( "Run", client );
                    html_form_input_radio( client, "state", "suspend", (info.state&0x04)!=0 );
                    fputs( "Suspend", client );
                    html_form_input_radio( client, "state", "release", 0 );
                    fputs( "Release", client );
                }
                html_table_row_end( client );

                html_table_row_begin(client, "" );
                {
                    html_table_data_begin( client, "" );
                    fputs( "Priority", client );

                    html_table_data_begin( client, "" );
                    fprintf(client,"<input type=\"text\" name=\"pri\" size=\"10\" value=\"%d\">\n",
                            info.set_pri);                    
                }
                html_table_row_end( client );

            }
            html_table_end( client );

            /* Add submit and reset buttons */
            html_form_input(client, "submit", "submit", "Submit", "");                
            html_form_input(client, "reset", "reset", "Reset", "");

            /* Pass the thread ID through to our next incarnation */
            sprintf( idbuf, "%04x", id );
            html_form_input_hidden(client, "thread", idbuf );            

        }
        html_form_end( client );
        
        draw_navbar(client);
    }
    html_body_end(client);

    html_end(client);
    
    return 1;
}

CYG_HTTPD_TABLE_ENTRY( cyg_monitor_thread_edit_entry,
                       "/monitor/thread-*",
                       cyg_monitor_thread_edit,
                       NULL );

/* ================================================================= */
/* Interrupt monitor
 *
 * At present this just generates a table showing which interrupts
 * have an ISR attached.
 */

static cyg_bool cyg_monitor_interrupts( FILE * client, char *filename,
                                        char *formdata, void *arg )
{
    html_begin(client);

    html_head(client,"eCos Interrupt Monitor", "");

    html_body_begin(client,"");
    {
        html_heading(client, 2, "Interrupt Monitor" );

        html_table_begin( client, "border" );
        {
            int i;
            int maxint = CYGNUM_HAL_ISR_MAX;

#ifdef CYGPKG_HAL_I386
            maxint = CYGNUM_HAL_ISR_MIN+16;
#endif
            
            html_table_header( client, "ISR", "" );
            html_table_header( client, "State", "" );
            
            for( i = CYGNUM_HAL_ISR_MIN; i <= maxint ; i++ )
            {
                cyg_bool_t inuse;
                HAL_INTERRUPT_IN_USE( i, inuse );

                html_table_row_begin(client, "" );
                {
                    html_table_data_begin( client, "" );
                    fprintf( client, "%d", i);
                    html_table_data_begin( client, "" );
                    fprintf( client, "%s", inuse?"In Use":"Free");
                }
                html_table_row_end( client );
            }
        }
        html_table_end( client );

        draw_navbar(client);
    }
    html_body_end(client);

    html_end(client);
    
    return 1;
    
}

CYG_HTTPD_TABLE_ENTRY( cyg_monitor_interrupts_entry,
                       "/monitor/interrupts.htm*",
                       cyg_monitor_interrupts,
                       NULL );

/* ================================================================= */
/* Memory monitor
 *
 * Generates a table showing a 256 byte page of memory. Form controls
 * allow changes to the base address and display element size.
 */

static cyg_bool cyg_monitor_memory( FILE * client, char *filename,
                                    char *formdata, void *arg )
{
    char *formlist[10];
    cyg_uint32 base = 0;
    unsigned int datasize = 1;
    int size = 256;
    char *p;
    
    cyg_formdata_parse( formdata, formlist, 10 );

    p = cyg_formlist_find( formlist, "base" );

    if( p != NULL )
        sscanf( p, "%x", &base );

    p = cyg_formlist_find( formlist, "datasize" );

    if( p != NULL )
        sscanf( p, "%x", &datasize );

    if( cyg_formlist_find( formlist, "next" ) != NULL )
        base += size;

    if( cyg_formlist_find( formlist, "prev" ) != NULL )
        base -= size;
        
    html_begin(client);

    html_head(client,"eCos Memory Monitor", "");

    html_body_begin(client,"");
    {
        html_heading(client, 2, "Memory Monitor" );

        html_form_begin( client, "/monitor/memory.html", "" );
        {

            /* Text input control for base address
             */
            html_para_begin( client, "" );
            fprintf(client,
                    "Base Address: 0x<input type=\"text\" name=\"base\" size=\"10\" value=\"%x\">\n",
                    base);

            /* A little menu for the element size
             */
            html_para_begin( client, "" );

            fputs( "Element Size: ", client );
            html_form_select_begin( client, "datasize", "" );
            html_form_option( client, "1", "bytes", datasize==1 );
            html_form_option( client, "2", "words", datasize==2 );
            html_form_option( client, "4", "dwords", datasize==4 );
            html_form_select_end( client );
                        
            html_para_begin( client, "" );

            /* Submit and reset buttons
             */
            html_form_input(client, "submit", "submit", "Submit", "");                
            html_form_input(client, "reset", "reset", "Reset", "");

            html_para_begin( client, "" );

            /* Previous page button */
            html_form_input(client, "submit", "prev", "Prev Page", "");

            /* Switch to monospaced font */
            cyg_html_tag_begin( client, "font", "face=\"monospace\"" );
            
            html_table_begin( client, "" );
            {
                cyg_addrword_t loc;
                cyg_addrword_t oloc;
                
                for( oloc = loc = base; loc <= (base+size) ; loc++ )
                {
                    if( ( loc % 16 ) == 0 )
                    {
                        if( loc != base )
                        {
                            html_table_data_begin( client, "" );
                            for( ; oloc < loc; oloc++ )
                            {
                                char c = *(char *)oloc;
                                if( !isprint(c) )
                                    c = '.';
                                putc( c, client );
                            }
                            html_table_row_end( client );
                        }
                        if( loc == (base+size) )
                            break;
                        html_table_row_begin(client, "" );
                        html_table_data_begin( client, "" );
                        fprintf( client, "%08x:",loc);
                    }

                    html_table_data_begin( client, "" );

                    if( (loc % datasize) == 0 )
                    {
                        switch( datasize )
                        {
                        case 1: fprintf( client, "%02x", *(cyg_uint8  *)loc ); break;
                        case 2: fprintf( client, "%04x", *(cyg_uint16 *)loc ); break;
                        case 4: fprintf( client, "%08x", *(cyg_uint32 *)loc ); break;
                        }
                    }
                }
            }
            html_table_end( client );
            cyg_html_tag_end( client, "font" );
            
            html_form_input(client, "submit", "next", "Next Page", "");            
        }
        html_form_end( client );

        draw_navbar(client);
    }
    html_body_end(client);

    html_end(client);
    
    return 1;
    
}

CYG_HTTPD_TABLE_ENTRY( cyg_monitor_memory_entry,
                       "/monitor/memory.htm*",
                       cyg_monitor_memory,
                       NULL );

/* ================================================================= */
/* Network Monitor
 *
 * This function generates a page containing information about the
 * network interfaces and the protocols.
 */

static cyg_bool cyg_monitor_network( FILE * client, char *filename,
                                     char *formdata, void *arg )
{
    struct ifconf ifconf;
    char conf[256];
    int err;
    int sock;

    /* Start by opening a socket and getting a list of all the
     * interfaces present.
     */
    {
        memset( conf, 0, sizeof(conf) );
    
        sock = socket( AF_INET, SOCK_DGRAM, 0 );
    
        ifconf.ifc_len = sizeof(conf);
        ifconf.ifc_buf = (caddr_t)conf;

        err = ioctl( sock, SIOCGIFCONF, &ifconf );
    }
    
    html_begin(client);

    html_head(client,"eCos Network Monitor", "");

    html_body_begin(client,"");
    {
        html_heading(client, 2, "Network Monitor" );

        html_heading(client, 3, "Interfaces" );        

        html_table_begin( client, "border" );
        {
            int i;
            struct ifreq *ifrp;
            struct sockaddr *sa;
            
            html_table_header( client, "Interface", "" );
            html_table_header( client, "Status", "" );

            ifrp = ifconf.ifc_req;
            
            while( ifconf.ifc_len && ifrp->ifr_name[0] )
            {
                struct ifreq ifreq = *ifrp;

                /* For some reason we get two entries for each
                 * interface in the list: one with an AF_INET address
                 * and one with an AF_LINK address. We are currently
                 * only interested in the AF_INET ones.
                 */
                
                if( ifrp->ifr_addr.sa_family == AF_INET )
                {
                
                    html_table_row_begin(client, "" );
                    {
                        html_table_data_begin( client, "" );
                        fprintf( client, "%s", ifrp->ifr_name);

                        html_table_data_begin( client, "" );                        
                        html_table_begin( client, "" );
                        {
                            struct ether_drv_stats ethstats;

                            /* Get the interface's flags and display
                             * the interesting ones.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品免费在线观看| 在线观看视频91| 99精品热视频| 国产美女在线精品| 93久久精品日日躁夜夜躁欧美| 欧美日韩一区三区| 久久伊人中文字幕| 亚洲精品第一国产综合野| 中文字幕一区不卡| 婷婷中文字幕综合| 成人av在线网站| 欧美日韩大陆一区二区| 亚洲欧美激情一区二区| 久久国产婷婷国产香蕉| 色av一区二区| 欧美激情一区二区三区在线| 日本女优在线视频一区二区| 不卡一区在线观看| 久久人人爽爽爽人久久久| 亚洲愉拍自拍另类高清精品| 91美女片黄在线观看91美女| 欧美电影精品一区二区| 欧美激情在线一区二区| 国产盗摄女厕一区二区三区| 91麻豆精品国产91久久久久久久久 | 中文字幕亚洲在| 蜜桃精品视频在线观看| 欧美日韩在线亚洲一区蜜芽| 久久久久久久久99精品| 麻豆成人综合网| 日韩欧美中文一区| 亚洲成av人在线观看| 精品视频一区二区不卡| 亚洲免费观看在线视频| 欧美日韩国产123区| 日韩欧美国产不卡| 久久不见久久见免费视频1| 国产成人免费视频网站 | 蜜桃精品视频在线观看| 欧美性大战久久| 亚洲精品乱码久久久久久黑人| 国产成人精品免费看| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美综合色免费| 国产精品免费久久| 国产乱码精品一品二品| 国产欧美日产一区| 懂色av噜噜一区二区三区av| 日韩欧美国产小视频| 国产另类ts人妖一区二区| 久久综合九色综合欧美就去吻| 美女网站在线免费欧美精品| 日韩视频一区二区三区| 青青草原综合久久大伊人精品优势 | 色偷偷久久人人79超碰人人澡| 中文字幕欧美日韩一区| a在线播放不卡| 亚洲成人你懂的| 91精品国产综合久久精品麻豆| 丝袜美腿一区二区三区| 午夜精品视频一区| 精品久久久久久久久久久久包黑料| 日韩成人精品在线| 欧美激情一区二区三区全黄| 成a人片国产精品| 久久久久久久久久久久电影| 91伊人久久大香线蕉| 亚洲一区二区3| 欧美视频一区二区三区四区| 精品一区二区三区av| 久久久久久**毛片大全| 国产福利一区在线观看| 亚洲欧美日韩国产手机在线 | 美女视频免费一区| 久久久99精品免费观看| 欧美日韩一区不卡| 久热成人在线视频| 91精品国产91综合久久蜜臀| 成人一级视频在线观看| 亚洲午夜精品网| 国产精品久久久久四虎| 欧美日韩一卡二卡三卡| 日韩在线a电影| 亚洲日本一区二区三区| 在线观看91精品国产麻豆| 97久久超碰国产精品| 日韩不卡一二三区| 国产精品全国免费观看高清| 成人黄色网址在线观看| 久久国产精品99久久人人澡| 国产精品久久久久久久久快鸭| 欧美三区在线视频| 国产精品一二三在| 日韩成人免费在线| 亚洲视频一区二区在线| 精品久久国产老人久久综合| 99在线精品一区二区三区| 日本成人中文字幕在线视频| 精品三级av在线| 欧洲国产伦久久久久久久| 狠狠色综合日日| 亚洲成人免费av| 亚洲日本中文字幕区| 精品国产sm最大网站| 日韩一区二区三区四区| 91成人在线精品| 美脚の诱脚舐め脚责91 | 亚洲男人电影天堂| 国产午夜精品一区二区三区四区| 精品视频一区 二区 三区| 欧洲一区在线电影| 国产不卡免费视频| 久久国产尿小便嘘嘘| 久久国产精品色| 午夜精品一区二区三区免费视频| 国产精品女同一区二区三区| 26uuu亚洲| 日韩一级高清毛片| 日韩一区二区三区视频| 欧美少妇性性性| 色婷婷一区二区| 欧美三级视频在线观看 | 欧美极品xxx| 国产精品天美传媒沈樵| 欧美精品一区二区久久婷婷| 日韩欧美中文字幕精品| 欧美一区二区三区白人| 欧美一区二区三区视频免费播放 | 免费观看在线综合| 自拍偷拍亚洲激情| 国产精品美女一区二区三区| 欧美极品aⅴ影院| 亚洲日本在线a| 亚洲第一精品在线| 午夜精品一区二区三区三上悠亚| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲第一搞黄网站| 经典三级视频一区| 国产成人精品影视| 国产不卡视频在线播放| 色菇凉天天综合网| 欧美精品高清视频| 51精品秘密在线观看| 日本一区二区三区视频视频| 欧美高清在线精品一区| 亚洲第一成年网| 老司机一区二区| 福利一区二区在线| 欧美性色aⅴ视频一区日韩精品| 欧美在线小视频| 91精品国产色综合久久不卡电影 | 日本一不卡视频| 九九在线精品视频| 丁香激情综合国产| 色综合天天做天天爱| 精品视频一区二区三区免费| 日韩亚洲欧美在线| 91精品国产综合久久久久久久| xvideos.蜜桃一区二区| 国产精品久久久久影院老司| 伊人色综合久久天天| 国产精品香蕉一区二区三区| av色综合久久天堂av综合| 一区二区三区四区中文字幕| 欧美一级免费大片| 国产精品视频看| 肉丝袜脚交视频一区二区| 豆国产96在线|亚洲| 欧美人妇做爰xxxⅹ性高电影| 国产欧美日韩综合精品一区二区| 性久久久久久久久| 97se亚洲国产综合自在线观| 久久亚洲私人国产精品va媚药| 亚洲人成7777| 成人黄色软件下载| 国产亚洲女人久久久久毛片| 秋霞影院一区二区| 欧美日韩国产免费| 一区二区在线观看免费视频播放| 国内精品久久久久影院薰衣草 | 3d动漫精品啪啪1区2区免费 | 日韩精品在线看片z| 一区二区三区久久| 国产91清纯白嫩初高中在线观看| 日韩美女一区二区三区四区| 亚洲午夜免费福利视频| 一本一道综合狠狠老| 亚洲视频网在线直播| 成人永久免费视频| 国产精品视频看| 成人激情开心网| 国产精品成人网| 成人av手机在线观看| 国产精品久久久久久户外露出 | 一区二区三区不卡视频在线观看| 成人一级片网址| 国产亚洲美州欧州综合国| 精品一二三四在线| 久久久午夜精品| 成人动漫一区二区三区|