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

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

?? webpage.c

?? dm642網(wǎng)絡(luò)傳輸程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//--------------------------------------------------------------------------
// IP Stack Client Demo
//--------------------------------------------------------------------------
// webpage.c
//
// Web page and CGI function
//
// Author: Michael A. Denio
// Copyright 2000, 2001 by Texas Instruments Inc.
//-------------------------------------------------------------------------
#include <std.h>
#include <sys.h>
#include <sem.h>
#include <tsk.h>
#include <netmain.h>
#include <_stack.h>
#include "..\..\..\tools\common\cgi\cgiparse.h"
#include "..\..\..\tools\common\console\console.h"
#include "router.h"

#pragma DATA_SECTION(DEFAULT, "OBJMEM");
#include "webdata\default.c"
#pragma DATA_SECTION(LOGOBAR, "OBJMEM");
#include "webdata\logobar.c"
#pragma DATA_SECTION(DSPCHIP, "OBJMEM");
#include "webdata\dspchip.c"
#pragma DATA_SECTION(SAMPLE, "OBJMEM");
#include "webdata\sample.c"

static int cgiSample(SOCKET htmlSock, int ContentLength, char *pArgs );
static int cgiInform( SOCKET htmlSock, int ContentLength );

// This int will be our "%R%" realm file, forcing any file located
// in the same direcotry to be authenticated on realm 1. The system
// supports realms 1 to 4.
//
// Note that we're only going to protect the "protected/" subdir,
// but its also possible to protect the entire web site by putting
// a %R% file in the root. Also, you can have the root protected
// on (say) realm 1, and a subdir on (say) realm 2, allowing for
// "users" (members of realm 1) and "superusers" (members of both
// realm 1 and realm 2).
//
static int OurRealm = 1;

void AddWebFiles(void)
{
    efs_createfile("index.html", DEFAULT_SIZE, DEFAULT);
    efs_createfile("logobar.gif", LOGOBAR_SIZE, LOGOBAR);
    efs_createfile("dspchip.gif", DSPCHIP_SIZE, DSPCHIP);
    efs_createfile("inform.cgi", 0, (UINT8 *)cgiInform);
    efs_createfile("protected/%R%", 4, (UINT8 *)&OurRealm );
    efs_createfile("protected/sample.htm", SAMPLE_SIZE, SAMPLE );
    efs_createfile("protected/sample.cgi", 0, (UINT8*)cgiSample);
}

void RemoveWebFiles(void)
{
    efs_destroyfile("index.html");
    efs_destroyfile("logobar.gif");
    efs_destroyfile("dspchip.gif");
    efs_destroyfile("protected/%R%");
    efs_destroyfile("protected/sample.cgi");
    efs_destroyfile("protected/sample.htm");
    efs_destroyfile("inform.cgi");
}

//
// Page Creation Commonly Used Data
//
static const char *pstr_HTML_START =
       "<html><body text=#000000 bgcolor=#ffffff>\r\n";
static const char *pstr_HTML_END =
       "</body></html>\r\n";
static const char *pstr_TI_START =
       "<center><p><image src=\"logobar.gif\"></p>\r\n";
static const char *pstr_TI_END =
       "</center></body></html>\r\n";
static const char *pstr_ROW_START =
       "<tr>";
static const char *pstr_ROW_END =
       "</tr>\r\n";
static const char *pstr_DIVIDER =
       "<hr WIDTH=\"100%\"><br>\r\n";
static const char *pstr_TABLE_START =
       "<table border cellspacing=0 cellpadding=5>\r\n";
static const char *pstr_TABLE_END =
       "</table><br>\r\n";
static const char *pstr_LINK_MAIN =
       "<a href=index.html>Return to Main Page</a><br><br>\r\n";
static const char *pstr_LINK_MAIN_SUBDIR =
       "<a href=../index.html>Return to Main Page</a><br><br>\r\n";


//
// Page Creation Macro
//
#define html(str) httpSendClientStr(htmlSock, (char *)str)


