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

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

?? webs.h

?? 在嵌入式移動設備上實現動態網頁
?? H
字號:
/* 
 *	webs.h -- GoAhead Web public header
 *
 * Copyright (c) GoAhead Software Inc., 1992-2000. All Rights Reserved.
 *
 *	See the file "license.txt" for information on usage and redistribution
 *
 * $Id: webs.h,v 1.10 2003/12/01 23:52:30 hwolff Exp $
 */

#ifndef _h_WEBS
#define _h_WEBS 1

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

/* 
 *	GoAhead Web Server header. This defines the Web public APIs.
 *	Include this header for files that contain ASP or Form procedures.
 *	Include wsIntrn.h when creating URL handlers.
 */

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

#include	"ej.h"
#ifdef WEBS_SSL_SUPPORT
	#include	"websSSL.h"
#endif

/********************************** Defines ***********************************/
/*
 *	By license terms the server software name defined in the following line of
 *	code must not be modified.
 */
#define WEBS_NAME				T("GoAhead-Webs")
#define WEBS_VERSION			T("2.1.8")

#define WEBS_HEADER_BUFINC 		512			/* Header buffer size */
#define WEBS_ASP_BUFINC			512			/* Asp expansion increment */
#define WEBS_MAX_PASS			32			/* Size of password */
#define WEBS_BUFSIZE			1000		/* websWrite max output string */
#define WEBS_MAX_HEADER			(5 * 1024)	/* Sanity check header */
#define WEBS_MAX_URL			4096		/* Maximum URL size for sanity */
#define WEBS_SOCKET_BUFSIZ		256			/* Bytes read from socket */

#define WEBS_HTTP_PORT			T("httpPort")
#define CGI_BIN					T("cgi-bin")

/* 
 *	Request flags. Also returned by websGetRequestFlags().
 */
#define WEBS_LOCAL_PAGE			0x1			/* Request for local webs page */ 
#define WEBS_KEEP_ALIVE			0x2			/* HTTP/1.1 keep alive */
#define WEBS_DONT_USE_CACHE		0x4			/* Not implemented cache support */
#define WEBS_COOKIE				0x8			/* Cookie supplied in request */
#define WEBS_IF_MODIFIED		0x10		/* If-modified-since in request */
#define WEBS_POST_REQUEST		0x20		/* Post request operation */
#define WEBS_LOCAL_REQUEST		0x40		/* Request from this system */
#define WEBS_HOME_PAGE			0x80		/* Request for the home page */ 
#define WEBS_ASP				0x100		/* ASP request */ 
#define WEBS_HEAD_REQUEST		0x200		/* Head request */
#define WEBS_CLEN				0x400		/* Request had a content length */
#define WEBS_FORM				0x800		/* Request is a form */
#define WEBS_REQUEST_DONE		0x1000		/* Request complete */
#define WEBS_POST_DATA			0x2000		/* Already appended post data */
#define WEBS_CGI_REQUEST		0x4000		/* cgi-bin request */
#define WEBS_SECURE				0x8000		/* connection uses SSL */
#define WEBS_AUTH_BASIC			0x10000		/* Basic authentication request */
#define WEBS_AUTH_DIGEST		0x20000		/* Digest authentication request */
#define WEBS_HEADER_DONE		0x40000		/* Already output the HTTP header */

/*
 *	URL handler flags
 */
#define WEBS_HANDLER_FIRST	0x1			/* Process this handler first */
#define WEBS_HANDLER_LAST	0x2			/* Process this handler last */

/* 
 *	Per socket connection webs structure
 */
