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

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

?? http.h

?? cryptlib安全工具包
?? H
字號:
/****************************************************************************
*																			*
*						cryptlib HTTP Interface Header						*
*						Copyright Peter Gutmann 1998-2006					*
*																			*
****************************************************************************/

#ifdef USE_HTTP

#if defined( INC_ALL )
  #include "stream_int.h"
#else
  #include "io/stream_int.h"
#endif /* Compiler-specific includes */

/* The size of the HTTP text-line buffer when we're using a dedicated buffer
   to read header lines rather than the main stream buffer.  Anything more
   than this is dropped */

#define HTTP_LINEBUF_SIZE	1024

/* A macro to determine whether we're talking HTTP 1.0 or 1.1 */

#define isHTTP10( stream )	( ( stream )->flags & STREAM_NFLAG_HTTP10 )

/* HTTP state information passed around the various read/write functions */

#define HTTP_FLAG_NONE		0x00	/* No HTTP info */
#define HTTP_FLAG_CHUNKED	0x01	/* Message used chunked encoding */
#define HTTP_FLAG_TRAILER	0x02	/* Chunked encoding has trailer */
#define HTTP_FLAG_NOOP		0x04	/* No-op data (e.g. 100 Continue) */
#define HTTP_FLAG_TEXTMSG	0x08	/* HTTP content is plain text, probably
									   an error message */
#define HTTP_FLAG_GET		0x10	/* Operation is HTTP GET */
#define HTTP_FLAG_MAX		0x1F	/* Maximum possible flag value */

/* HTTP header parsing information as used by readHeaderLines() */

typedef struct {
	/* Returned status information: The body content-length, the HTTP error
	   status (if there is one), and general flags information.  The flags
	   parameter is used as both an input and an output parameter */
	int contentLength;	/* HTTP body content length */
	int httpStatus;		/* HTTP error status, if an HTTP error occurs */
	int flags;			/* General flags */

	/* Range-checking information: The minimum and maximum allowable
	   content-length value */
	int minContentLength, maxContentLength;
	} HTTP_HEADER_INFO;

#define initHeaderInfo( headerInfo, minLength, maxLength, hdrFlags ) \
		memset( headerInfo, 0, sizeof( HTTP_HEADER_INFO ) ); \
		( headerInfo )->flags = ( hdrFlags ); \
		( headerInfo )->minContentLength = ( minLength ); \
		( headerInfo )->maxContentLength = ( maxLength );

/* Prototypes for functions in http_wr.c */

CHECK_RETVAL STDC_NONNULL_ARG( ( 1 ) ) \
int writeRequestHeader( INOUT STREAM *stream, 
						IN_OPT const HTTP_URI_INFO *httpReqInfo,
						IN_BUFFER_OPT( contentTypeLen ) const char *contentType, 
						IN_LENGTH_SHORT_Z const int contentTypeLen, 
						IN_LENGTH_Z const int contentLength );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 2 ) ) \
int sendHTTPData( INOUT STREAM *stream, 
				  IN_BUFFER( length ) void *buffer, 
				  IN_LENGTH const int length, 
				  IN_FLAGS( HTTP ) const int flags );
STDC_NONNULL_ARG( ( 1 ) ) \
void setStreamLayerHTTPwrite( INOUT NET_STREAM_INFO *netStream );

/* Prototypes for functions in http_parse.c.  Most of these functions don't 
   actually return anything in the buffer that's passed in but merely use it 
   as general scratch buffer to save having to give each function its own
   (sizeable) scratch buffer */

STDC_NONNULL_ARG( ( 1, 2 ) ) \
int sendHTTPError( INOUT STREAM *stream, 
				   IN_BUFFER( headerBufMaxLen ) char *headerBuffer, 
				   IN_LENGTH_SHORT_MIN( 256 ) const int headerBufMaxLen, 
				   IN_INT const int httpStatus );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 3 ) ) \
int checkHTTPID( IN_BUFFER( dataLength ) const char *data, 
				 IN_LENGTH_SHORT const int dataLength, 
				 INOUT STREAM *stream );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 3, 4 ) ) \
