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

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

?? main.c

?? 開發(fā)板bios源碼 開發(fā)板bios源碼
?? C
字號(hào):
/*
 * main.c -- Main program for the GoAhead WebServer (eCos version)
 *
 * Copyright (c) Go Ahead Software Inc., 1995-1999. All Rights Reserved.
 *
 * See the file "license.txt" for usage and redistribution license requirements
 *
 * $Id: main.c,v 1.3 2002/01/24 21:57:47 bporter Exp $
 */

/******************************** Description *********************************/

/*
 *	Main program for for the GoAhead WebServer. This is a demonstration
 *	main program to initialize and configure the web server.
 */

/********************************* Includes ***********************************/

#include  "../uemf.h"
#include  "../wsIntrn.h"

#include  <network.h>

/*********************************** Locals ***********************************/
/*
 *	Change configuration here
 */

static char_t	*password = T("");	/* Security password */
static int		port = 80;			/* Server port */
static int		retries = 5;		/* Server port retries */
static int		finished;			/* Finished flag */

/****************************** Forward Declarations **************************/

static int 	initWebs();
static int	aspTest(int eid, webs_t wp, int argc, char_t **argv);
static void formTest(webs_t wp, char_t *path, char_t *query);
static int  websHomePageHandler(webs_t wp, char_t *urlPrefix, char_t *webDir,
				int arg, char_t* url, char_t* path, char_t* query);
extern void defaultErrorHandler(int etype, char_t *msg);
extern void defaultTraceHandler(int level, char_t *buf);

#ifdef B_STATS
#error WARNING:  B_STATS directive is not supported in this OS!
#endif

/*********************************** Code *************************************/
/*
 *	Main -- entry point from eCos
 */

int main(int argc, char** argv)
{
/*
 *	Initialize the memory allocator. Allow use of malloc and start 
 *	with a 60K heap.  For each page request approx 8KB is allocated.
 *	60KB allows for several concurrent page requests.  If more space
 *	is required, malloc will be used for the overflow.
 */
	bopen(NULL, (60 * 1024), B_USE_MALLOC);

/*
 *	Initialize the web server
 */
	if (initWebs() < 0) {
		return -1;
	}

/*
 *	Basic event loop. SocketReady returns true when a socket is ready for
 *	service. SocketSelect will block until an event occurs. SocketProcess
 *	will actually do the servicing.
 */
	while (!finished) {
		if (socketReady(-1) || socketSelect(-1, 2000)) {
			socketProcess(-1);
		}
		emfSchedProcess();
	}

/*
 *	Close the socket module, report memory leaks and close the memory allocator
 */
	websCloseServer();
	socketClose();
	bclose();
	return 0;
}

/******************************************************************************/
/*
 *	Initialize the web server.
 */

static int initWebs()
{
	char		host[128];
	char		*cp;
	char_t		wbuf[128];

/*
 *	Initialize networking.
 */

	init_all_network_interfaces();

/*
 *	Initialize the socket subsystem
 */
	socketOpen();

/*
 *	Configure the web server options before opening the web server
 */
	websSetDefaultDir("/");
	cp = inet_ntoa(eth0_bootp_data.bp_yiaddr);
	ascToUni(wbuf, cp, min(strlen(cp) + 1, sizeof(wbuf)));
	websSetIpaddr(wbuf);
	ascToUni(wbuf, host, min(strlen(host) + 1, sizeof(wbuf)));
	websSetHost(wbuf);

/*
 *	Configure the web server options before opening the web server
 */
	websSetDefaultPage(T("default.asp"));
	websSetPassword(password);

/* 
 *	Open the web server on the given port. If that port is taken, try
 *	the next sequential port for up to "retries" attempts.
 */
	websOpenServer(port, retries);

/*
 * 	First create the URL handlers. Note: handlers are called in sorted order
 *	with the longest path handler examined first. Here we define the security 
 *	handler, forms handler and the default web page handler.
 */
	websUrlHandlerDefine(T(""), NULL, 0, websSecurityHandler, 
		WEBS_HANDLER_FIRST);
	websUrlHandlerDefine(T("/goform"), NULL, 0, websFormHandler, 0);
	websUrlHandlerDefine(T(""), NULL, 0, websDefaultHandler, 
		WEBS_HANDLER_LAST); 

/*
 *	Now define two test procedures. Replace these with your application
 *	relevant ASP script procedures and form functions.
 */
	websAspDefine(T("aspTest"), aspTest);
	websFormDefine(T("formTest"), formTest);

/*
 *	Create a handler for the default home page
 */
	websUrlHandlerDefine(T("/"), NULL, 0, websHomePageHandler, 0); 
	return 0;
}