typedef struct websRec {
	ringq_t			header;				/* Header dynamic string */
	time_t			since;				/* Parsed if-modified-since time */
	sym_fd_t		cgiVars;			/* CGI standard variables */
	sym_fd_t		cgiQuery;			/* CGI decoded query string */
	time_t			timestamp;			/* Last transaction with browser */
	int				timeout;			/* Timeout handle */
	char_t			ipaddr[32];			/* Connecting ipaddress */
	char_t			type[64];			/* Mime type */
	char_t			*dir;				/* Directory containing the page */
	char_t			*path;				/* Path name without query */
	char_t			*url;				/* Full request url */
	char_t			*host;				/* Requested host */
	char_t			*lpath;				/* Cache local path name */
	char_t			*query;				/* Request query */
	char_t			*decodedQuery;		/* Decoded request query */
	char_t			*authType;			/* Authorization type (Basic/DAA) */
	char_t			*password;			/* Authorization password */
	char_t			*userName;			/* Authorization username */
	char_t			*cookie;			/* Cookie string */
	char_t			*userAgent;			/* User agent (browser) */
	char_t			*protocol;			/* Protocol (normally HTTP) */
	char_t			*protoVersion;		/* Protocol version */
	int				sid;				/* Socket id (handler) */
	int				listenSid;			/* Listen Socket id */
	int				port;				/* Request port number */
	int				state;				/* Current state */
	int				flags;				/* Current flags -- see above */
	int				code;				/* Request result code */
	int				clen;				/* Content length */
	int				wid;				/* Index into webs */
	char_t			*cgiStdin;			/* filename for CGI stdin */
	int				docfd;				/* Document file descriptor */
	int				numbytes;			/* Bytes to transfer to browser */
	int				written;			/* Bytes actually transferred */
	void			(*writeSocket)(struct websRec *wp);
#ifdef DIGEST_ACCESS_SUPPORT
    char_t			*realm;		/* usually the same as "host" from websRec */
    char_t			*nonce;		/* opaque-to-client string sent by server */
    char_t			*digest;	/* digest form of user password */
    char_t			*uri;		/* URI found in DAA header */
    char_t			*opaque;	/* opaque value passed from server */
    char_t			*nc;		/* nonce count */
    char_t			*cnonce;	/* check nonce */
    char_t			*qop;		/* quality operator */
#endif
#ifdef WEBS_SSL_SUPPORT
	websSSL_t		*wsp;		/* SSL data structure */
#endif
} websRec;

typedef websRec	*webs_t;
typedef websRec websType;

/******************************** Prototypes **********************************/
extern int		 websAccept(int sid, char *ipaddr, int port, int listenSid);
extern int 		 websAspDefine(char_t *name, 
					int (*fn)(int ejid, webs_t wp, int argc, char_t **argv));
extern int 		 websAspRequest(webs_t wp, char_t *lpath);
extern void		 websCloseListen();
extern int 		 websDecode64(char_t *outbuf, char_t *string, int buflen);
extern void		 websDecodeUrl(char_t *token, char_t *decoded, int len);
extern void  	 websDone(webs_t wp, int code);
extern void 	 websEncode64(char_t *outbuf, char_t *string, int buflen);
extern void  	 websError(webs_t wp, int code, char_t *msg, ...);
/* function websErrorMsg() made extern 03 Jun 02 BgP */
extern char_t 	*websErrorMsg(int code);
extern void  	 websFooter(webs_t wp);
extern int 		 websFormDefine(char_t *name, void (*fn)(webs_t wp, 
					char_t *path, char_t *query));
extern char_t 	*websGetDefaultDir();
extern char_t 	*websGetDefaultPage();
extern char_t 	*websGetHostUrl();
extern char_t 	*websGetIpaddrUrl();
extern char_t 	*websGetPassword();
extern int		 websGetPort();
extern char_t 	*websGetPublishDir(char_t *path, char_t **urlPrefix);
extern char_t 	*websGetRealm();
extern int 		 websGetRequestBytes(webs_t wp);
extern char_t	*websGetRequestDir(webs_t wp);
extern int		 websGetRequestFlags(webs_t wp);
extern char_t	*websGetRequestIpaddr(webs_t wp);
extern char_t 	*websGetRequestLpath(webs_t wp);
extern char_t	*websGetRequestPath(webs_t wp);
extern char_t	*websGetRequestPassword(webs_t wp);
extern char_t	*websGetRequestType(webs_t wp);
extern int 		 websGetRequestWritten(webs_t wp);
extern char_t 	*websGetVar(webs_t wp, char_t *var, char_t *def);
extern int 		 websCompareVar(webs_t wp, char_t *var, char_t *value);
extern void 	 websHeader(webs_t wp);
extern int		 websOpenListen(int port, int retries);
extern int 		 websPageOpen(webs_t wp, char_t *lpath, char_t *path,
					int mode, int perm);
extern void 	 websPageClose(webs_t wp);
extern int 		 websPublish(char_t *urlPrefix, char_t *path);
extern void		 websRedirect(webs_t wp, char_t *url);
extern void 	 websSecurityDelete();
extern int 		 websSecurityHandler(webs_t wp, char_t *urlPrefix, 
					char_t *webDir, int arg, char_t *url, char_t *path, 
					char_t *query);
