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

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

?? rmlibhttp.h

?? Dag Erling http library source code
?? H
字號:
/*- * Copyright (c) 1998-2004 Dag-Erling Co飀an Sm鴕grav * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer *    in this position and unchanged. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/lib/libfetch/fetch.h,v 1.26 2004/09/21 18:35:20 des Exp $ *//** * @file rmlibhttp.h * @brief HTTP library, based on the FreeBSD libfetch. * * This library can be used to retrieved files from a HTTP server, allowing the * client to seek. It can be used in cached mode to minimize the number of HTTP * request sent over the wire when a file is not read in linear mode, but * accessed randomly. In this case, the library will involve an extra memcpy. *  * <pre> *  * Copyright (c) 1998-2004 Dag-Erling Co飀an Sm鴕grav * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer *    in this position and unchanged. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * </pre> *  * @author Julien Lerouge (for Sigma Designs extensions only) * @date   2005-03-31 */ #ifndef _FETCH_H_INCLUDED#define _FETCH_H_INCLUDED#ifndef ALLOW_OS_CODE#define ALLOW_OS_CODE 1#endif#include "../../rmdef/rmdef.h"RM_EXTERN_C_BLOCKSTART#include "../../rmlibcw/include/rmlibcw.h"#include "../../rmcore/include/rmcore.h"/** Lib fetch version */#define _LIBFETCH_VER "libfetch/2.0/Sigma"/** HTTPFile handle opaque */struct http_file;typedef struct http_file HTTPFile;/** * @brief HTTP flags * * Flags suitable for fetchOpen : * 	- RM_HTTP_NO_PROXY : don't use any proxy. By default, tries to get the * 	  proxy from the environment (HTTP_PROXY) * 	- RM_HTTP_VERBOSE : be more verbose * 	- RM_HTTP_IPV4 : defaultm use IPV4 * 	- RM_HTTP_IPV6 : use IPV6 when opening sockets (if supported) * 	- RM_HTTP_NO_REDIRECT : don't allow any redirection *	- RM_HTTP_OPEN_CACHED : open an URL in cached mode (default uncached) * <pre> * *       When a URL is opened in cached mode, a small amount of memory is *       malloced to store data, so that several HTTP request on the same data *       range only generate one real request on the wire. Access to the file *       is then divided into chunks. Each chunk has the size of one line of *       the cache. This mode is useful when seeking is often required on a *       file, or when a file needs random access. It requires a HTTP 1.1 *       server, since it will pipeline several requests on one connection. * *       For example in cached mode, if one line of cache is 128KB, reading *       from offset 125KB to 148KB would require two HTTP request (on the *       same connection) : *               1. 0 -> 128 KB *               2. 128 -> 256 KB * *       Another read for the range 32KB to 64Kb would not require sending *       any other HTTP request. * *       In regular mode, each time a seek is needed or each time linear *       reading of the file needs to be broken, a new HTTP connection and a *       new HTTP request is required. * * </pre>  *	- RM_HTTP_CUSTOM_HEADER : if this flag is set, then the next call to *	  fetchOpen will use the custom header, set with the function *	  fetchSetCustomHeader, as an additionnal header in the HTTP request *	  for all the request on this URL (useful for custom DRM header for *	  example). The custom header is duplicated with a malloc for each *	  fetchOpen. */typedef enum {	RM_HTTP_NO_PROXY	=	 1,	RM_HTTP_VERBOSE		=	 2,	RM_HTTP_IPV4		=	 4,	RM_HTTP_IPV6		= 	 8,	RM_HTTP_NO_REDIRECT	=	16,	RM_HTTP_OPEN_CACHED     =    	32,	RM_HTTP_CUSTOM_HEADER	=	64,	RM_HTTP_CUSTOM_HOOKS	=      128}RMHTTPFlags;/** @defgroup shemes Recognized schemes*//* @{ *//**  * ftp is only there in case a redirection from a HTTP server to a FTP server * happens */#define SCHEME_FTP	"ftp"/** HTTP scheme, used to identify HTTP URL */#define SCHEME_HTTP	"http"/** HTTPS scheme, used to identify HTTPS URL */#define SCHEME_HTTPS	"https"/* @} *//** @defgroup errors Error codes *//* @{ */#define	FETCH_ABORT	 1 	/**< Connection reset or aborted */#define	FETCH_AUTH	 2	/**< Auth required or bad auth */#define	FETCH_DOWN	 3	/**< Connection refused or host down */#define	FETCH_EXISTS	 4	/**< Already exist */#define	FETCH_FULL	 5	/**< No more space */#define	FETCH_INFO	 6	/**< Info */#define	FETCH_MEMORY	 7	/**< No more memory */#define	FETCH_MOVED	 8	/**< Moved */#define	FETCH_NETWORK	 9	/**< Network error */#define	FETCH_OK	10	/**< No error */#define	FETCH_PROTO	11	/**< Protocol error */#define	FETCH_RESOLV	12	/**< Resolver error */#define	FETCH_SERVER	13	/**< Internal server error */#define	FETCH_TEMP	14	/**< Service unavailable */#define	FETCH_TIMEOUT	15	/**< Timeout */#define	FETCH_UNAVAIL	16	/**< Not available */#define	FETCH_UNKNOWN	17	/**< Unknown error */#define	FETCH_URL	18	/**< Bad URL */#define	FETCH_VERBOSE	19	/**< Verbose */#define	FETCH_PIPE	20	/**< Connection closed by peer *//* @} *//** @defgroup cache Cache parameters *//* @{ *//** Size of one line in the cache, log2 */#define CACHELOG2 17 			//128K/** Size of one line in the cache (bytes) */#define CACHEBUFFERSIZE (1<<CACHELOG2)/** Number of lines in one cache, must be < 32 */#define CACHENBUFFER 8/* @} *//**   For custom http hooks: open, close, reopen, seek, pre-read, and post-read operations.   Suitable for use with link-level decryption.   Your functions should return -1 to indicate an error, and 0 otherwise.*/typedef RMint32 (*HttpOpenHookOp) (void *cookie);typedef RMint32 (*HttpCloseHookOp) (void *cookie);typedef RMint32 (*HttpReopenHookOp) (void *cookie);typedef RMint32 (*HttpSeekHookOp) (void *cookie, RMint64 position, RMint32 whence);typedef RMint32 (*HttpPreReadHookOp) (void *cookie, RMuint8 *buffer, RMint32 length);typedef RMint32 (*HttpPostReadHookOp) (void *cookie, RMuint8 *buffer, RMint32 length, RMint32 *more_data);/**   For custom http hooks, hook operations struct*/typedef struct {	HttpOpenHookOp     open;	HttpCloseHookOp    close;	HttpReopenHookOp   reopen;	HttpSeekHookOp     seek;	HttpPreReadHookOp  preread;	HttpPostReadHookOp postread;} HttpHookOps;/** * Set custom hooks. The custom hooks will be used if the * RM_HTTP_CUSTOM_HOOKS flag is set during the fetchOpen. * * @param cookie - cookie used by the hooks. * @param hooks - set of custom callbacks that use the cookie. * @return void */RM_LIBRARY_IMPORT_EXPORT void fetchSetCustomHooks(void *cookie, HttpHookOps *hooks);/** * Set custom headers. The custom headers will be used if the * RM_HTTP_CUSTOM_HEADER flag is set during the fetchOpen. * * @param header - custom header, should use "\r\n" as end of line, NULL *                 terminated. The final "\r\n" will be added upon sending over *                 the wire.  This string will be duplicated by each fetchOpen, *                 so it should ne be freed before the fetchOpen. * @return void */RM_LIBRARY_IMPORT_EXPORT void fetchSetCustomHeader(RMascii *header);/**  * Open a URL, returns a HTTPFile * or NULL on error. *  * flags can be a bitwise-or'd combination of the RMHTTPFlags.  * @param URL - URL to open * @param flags - flags for this URL * @return HTTPFile, NULL on error. */RM_LIBRARY_IMPORT_EXPORT HTTPFile * fetchOpen(const RMascii *URL, RMHTTPFlags flags);/** * Get the current position in a HTTP stream (if possible) * * @param file - opened HTTP stream * @return RMint64 position, -1 on error */RM_LIBRARY_IMPORT_EXPORT RMint64 fetchTell(HTTPFile * file);/** * Seek in a HTTP stream * * @param file - opened HTTP stream * @param offset - seek position * @param whence - reference for the position, can be RM_FILE_SEEK_START, *                 RM_FILE_SEEK_CURRENT, or RM_FILE_SEEK_END. * @return 0 on success, -1 on error */RM_LIBRARY_IMPORT_EXPORT RMint32 fetchSeek(HTTPFile * file, RMint64 offset, RMint32 whence);/** * Read from a HTTP stream * * @param file - opened HTTP stream * @param buf * @param size * @return 0 on EOF, -1 on error, number of bytes read else */RM_LIBRARY_IMPORT_EXPORT RMint32 fetchRead(RMuint8 *buf, RMint32 size, HTTPFile * file);/** * Close a HTTP stream * * @param file - opened HTTP strea * @return -1 on error, 0 on success */RM_LIBRARY_IMPORT_EXPORT RMint32 fetchClose(HTTPFile * file);/** Exported symbol, suitable for use with RMOpenFileCookie, see rmfile.h */RM_LIBRARY_IMPORT_EXPORT extern void *httpFileOps;/** Last HTTP error code */RM_LIBRARY_IMPORT_EXPORT extern RMint32		 fetchLastErrCode;#define MAXERRSTRING 256/** Last HTTP error string */RM_LIBRARY_IMPORT_EXPORT extern RMascii		 fetchLastErrString[MAXERRSTRING];/** I/O timeout */RM_LIBRARY_IMPORT_EXPORT extern RMint32		 fetchTimeout;/** Restart interrupted syscalls */RM_LIBRARY_IMPORT_EXPORT extern RMint32		 fetchRestartCalls;RM_EXTERN_C_BLOCKEND#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频免费播放| 欧美日韩免费电影| 天堂成人国产精品一区| 日韩女优av电影| 色婷婷综合久久| 国产一区二区0| 亚洲成人手机在线| ...xxx性欧美| 精品国产麻豆免费人成网站| 在线日韩国产精品| 国产乱子伦一区二区三区国色天香| 亚洲一区二区视频在线| 国产精品免费久久| ww久久中文字幕| 日韩欧美一二区| 欧美电影在线免费观看| 色一区在线观看| 国产精品系列在线播放| 老司机免费视频一区二区三区| 亚洲一区二区在线播放相泽| 1024成人网色www| 国产精品日韩精品欧美在线| 精品成人一区二区| 日韩欧美电影一区| 91精品国产综合久久精品麻豆 | 日韩三级视频中文字幕| 欧美亚洲国产一卡| 色婷婷亚洲综合| thepron国产精品| 成人午夜看片网址| 国产不卡免费视频| 国产揄拍国内精品对白| 久久99精品一区二区三区| 日产国产高清一区二区三区| 亚洲午夜激情网页| 亚洲午夜久久久久久久久电影院| 亚洲女人****多毛耸耸8| **欧美大码日韩| 亚洲手机成人高清视频| 专区另类欧美日韩| 亚洲精品国产精华液| 亚洲免费观看高清完整版在线观看| 国产精品午夜免费| 国产精品久久看| 亚洲免费毛片网站| 综合激情网...| 一个色综合网站| 亚洲va欧美va人人爽| 香蕉加勒比综合久久| 午夜在线成人av| 日韩国产欧美在线视频| 美国毛片一区二区三区| 久久99精品国产91久久来源| 极品少妇xxxx偷拍精品少妇| 国产成人啪免费观看软件| 国产精品一区免费在线观看| 成人免费精品视频| 欧美伊人久久久久久午夜久久久久| 色www精品视频在线观看| 欧美日本韩国一区二区三区视频 | 555www色欧美视频| 欧美一卡二卡三卡| 久久色在线观看| 欧美国产日韩a欧美在线观看| 国产精品国产三级国产专播品爱网| 亚洲色图制服诱惑| 亚洲成a人片在线观看中文| 久久er精品视频| 92国产精品观看| 欧美日韩一区二区三区高清| 日韩一区二区在线播放| 欧美激情一区二区三区在线| 亚洲欧美区自拍先锋| 日本一不卡视频| 国产aⅴ综合色| 欧美日韩免费一区二区三区 | 5月丁香婷婷综合| 久久久久久久性| 亚洲永久免费av| 久久99国产精品久久| caoporm超碰国产精品| 欧美日本精品一区二区三区| 久久人人97超碰com| 亚洲精品水蜜桃| 国产美女在线观看一区| 色婷婷亚洲综合| 久久婷婷成人综合色| 亚洲综合自拍偷拍| 国产一区二区在线电影| 色婷婷av一区二区三区大白胸| 欧美第一区第二区| 亚洲综合丁香婷婷六月香| 国产一区二区三区免费观看| 91福利小视频| 国产夜色精品一区二区av| 日韩电影在线免费| 91女厕偷拍女厕偷拍高清| 欧美xxxx在线观看| 一区二区日韩电影| 成人一级视频在线观看| 日韩午夜激情av| 一区二区三区日韩精品视频| 国产麻豆精品在线观看| 欧美日韩国产成人在线免费| 亚洲欧洲精品一区二区三区不卡| 久久精品国产一区二区三 | 中文字幕中文字幕在线一区| 美女视频一区在线观看| 欧美中文字幕一区| 国产精品区一区二区三区| 久久精品国产精品亚洲红杏| 欧美中文字幕一区二区三区 | 五月天视频一区| 91热门视频在线观看| 日本一二三四高清不卡| 老司机午夜精品99久久| 91精品久久久久久久91蜜桃| 亚洲国产日韩av| 97久久超碰国产精品| 国产欧美日韩视频一区二区| 毛片不卡一区二区| 69p69国产精品| 午夜电影一区二区三区| 欧美三级中文字幕在线观看| 亚洲视频一区二区在线观看| 成人福利电影精品一区二区在线观看| 欧美videos大乳护士334| 婷婷国产在线综合| 欧美美女视频在线观看| 亚洲va国产va欧美va观看| 欧美日韩一区二区三区不卡| 亚洲6080在线| 欧美男男青年gay1069videost| 亚洲精品老司机| 色噜噜夜夜夜综合网| 亚洲欧美色综合| 欧美亚日韩国产aⅴ精品中极品| 亚洲另类中文字| 在线看一区二区| 亚洲在线视频一区| 欧美精品日韩一区| 日本亚洲视频在线| 精品久久一区二区| 国产精品911| 亚洲欧洲精品天堂一级| 91在线小视频| 亚洲一区二区在线播放相泽 | 欧美一级艳片视频免费观看| 日韩一区欧美二区| 欧美成人一区二区三区| 国内精品免费在线观看| 久久一留热品黄| 国产91精品久久久久久久网曝门 | 麻豆精品视频在线| 久久女同性恋中文字幕| 成人美女在线视频| 亚洲自拍偷拍综合| 欧美一区二区大片| 丁香六月久久综合狠狠色| 中文字幕一区二区日韩精品绯色| 欧洲亚洲国产日韩| 日本va欧美va欧美va精品| 久久精品亚洲一区二区三区浴池 | 国产精品一区二区91| 国产精品青草综合久久久久99| 一本大道久久a久久综合| 三级欧美韩日大片在线看| 精品福利在线导航| 91麻豆精东视频| 日日摸夜夜添夜夜添亚洲女人| 久久理论电影网| 色素色在线综合| 秋霞电影网一区二区| 国产精品每日更新| 欧美日韩国产综合久久| 国产一区二区三区最好精华液| 国产精品久久久久永久免费观看| 一本高清dvd不卡在线观看| 毛片一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 日韩一级片在线观看| 成人av中文字幕| 视频在线观看一区| 亚洲三级在线播放| 日韩视频免费观看高清完整版 | 久久99精品国产麻豆婷婷洗澡| 国产精品久久久久婷婷| 欧美一级欧美一级在线播放| 成人性色生活片| 久久国产免费看| 亚洲国产成人porn| 中文字幕av免费专区久久| 91精品国产色综合久久不卡蜜臀| 不卡视频在线观看| 毛片不卡一区二区| 亚欧色一区w666天堂| 中文字幕亚洲一区二区va在线| 精品成人免费观看| 7777精品伊人久久久大香线蕉经典版下载| 国产成人欧美日韩在线电影|