// We use the following format line in cgiSample()
static const char *tablefmt = "<tr><td>%s</td><td>%s</td></tr>\r\n";

//
// Sample CGI Function
//
// This function processes the sample CGI from off the main
// WEB page on the HTTP server.
//
// CGI Functions must return 1 if the socket is left open,
// and zero if the socket is closed. This example always
// returns 1.
//
static int cgiSample(SOCKET htmlSock, int ContentLength, char *pArgs )
{
    char    *name = 0, *spam = 0, *pizza = 0, *color = 0;
    char    *buffer, *key, *value;
    int     len;
    int     parseIndex;
    char    htmlbuf[MAX_RESPONSE_SIZE];

    // CGI Functions can now support URI arguments as well if the
    // pArgs pointer is not NULL, and the ContentLength were zero,
    // we could parse the arguments off of pArgs instead.

    // First, allocate a buffer for the request
    buffer = (char*) mmBulkAlloc( ContentLength + 1 );
    if ( !buffer )
        goto ERROR;

    // Now read the data from the client
    len = recv( htmlSock, buffer, ContentLength, MSG_WAITALL );
    if ( len < 1 )
        goto ERROR;

    // Setup to parse the post data
    parseIndex = 0;
    buffer[ContentLength] = '\0';

    // Process request variables until there are none left
    do
    {
        key   = cgiParseVars( buffer, &parseIndex );
        value = cgiParseVars( buffer, &parseIndex );

        if( !strcmp("name", key) )
            name = value;
        else if( !strcmp("pizza", key) )
            pizza = value;
        else if( !strcmp("spam", key) )
            spam = value;
        else if( !strcmp("color", key) )
            color = value;
    } while ( parseIndex != -1 );

    //
    // Output the data we read in...
    //

    httpSendStatusLine(htmlSock, HTTP_OK, CONTENT_TYPE_HTML);
    // CRLF before entity
    html( CRLF );

    //
    // Build our HTML response
    //
    html(pstr_HTML_START);
    html("<h1>Form Information</h1>");
    html(pstr_DIVIDER);
    html(pstr_TABLE_START);

    if( name )
    {
      sprintf( htmlbuf, tablefmt, "Name:", name );
      html( htmlbuf );
    }

    if( spam )
    {
      sprintf( htmlbuf, tablefmt, "Likes Spam:", spam );
      html( htmlbuf );
    }

    if( pizza )
    {
      sprintf( htmlbuf, tablefmt, "Favorite Pizza:", pizza );
      html( htmlbuf );
    }

    if( color )
    {
      sprintf( htmlbuf, tablefmt, "Favorite Color:", color );
      html( htmlbuf );
    }

    html(pstr_TABLE_END);
    html(pstr_DIVIDER);
    html(pstr_LINK_MAIN_SUBDIR);
    html(pstr_HTML_END);

ERROR:
    if( buffer )
        mmBulkFree( buffer );

    return( 1 );
}

//
// Functions to create CGI htmlbuf
//
static void CreateIPUse(SOCKET htmlSock);
static void CreatehtmlSockets(SOCKET htmlSock);
static void CreateRoute(SOCKET htmlSock);

//
// Main CGI Function
//
int  cgiInform(SOCKET htmlSock, int ContentLength)
{
    char *postdata;
    char *name, *value;
    int  bytes;
    int  parseIndex;

    // Allocate space for the CGI post data
    postdata = (char *)mmBulkAlloc(ContentLength+1);
    if( !postdata )
        goto FATAL;

    // Read in the post data from the socket
    bytes = recv(htmlSock, postdata, ContentLength, MSG_WAITALL);
    if( bytes < 1 )
        goto FATAL;

    // Setup to parse the post data
    parseIndex = 0;
    postdata[ContentLength] = '\0';

    // Read until we've read the item "ip"
    do {
        name  = cgiParseVars( postdata, &parseIndex );
        value = cgiParseVars( postdata, &parseIndex );
    } while( strcmp("ip", name ) && parseIndex != -1 );

    // Now check the value of "ip"
    if (strcmp("ipinfo", value) == 0)
        CreateIPUse(htmlSock);
    else if (strcmp("sockets", value) == 0)
        CreatehtmlSockets(htmlSock);
    else if (strcmp("route", value) == 0)
        CreateRoute(htmlSock);

FATAL:
    // Free the data we've allocated
    if( postdata )
        mmBulkFree(postdata);

    // We always leave the socket open
    return( 1 );
}