extern void 	 websSetDefaultDir(char_t *dir);
extern void 	 websSetDefaultPage(char_t *page);
extern void 	 websSetEnv(webs_t wp);
extern void 	 websSetHost(char_t *host);
extern void 	 websSetIpaddr(char_t *ipaddr);
extern void 	 websSetPassword(char_t *password);
extern void 	 websSetRealm(char_t *realmName);
extern void 	 websSetRequestBytes(webs_t wp, int bytes);
extern void		 websSetRequestFlags(webs_t wp, int flags);
extern void 	 websSetRequestLpath(webs_t wp, char_t *lpath);
extern void 	 websSetRequestPath(webs_t wp, char_t *dir, char_t *path);
extern char_t	*websGetRequestUserName(webs_t wp);
extern void 	 websSetRequestWritten(webs_t wp, int written);
extern void 	 websSetVar(webs_t wp, char_t *var, char_t *value);
extern int 		 websTestVar(webs_t wp, char_t *var);
extern void		 websTimeoutCancel(webs_t wp);
extern int 		 websUrlHandlerDefine(char_t *urlPrefix, char_t *webDir, 
					int arg, int (*fn)(webs_t wp, char_t *urlPrefix, 
					char_t *webDir, int arg, char_t *url, char_t *path, 
					char_t *query), int flags);
extern int 		 websUrlHandlerDelete(int (*fn)(webs_t wp, char_t *urlPrefix,
					char_t *webDir, int arg, char_t *url, char_t *path, 
					char_t *query));
extern int		 websUrlHandlerRequest(webs_t wp);
extern int 		 websUrlParse(char_t *url, char_t **buf, char_t **host, 
					char_t **path, char_t **port, char_t **query, 
					char_t **proto, char_t **tag, char_t **ext);
extern char_t 	*websUrlType(char_t *webs, char_t *buf, int charCnt);
extern int 		 websWrite(webs_t wp, char_t* fmt, ...);
extern int 		 websWriteBlock(webs_t wp, char_t *buf, int nChars);
extern int 		 websWriteDataNonBlock(webs_t wp, char *buf, int nChars);
extern int 		 websValid(webs_t wp);
extern int 		 websValidateUrl(webs_t wp, char_t *path);
extern void		websSetTimeMark(webs_t wp);

/*
 *	The following prototypes are used by the SSL patch found in websSSL.c
 */
extern int 		websAlloc(int sid);
extern void 	websFree(webs_t wp);
extern void 	websTimeout(void *arg, int id);
extern void 	websReadEvent(webs_t wp);

/*
 *	Prototypes for functions available when running as part of the 
 *	GoAhead Embedded Management Framework (EMF)
 */
#ifdef EMF
extern void 	 websFormExplain(webs_t wp, char_t *path, char_t *query);
#endif