int parseUriInfo( OUT_BUFFER( dataInLength, *dataOutLength ) char *data, 
				  IN_LENGTH_SHORT const int dataInLength, 
				  OUT_LENGTH_SHORT_Z int *dataOutLength, 
				  INOUT HTTP_URI_INFO *uriInfo );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 2, 4 ) ) \
int readFirstHeaderLine( INOUT STREAM *stream, 
						 OUT_BUFFER_FIXED( dataMaxLength ) char *dataBuffer, 
						 IN_LENGTH_SHORT const int dataMaxLength, 
						 OUT_RANGE( 0, 999 ) int *httpStatus );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 2, 4 ) ) \
int readHeaderLines( INOUT STREAM *stream, 
					 OUT_BUFFER_FIXED( lineBufMaxLen ) char *lineBuffer, 
					 IN_LENGTH_SHORT_MIN( 256 ) const int lineBufMaxLen,
					 INOUT HTTP_HEADER_INFO *headerInfo );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 2 ) ) \
int readTrailerLines( INOUT STREAM *stream, 
					  OUT_BUFFER_FIXED( lineBufMaxLen ) char *lineBuffer, 
					  IN_LENGTH_SHORT_MIN( 256 ) const int lineBufMaxLen );
STDC_NONNULL_ARG( ( 1, 4 ) ) \
int retTextLineError( INOUT STREAM *stream, IN_ERROR const int status, 
					  const BOOLEAN isTextLineError, 
					  FORMAT_STRING const char *format, 
					  const int value );