/******************************************************************************/
/*
 *	Test Javascript binding for ASP. This will be invoked when "aspTest" is
 *	embedded in an ASP page. See web/asp.asp for usage. Set browser to 
 *	"localhost/asp.asp" to test.
 */

static int aspTest(int eid, webs_t wp, int argc, char_t **argv)
{
	char_t	*name, *address;

	if (ejArgs(argc, argv, T("%s %s"), &name, &address) < 2) {
		websError(wp, 400, T("Insufficient args\n"));
		return -1;
	}

	return websWrite(wp, T("Name: %s, Address %s"), name, address);
}

/******************************************************************************/
/*
 *	Test form for posted data (in-memory CGI). This will be called when the
 *	form in web/forms.asp is invoked. Set browser to "localhost/forms.asp" to test.
 */

static void formTest(webs_t wp, char_t *path, char_t *query)
{
	char_t	*name, *address;

	name = websGetVar(wp, T("name"), T("Joe Smith")); 
	address = websGetVar(wp, T("address"), T("1212 Milky Way Ave.")); 

	websHeader(wp);
	websWrite(wp, T("<body><h2>Name: %s, Address: %s</h2>\n"), name, address);
	websFooter(wp);
	websDone(wp, 200);
}

/******************************************************************************/
/*
 *	Home page handler
 */

static int websHomePageHandler(webs_t wp, char_t *urlPrefix, char_t *webDir,
	int arg, char_t* url, char_t* path, char_t* query)
{
/*
 *	If the empty or "/" URL is invoked, redirect default URLs to the home page
 */
	if (*url == '\0' || gstrcmp(url, T("/")) == 0) {
		websRedirect(wp, T("home.asp"));
		return 1;
	}
	return 0;
}

/******************************************************************************/
/*
 *	Default error handler.  The developer should insert code to handle
 *	error messages in the desired manner.
 */

void defaultErrorHandler(int etype, char_t *msg)
{
	diag_printf(msg);
}

/******************************************************************************/
/*
 *	Trace log. Customize this function to log trace output
 */

void defaultTraceHandler(int level, char_t *buf)
{
/*
 *	The following code would write all trace regardless of level
 *	to stdout.
 */
#if 0
	if (buf) {
		write(1, buf, gstrlen(buf));
	}
#endif
}

/******************************************************************************/
/*
 *	Wrappers for depreciated socket I/O functions
 */

int send(int s, const void *buf, size_t len, int flags)
{
    return write(s, buf, len);
}

int recv(int s, void *buf, size_t len, int flags)
{
    return read(s, buf, len);
}