#endif /* _h_WEBS */

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲狠狠丁香婷婷综合久久久| 国产精品18久久久久久久久久久久 | 色综合久久久久| 在线综合视频播放| 中文字幕日本不卡| 欧美aⅴ一区二区三区视频| fc2成人免费人成在线观看播放| 欧美一区二区三区视频在线| 亚洲视频精选在线| 成人毛片老司机大片| 精品奇米国产一区二区三区| 亚洲高清免费视频| 在线观看不卡一区| 国产精品久久久久久久久免费丝袜| 蜜桃免费网站一区二区三区| 欧美日韩电影在线| 亚洲一区日韩精品中文字幕| 99久久er热在这里只有精品66| 久久久99免费| 久久99久国产精品黄毛片色诱| 7777女厕盗摄久久久| 亚洲欧美日韩国产综合| 成人app软件下载大全免费| 久久午夜色播影院免费高清 | 欧美日韩大陆在线| 性做久久久久久| 欧美性视频一区二区三区| 一区二区三区精密机械公司| a在线播放不卡| 国产精品激情偷乱一区二区∴| 国产一本一道久久香蕉| 精品处破学生在线二十三| 毛片一区二区三区| 亚洲精品一区二区在线观看| 狠狠色2019综合网| 久久精品亚洲麻豆av一区二区 | 久久久夜色精品亚洲| 韩国女主播一区| 国产日韩欧美精品综合| 国产精品一区二区你懂的| 中文字幕精品一区二区三区精品| 成人国产精品免费观看动漫| 亚洲欧洲在线观看av| 色999日韩国产欧美一区二区| 亚洲精品久久久久久国产精华液| 欧美亚洲高清一区二区三区不卡| 亚洲不卡在线观看| 欧美电影免费观看高清完整版在线| 久久精品久久久精品美女| 久久综合99re88久久爱| 成人激情文学综合网| 亚洲精品免费电影| 日韩一区二区影院| 懂色一区二区三区免费观看| 亚洲欧美日韩一区二区三区在线观看| 一本色道综合亚洲| 日本强好片久久久久久aaa| 久久先锋影音av| 色噜噜狠狠色综合中国| 日韩精品每日更新| 国产精品私人自拍| 91精品国产一区二区三区蜜臀| 国产一区二区精品久久| 亚洲天堂久久久久久久| 制服丝袜日韩国产| 成人国产精品免费观看视频| 五月激情六月综合| 国产精品欧美经典| 91精品国产丝袜白色高跟鞋| aa级大片欧美| 日本午夜精品一区二区三区电影 | 精品国产乱码久久久久久久| 成人精品视频一区二区三区| 日韩黄色小视频| 亚洲欧洲av在线| 精品黑人一区二区三区久久| 日本精品一级二级| 国产精品综合二区| 日韩不卡手机在线v区| 亚洲欧美怡红院| 久久综合九色综合欧美98| 色狠狠色狠狠综合| 粉嫩欧美一区二区三区高清影视| 午夜精品久久久久久久99水蜜桃| 中文字幕不卡三区| 日韩免费观看2025年上映的电影| 在线观看免费成人| av电影在线观看一区| 国产美女av一区二区三区| 亚洲国产精品一区二区尤物区| 国产片一区二区三区| 日韩一级黄色大片| 91免费国产在线| 成熟亚洲日本毛茸茸凸凹| 奇米影视在线99精品| 亚洲图片欧美综合| 亚洲日本护士毛茸茸| 中文字幕av不卡| 国产欧美一区在线| 久久久精品国产免费观看同学| 欧美一区三区二区| 欧美高清性hdvideosex| 欧洲一区二区三区在线| 91免费看`日韩一区二区| 成人激情动漫在线观看| 懂色av一区二区三区免费观看| 狠狠色丁香婷婷综合| 久久精品理论片| 久热成人在线视频| 精品无人码麻豆乱码1区2区 | 国产欧美视频在线观看| 精品国产1区2区3区| 欧美大片在线观看一区| 欧美电影免费观看高清完整版在线| 欧美一区二区三区四区久久| 3d成人动漫网站| 欧美一区二区三区色| 欧美一区二区在线看| 欧美一激情一区二区三区| 91精品国产入口| 亚洲精品一线二线三线无人区| 精品国产乱码久久久久久蜜臀| 久久久高清一区二区三区| 久久精品一区二区三区不卡| 国产欧美精品在线观看| 18欧美乱大交hd1984| 亚洲黄色尤物视频| 日韩一区欧美二区| 久久99精品久久久久久| 国产一区二区三区免费观看| 高清久久久久久| 色综合久久综合网| 制服丝袜国产精品| 国产拍欧美日韩视频二区| 亚洲免费在线播放| 日本中文一区二区三区| 国产一区二区三区免费播放| 99久久综合精品| 欧美日本在线观看| 精品va天堂亚洲国产| 日韩毛片高清在线播放| 天堂在线亚洲视频| 国产盗摄一区二区三区| 在线精品视频一区二区| 欧美va天堂va视频va在线| 国产精品国产自产拍在线| 午夜婷婷国产麻豆精品| 国产福利视频一区二区三区| 在线亚洲免费视频| 久久品道一品道久久精品| 亚洲在线观看免费| 国产99久久久国产精品| 欧美日韩国产综合一区二区| 久久久久久免费毛片精品| 亚洲图片一区二区| 成人性生交大片免费看在线播放| 欧美午夜精品久久久久久超碰 | 国产一区二区三区蝌蚪| 欧美在线观看一二区| 久久久不卡网国产精品一区| 午夜精品久久久久久久99樱桃| 国产成人精品综合在线观看 | 成人免费在线播放视频| 久久成人综合网| 欧美三级三级三级爽爽爽| 欧美激情在线一区二区| 日韩国产在线一| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美日韩国产在线观看| 国产精品久久福利| 精品午夜久久福利影院 | 免费成人在线网站| 91麻豆国产精品久久| 国产欧美视频一区二区三区| 蜜臀av在线播放一区二区三区| 99精品1区2区| 国产精品丝袜一区| 国产精品综合一区二区三区| 欧美一二三在线| 日韩专区中文字幕一区二区| 色婷婷亚洲一区二区三区| 中国av一区二区三区| 久久婷婷色综合| 精品国产1区二区| 亚洲电影一级黄| 日本二三区不卡| 亚洲欧洲av另类| 成人av网站大全| 欧美国产欧美亚州国产日韩mv天天看完整| 日本欧美一区二区| 欧美高清视频不卡网| 亚洲成人一区二区在线观看| 91黄色免费看| 一个色综合网站| 色综合久久久久| 亚洲最快最全在线视频| 日本韩国欧美一区| 亚洲图片欧美色图| 欧美美女视频在线观看| 亚洲成人三级小说|