#endif /* USE_HTTP */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品videosex极品| 性做久久久久久| 制服.丝袜.亚洲.另类.中文| 国产成人综合在线观看| 亚洲成人免费看| 亚洲色图另类专区| 精品国产伦一区二区三区观看体验 | 成人精品国产福利| 日韩成人一区二区| 亚洲欧美日韩系列| 久久女同精品一区二区| 在线观看91精品国产麻豆| 93久久精品日日躁夜夜躁欧美| 韩国成人精品a∨在线观看| 欧美巨大另类极品videosbest | 日韩精品专区在线影院重磅| 色偷偷久久一区二区三区| 国产精品123区| 久久福利视频一区二区| 午夜精品一区二区三区三上悠亚 | 中文字幕av一区二区三区高| 成人国产亚洲欧美成人综合网| 九九久久精品视频| 日韩av在线播放中文字幕| 亚洲综合清纯丝袜自拍| 国产精品福利在线播放| 久久婷婷综合激情| 欧美tickle裸体挠脚心vk| 91福利社在线观看| 91免费观看视频| 成人在线视频首页| 国产不卡视频在线播放| 亚洲免费观看在线视频| 国产精品乱人伦中文| 国产欧美视频一区二区| 久久久综合精品| 国产午夜亚洲精品不卡| 久久久久久久久97黄色工厂| 欧美变态tickle挠乳网站| 欧美一激情一区二区三区| 欧美一区二区日韩一区二区| 欧美一区二区视频观看视频| 91精品国产麻豆| 精品日韩一区二区三区| 国产亚洲一区二区在线观看| 国产视频一区在线观看| 中文字幕 久热精品 视频在线 | 精品播放一区二区| 久久一区二区视频| 久久久精品国产免费观看同学| 久久久久久影视| 国产精品网站导航| 亚洲色图色小说| 亚洲国产精品久久一线不卡| 亚洲成人高清在线| 日本少妇一区二区| 精品综合久久久久久8888| 国产主播一区二区三区| 成人a级免费电影| 欧美在线999| 欧美一区二区三区小说| 久久久精品黄色| 一区二区在线观看免费视频播放| 性感美女久久精品| 精品中文字幕一区二区| www.欧美精品一二区| 欧美系列日韩一区| 欧美大片一区二区| 国产精品色婷婷久久58| 亚洲成人av福利| 中文字幕精品一区二区三区精品| 亚洲精品国产视频| 日韩av一区二区三区四区| 国产成人久久精品77777最新版本| 色婷婷av一区二区三区软件 | 欧美无人高清视频在线观看| 日韩三级视频在线观看| 国产精品国产三级国产三级人妇 | 欧美激情一区二区三区四区| 一区二区欧美精品| 久久成人av少妇免费| jvid福利写真一区二区三区| 捆绑变态av一区二区三区| 懂色一区二区三区免费观看| 欧美视频一区二区在线观看| 久久久99精品免费观看| 亚洲激情图片一区| 国产精品中文字幕日韩精品| 不卡一区二区三区四区| 91精品在线免费观看| 中文字幕在线观看一区二区| 午夜精品福利一区二区三区蜜桃| 国产成人免费9x9x人网站视频| 另类中文字幕网| 欧美综合久久久| 亚洲国产精品激情在线观看| 丝袜脚交一区二区| 成人av电影观看| 中文字幕在线观看不卡视频| 久久99国内精品| 99视频热这里只有精品免费| 欧美成人精品高清在线播放| 亚洲高清视频在线| 成人国产在线观看| 久久一区二区三区四区| 天天影视涩香欲综合网 | 在线综合+亚洲+欧美中文字幕| 亚洲欧美一区二区在线观看| 国产精品一二三在| 日韩欧美第一区| 日韩电影网1区2区| 在线观看欧美黄色| 亚洲日韩欧美一区二区在线| 成人免费视频免费观看| 欧美精品一区二区三区久久久 | 国产成人精品在线看| 精品免费国产一区二区三区四区| 日本vs亚洲vs韩国一区三区二区| 色偷偷久久一区二区三区| 自拍偷拍亚洲欧美日韩| 成人avav在线| 中文字幕在线不卡一区二区三区| 国产成人精品午夜视频免费| 久久亚洲精品国产精品紫薇| 日韩精品一区第一页| 91精品办公室少妇高潮对白| 国产精品成人免费在线| 美女久久久精品| 成人午夜视频免费看| 久久久久九九视频| 麻豆一区二区三| 欧美日韩在线直播| 亚洲欧美一区二区视频| 懂色av中文字幕一区二区三区| 日韩免费看的电影| 日韩av电影天堂| 欧美中文字幕不卡| 日韩激情av在线| 欧美性生交片4| 亚洲男人天堂av网| 97久久久精品综合88久久| 久久久精品国产免大香伊| 精品一区二区在线免费观看| 精品中文字幕一区二区| 日韩欧美精品在线视频| 午夜精品福利视频网站| 成人午夜激情在线| 国产人成亚洲第一网站在线播放| 久久九九久久九九| 99re在线精品| 亚洲精品免费电影| 色综合久久中文综合久久牛| 欧美经典一区二区| 91视视频在线观看入口直接观看www | 欧美艳星brazzers| 亚洲免费高清视频在线| 丁香啪啪综合成人亚洲小说| 亚洲日本青草视频在线怡红院| hitomi一区二区三区精品| 久久久久久一级片| 国产成人精品免费网站| 中文欧美字幕免费| 色综合久久综合网97色综合| 亚洲女人的天堂| 日本精品视频一区二区三区| 一区二区三区**美女毛片| 日韩欧美卡一卡二| 国产一区中文字幕| 国产精品毛片大码女人| 91美女在线看| 亚洲国产中文字幕| 制服丝袜日韩国产| 九色综合国产一区二区三区| 国产精品久久久久久久久免费樱桃| 91影院在线免费观看| 亚洲国产综合91精品麻豆| 欧美日韩一区二区在线观看视频 | 极品美女销魂一区二区三区| 久久久久88色偷偷免费| aaa国产一区| 尤物在线观看一区| 91精品婷婷国产综合久久竹菊| 久久疯狂做爰流白浆xx| 国产精品毛片大码女人| 日韩一级大片在线观看| 丁香五精品蜜臀久久久久99网站| 亚洲人成7777| 91麻豆精品国产91久久久| 奇米精品一区二区三区在线观看一| 久久人人超碰精品| 91高清视频免费看| 韩国女主播一区二区三区| 1024亚洲合集| 久久久久成人黄色影片| 91久久精品一区二区三区| 麻豆国产91在线播放| **性色生活片久久毛片| 欧美一区二区三区白人| 99九九99九九九视频精品| 一区二区三区蜜桃|