/******************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲高清剧情介绍| 国产亚洲自拍一区| 奇米色777欧美一区二区| 欧美一区二区三区精品| 美女视频网站久久| 久久这里只有精品首页| 国产成人精品一区二区三区四区| 欧美激情艳妇裸体舞| 色综合中文字幕国产| 亚洲日本丝袜连裤袜办公室| 欧美日韩精品是欧美日韩精品| 日本欧美一区二区在线观看| 欧美精品一区二区三区视频| 国产69精品久久777的优势| 亚洲免费色视频| 在线播放91灌醉迷j高跟美女 | 从欧美一区二区三区| 中文字幕在线不卡| 欧美日韩一区二区三区视频| 久久精品国产秦先生| 中文字幕亚洲综合久久菠萝蜜| 在线观看国产91| 精品一区二区在线视频| 国产精品国产自产拍高清av| 欧美三级电影网站| 韩国午夜理伦三级不卡影院| 国产精品久久久爽爽爽麻豆色哟哟 | 国产aⅴ综合色| 亚洲精品自拍动漫在线| 日韩精品最新网址| 91亚洲资源网| 黑人巨大精品欧美黑白配亚洲| 亚洲国产精品ⅴa在线观看| 在线视频欧美区| 国产大片一区二区| 香蕉乱码成人久久天堂爱免费| 久久午夜电影网| 欧美日韩在线播放三区| 国产成人一区二区精品非洲| 亚洲成av人片| 国产性做久久久久久| 91精品国产美女浴室洗澡无遮挡| 国产91精品免费| 久久99精品久久久| 亚洲午夜成aⅴ人片| 中文一区在线播放| 精品久久久久久久久久久院品网| 色综合 综合色| 成人午夜看片网址| 久草热8精品视频在线观看| 亚洲激情欧美激情| 国产精品色一区二区三区| 日韩视频123| 欧美蜜桃一区二区三区| 色av成人天堂桃色av| 成人性色生活片| 国产一区二区三区免费| 久久国产精品72免费观看| 亚洲chinese男男1069| 亚洲欧美日韩国产中文在线| 国产视频一区二区三区在线观看| 91精品国产欧美一区二区18 | 自拍偷在线精品自拍偷无码专区| 久久综合久久鬼色| 欧美电视剧免费全集观看| 91精品国产综合久久香蕉麻豆 | 欧美精品自拍偷拍| 精品视频一区二区不卡| 欧美三级欧美一级| 欧美日韩一区二区三区在线看 | 欧美精三区欧美精三区| 欧美日韩国产电影| 欧美日韩精品一区二区三区蜜桃| 欧美亚洲动漫精品| 欧美色国产精品| 欧美日韩国产区一| 精品视频色一区| 欧美精品xxxxbbbb| 欧美一级一区二区| 日韩你懂的在线播放| 中文字幕精品—区二区四季| 国产亚洲欧美日韩日本| 国产夜色精品一区二区av| 久久精品这里都是精品| 国产精品无码永久免费888| 中文字幕在线不卡一区二区三区| 中文字幕一区二区视频| 亚洲裸体在线观看| 亚洲国产成人精品视频| 日韩高清电影一区| 国产在线麻豆精品观看| 国产91丝袜在线播放| 国产成人精品亚洲777人妖| av不卡一区二区三区| 色八戒一区二区三区| 欧美日韩精品一区二区三区| 欧美一区二区三区色| 欧美va日韩va| 国产精品人妖ts系列视频| 亚洲黄色尤物视频| 毛片一区二区三区| 国产成人精品免费视频网站| 色婷婷精品久久二区二区蜜臀av| 欧美久久久久久久久久| 久久精品视频在线看| 亚洲精品欧美专区| 另类专区欧美蜜桃臀第一页| 成人高清免费观看| 欧美日本一道本在线视频| 亚洲国产另类精品专区| 精品亚洲porn| 色综合中文字幕国产| 欧美日本在线视频| 日本一区二区三级电影在线观看| 亚洲精品一二三| 久久精品国产亚洲aⅴ| 99久久精品免费| 欧美一级高清片在线观看| 亚洲国产精品高清| 日韩国产成人精品| 不卡视频在线看| 欧美精品一二三四| 国产精品久久久久久久久果冻传媒| 亚洲一卡二卡三卡四卡五卡| 国产在线观看免费一区| 欧美三级韩国三级日本一级| 久久精品一区二区三区av| 五月天网站亚洲| 不卡av免费在线观看| 欧美成人艳星乳罩| 亚洲最大色网站| 懂色av一区二区夜夜嗨| 欧美精品久久一区二区三区| 亚洲欧洲成人av每日更新| 麻豆精品国产91久久久久久| 91国产成人在线| 国产欧美在线观看一区| 免费视频一区二区| 91黄色免费看| 国产精品久久久久四虎| 精品中文av资源站在线观看| 欧美亚洲免费在线一区| 国产人久久人人人人爽| 久久精工是国产品牌吗| 欧美日韩一区不卡| 亚洲欧美日韩国产成人精品影院| 国产伦精品一区二区三区在线观看| 欧美日韩免费高清一区色橹橹 | 久久久久久综合| 日韩va欧美va亚洲va久久| 91黄色免费版| 一区二区三区在线观看动漫 | 亚洲综合免费观看高清完整版| 高清在线不卡av| 精品999在线播放| 美女免费视频一区二区| 91精品国产全国免费观看| 日韩vs国产vs欧美| 在线不卡中文字幕| 视频一区中文字幕国产| 精品视频一区二区三区免费| 亚洲一区二区三区四区在线免费观看| 不卡的av网站| 国产精品福利一区| 91在线观看成人| 亚洲女厕所小便bbb| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品人成在线观看免费| 成人av网址在线| 国产精品国产三级国产a| 97久久精品人人做人人爽| 国产精品久久久久影院| 91首页免费视频| 亚洲精品第一国产综合野| 日本久久精品电影| 亚洲成人第一页| 欧美精品一卡二卡| 裸体在线国模精品偷拍| 精品1区2区在线观看| 成人中文字幕合集| 自拍偷拍国产精品| 91福利国产精品| 日韩成人精品在线观看| 久久色视频免费观看| 国产丶欧美丶日本不卡视频| 中文字幕一区二区三区精华液| 色综合久久久久综合体桃花网| 亚洲午夜羞羞片| 精品嫩草影院久久| 成人免费av资源| 亚洲黄色录像片| 91精品国产一区二区三区| 国产麻豆一精品一av一免费 | 精品亚洲成a人在线观看 | 欧美电视剧免费观看| 国产成人综合亚洲网站| 伊人性伊人情综合网| 制服丝袜av成人在线看| 国产电影一区在线| 亚洲图片欧美一区|