void CreateIPUse(SOCKET htmlSock)
{
    IPN     myIP;
    IPN     yourIP;
    char    pszmyIP[32];
    char    pszyourIP[32];
    struct  sockaddr_in Info;
    int     InfoLength;
    char    tmpBuf[128];
    HOSTENT *dnsInfo;
    char    htmlbuf[MAX_RESPONSE_SIZE];
    int     rc;

    InfoLength = sizeof(Info);
    getsockname( htmlSock, &Info, &InfoLength );
    myIP = Info.sin_addr.s_addr;
    NtIPN2Str( myIP, pszmyIP );

    InfoLength = sizeof(Info);
    getpeername( htmlSock, &Info, &InfoLength );
    yourIP = Info.sin_addr.s_addr;
    NtIPN2Str( yourIP, pszyourIP );

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区三四区视频在线观看 | 国产日韩欧美精品一区| 日韩黄色片在线观看| 欧美精品一二三区| 九色porny丨国产精品| 国产午夜亚洲精品理论片色戒| 激情都市一区二区| 国产精品三级在线观看| 色综合久久中文综合久久97 | 色美美综合视频| 亚洲一区二区在线观看视频| 欧美日韩国产综合久久| 免费观看30秒视频久久| 久久精品在线观看| 91在线国产福利| 亚洲福利电影网| www国产成人| 91网站最新网址| 日本不卡123| 中文字幕电影一区| 精品视频一区二区三区免费| 久久99国产精品免费| 中文字幕第一页久久| 欧美亚洲国产bt| 国产乱淫av一区二区三区| 国产精品久久久久三级| 欧美疯狂性受xxxxx喷水图片| 久久99国产精品麻豆| 中文字幕制服丝袜成人av| 欧美在线观看视频一区二区| 激情欧美一区二区三区在线观看| 中文一区二区完整视频在线观看 | 日本高清免费不卡视频| 日本不卡一区二区三区高清视频| 久久久久久久综合色一本| 欧美性感一区二区三区| 国产在线精品视频| 亚洲成av人片一区二区| 久久久久久久免费视频了| 欧美综合色免费| 国产不卡视频一区| 蜜桃视频在线观看一区二区| 一色屋精品亚洲香蕉网站| 日韩三级.com| 欧美色男人天堂| kk眼镜猥琐国模调教系列一区二区| 五月天激情小说综合| 国产精品久久久久久久午夜片| 91精品国产综合久久精品麻豆| 国产凹凸在线观看一区二区| 奇米色一区二区| 亚洲成a人在线观看| 亚洲欧洲av在线| 久久婷婷国产综合精品青草| 欧美无乱码久久久免费午夜一区| www.日韩大片| 国产福利一区二区三区视频在线| 亚洲va韩国va欧美va| 亚洲三级在线看| 国产精品天天看| 国产欧美日韩麻豆91| 91精品国产色综合久久不卡电影| 欧美系列在线观看| 91福利国产精品| 色欧美片视频在线观看在线视频| 成人视屏免费看| 国产河南妇女毛片精品久久久| 蜜桃一区二区三区在线观看| 日产国产欧美视频一区精品 | 尤物av一区二区| 国产精品久久久久精k8| 国产日韩欧美精品在线| 国产偷v国产偷v亚洲高清| 日韩精品一区二区三区在线| 91麻豆精品国产91久久久使用方法 | 欧美成人官网二区| 91精品国产一区二区三区| 欧美日本精品一区二区三区| 欧洲精品视频在线观看| 欧洲视频一区二区| 欧美熟乱第一页| 欧美日韩一区不卡| 欧美日韩成人一区| 337p亚洲精品色噜噜噜| 在线91免费看| 久久久久久久综合| 国产网红主播福利一区二区| 国产色一区二区| 国产精品久久久久一区二区三区| 国产精品麻豆网站| 亚洲欧美激情视频在线观看一区二区三区| 国产精品久久久久久妇女6080 | 国产成人精品免费| 国产精品系列在线播放| 成人免费观看男女羞羞视频| eeuss鲁片一区二区三区在线看| 91尤物视频在线观看| 欧美性生活久久| 91精品国产福利在线观看| 欧美va亚洲va在线观看蝴蝶网| www国产成人免费观看视频 深夜成人网| 久久精品一区二区三区av | 亚洲蜜臀av乱码久久精品| 亚洲一二三区不卡| 蜜芽一区二区三区| 国产剧情一区二区| 99久久精品费精品国产一区二区| 欧美午夜影院一区| 日韩精品中午字幕| 国产精品久99| 视频在线观看91| 国产成人免费视频精品含羞草妖精 | 欧美精品一区二区久久久| 专区另类欧美日韩| 麻豆精品国产91久久久久久| 欧美成人艳星乳罩| 精品国产制服丝袜高跟| 综合欧美亚洲日本| 久久99热国产| 91美女片黄在线观看| 日韩欧美资源站| 日韩伦理av电影| 久久狠狠亚洲综合| 欧日韩精品视频| 国产欧美精品国产国产专区| 亚洲午夜精品17c| 国产风韵犹存在线视精品| 欧美日韩一区在线观看| 国产欧美在线观看一区| 偷拍自拍另类欧美| 99视频精品在线| 日韩视频在线你懂得| 亚洲丝袜另类动漫二区| 久久97超碰国产精品超碰| 欧美影视一区在线| 亚洲欧洲日韩一区二区三区| 免费成人在线影院| 欧美色中文字幕| 国产精品乱码妇女bbbb| 狠狠久久亚洲欧美| 在线成人av影院| 亚洲欧洲综合另类在线| 国产盗摄一区二区| 精品精品国产高清a毛片牛牛| 亚洲国产va精品久久久不卡综合| 国产成人精品网址| 精品国产一区二区国模嫣然| 国产精品久久久久久久久搜平片| 日本午夜精品视频在线观看| 欧美手机在线视频| 亚洲欧洲精品成人久久奇米网| 国产综合色在线| 精品久久久网站| 天使萌一区二区三区免费观看| 欧美亚洲免费在线一区| 国产精品久久久久久一区二区三区 | 欧美日韩一区二区三区视频| 亚洲视频香蕉人妖| av资源站一区| 精品国产91乱码一区二区三区| 免费在线观看不卡| 欧美日韩午夜精品| 日韩黄色一级片| 色婷婷国产精品久久包臀| 中文字幕在线不卡| 成人av在线播放网址| 国产日韩精品一区二区三区 | 99r国产精品| 国产精品美女久久久久久 | 成人av资源网站| 亚洲精品在线免费观看视频| 狠狠色丁香久久婷婷综| 4438x亚洲最大成人网| 蜜桃视频一区二区三区| 精品国产一区久久| 捆绑调教一区二区三区| 日韩一二三区不卡| 日韩高清在线观看| 欧美大尺度电影在线| 首页国产欧美久久| 日韩三级视频中文字幕| 国产精品影音先锋| 国产三级精品三级在线专区| 91在线视频在线| 亚洲免费观看视频| 在线91免费看| 国产一区二区三区黄视频| 亚洲精品一区二区三区蜜桃下载| 高清视频一区二区| 国产精品久久久久久福利一牛影视| 色综合中文字幕国产| 久久先锋影音av| 9i看片成人免费高清| 一区二区三区中文字幕精品精品| 欧美色涩在线第一页| 久久成人综合网| 久久亚洲精华国产精华液 | 欧美四级电影网| 日韩和欧美一区二区三区| 久久久亚洲精品一区二区三区|