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

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

?? cslutils.h

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? H
字號:
/*					PICS library utilities!PICS library utilities!*//***	(c) COPYRIGHT MIT 1996.**	Please first read the full copyright statement in the file COPYRIGH.*//*This module defines the PICS library interface. */#ifndef CSLUTILS_H#define CSLUTILS_H/**/#include "HTUtils.h"#include "HTList.h"/*!Primitave Data Structures!BVal_t, FVal_t, SVal_t, DVal_t - hold a boolean, float (not double),string, or date value (respectively).  These data structures are designed sothat they may be initialized to all 0s (and hence included directly within  larger structures, rather than allocated and initialized individually).  Youmust, however, call their clear method to deallocate any additional memory  used to store the actual value once they have been initialized.  Thefollowing methods are defined on all four data types ("X" should be either"B" "F" "S" or "D", XType is "BOOL" "float" "char *" or "char *", respectively):	 	 o BOOL XVal_readVal(XVal_t, char *), etc. - convert the string to a value	 of the specified type.  Returns TRUE on success, FALSE on failure.  If	 successful, may allocate additional storage.	 o BOOL XVal_initialized(XVal_t) - Returns TRUE if the value has been  	 initialized (hence contains a legitimate value and may have additional	 storage allocated internally), FALSE otherwise.	 o XType XVal_value(XVal_t) -- Returns the value stored in the object.	 o void XVal_clear(XVal_t) -- Mark the object as uninitialized and release 	 any memory associated with the value currently stored in the object.	 	 .BVal.- Boolean value. (definition)*/typedef struct {    enum {BVal_UNINITIALIZED = 0,BVal_YES = 1, BVal_INITIALIZED = 2} state;    } BVal_t;extern BOOL BVal_readVal(BVal_t * pBVal, const char * valueStr);extern BOOL BVal_initialized(const BVal_t * pBVal);extern BOOL BVal_value(const BVal_t * pBVal);extern void BVal_clear(BVal_t * pBVal);/*(additional methods)	 	 o void set - assign value	 	 */extern void BVal_set(BVal_t * pBVal, BOOL value);/*.FVal.- Float value with negative and positive infinity values(definition)*/typedef struct {    float value;    enum {FVal_UNINITIALIZED = 0, FVal_VALUE = 1, FVal_NEGATIVE_INF = 2, 	  FVal_POSITIVE_INF = 3} stat;    } FVal_t;extern BOOL FVal_readVal(FVal_t * pFVal, const char * valueStr);extern BOOL FVal_initialized(const FVal_t * pFVal);extern float FVal_value(const FVal_t * pFVal);extern void FVal_clear(FVal_t * pFVal);/*(additional methods)	 	 o void set - assign a float value	 o void setInfinite - set to negative or positive infinity	 o BOOL isZero - see if value is zero	 o int isInfinite - -1 or 1 for negative or positive infinity	 o BOOL nearerZero - see if check is nearer zero than check	 o FVal_t FVal_minus - subtract small from big	 o char * FVal_toStr - convert to allocated CString, caller must free	 	 */extern void FVal_set(FVal_t * pFVal, float value);extern void FVal_setInfinite(FVal_t * pFVal, BOOL negative);extern BOOL FVal_isZero(const FVal_t * pFVal);extern int FVal_isInfinite(const FVal_t * pFVal);extern BOOL FVal_nearerZero(const FVal_t * pRef, const FVal_t * pCheck);extern FVal_t FVal_minus(const FVal_t * pBig, const FVal_t * pSmall);extern char * FVal_toStr(FVal_t * pFVal);/*(initializers)FVal intializers may be used when creating an FValeg. FVal_t localFVal = FVal_NEGATIVE_INF;*/#define FVal_NEW_UNINITIALIZED {(float) 0.0, FVal_UNINITIALIZED}#define FVal_NEW_NEGATIVE_INF {(float) 0.0, FVal_NEGATIVE_INF}#define FVal_NEW_POSITIVE_INF {(float) 0.0, FVal_POSITIVE_INF}#define FVal_NEW_ZERO {(float) 0.0, FVal_VALUE}/*.SVal.- String value. (definition)*/typedef struct {    char * value;    BOOL initialized;    } SVal_t;extern BOOL SVal_readVal(SVal_t * pSVal, const char * valueStr);extern BOOL SVal_initialized(const SVal_t * pSVal);extern char * SVal_value(const SVal_t * pSVal);extern void SVal_clear(SVal_t * pSVal);/*.DVal.- Date value. (definition)*/typedef struct {    char * value; /* keep the string around for debugging and output */    BOOL initialized;    int year;    int month;    int day;    int hour;    int minute;    int timeZoneHours;    int timeZoneMinutes;    } DVal_t;extern BOOL DVal_readVal(DVal_t * pDVal, const char * valueStr);extern BOOL DVal_initialized(const DVal_t * pDVal);extern char * DVal_value(const DVal_t * pDVal);extern void DVal_clear(DVal_t * pDVal);/*(additional methods)	 	 o int compare - -1 or 1 for a before or after b, 0 for equivilence	 	 */extern int DVal_compare(const DVal_t * a, const DVal_t * b);/*.Range.- Range of FVals. (definition)*/typedef struct {    FVal_t min;    FVal_t max;    } Range_t;/*(methods)	 	 o rangeToStr - print range to malloced string. This string must be freed 	 by caller	 o gap - find the difference between a and b	 	 	 */extern char * Range_toStr(Range_t * pRange);extern FVal_t Range_gap(Range_t * a, Range_t * b);/*(initializers)*/#define Range_NEW_UNINITIALIZED {FVal_NEW_UNINITIALIZED, \				 FVal_NEW_UNINITIALIZED}/*!Parser!.CSParse_parseChunk.CSParse_t - ephemeral parser data, the CSParse structure is defined inCSParse.html.CSDoMore_t - tells caller whether parseChunk expects more or encountered an error*/typedef struct CSParse_s CSParse_t;typedef enum {CSDoMore_more, CSDoMore_done, CSDoMore_error} CSDoMore_t;extern CSDoMore_t CSParse_parseChunk (CSParse_t * pCSParse, const char * ptr, 				      int len, void * pVoid);/*!Parse callbacks!During parsing, the parser makes callbacks to tell the caller that an error has been encountered or that the parser is reading into a new data structure..CSParseTC.The TC, or TargetChange, type is a way of itemizing the different targets ina parsable object. It is used in the TargetChangeCallback*/typedef unsigned int CSParseTC_t;/*.StateRet.*/typedef enum {StateRet_OK = 0, StateRet_DONE = 1, StateRet_WARN = 0x10, 	      StateRet_WARN_NO_MATCH = 0x11, StateRet_WARN_BAD_PUNCT = 0x12, 	      StateRet_ERROR = 0x100, StateRet_ERROR_BAD_CHAR = 0x101} StateRet_t;/*.TargetChangeCallback.These callbacks keep the caller abreast of what type of object the parser is currently reading. TargetChangeCallbacks are made whenever the parser starts or finishes reading one of these objects. The actual values of targetChange, and what objects they correlate to, can be found in the modules for the object being parsed.	 	 o CSLL.html for PICS labels.o CSMR.html for machine-readable service descriptions.o CSUser.html for PICS user profiles.	 	 	 Example: When reading a CSLabel, the callback will be called 	 with pTargetObject = CSLLTC_SERVICE when reading a service, CSLLTC_LABEL when	 reading a label, etc.	 */typedef struct TargetObject_s TargetObject_t;typedef StateRet_t TargetChangeCallback_t(CSParse_t * pCSParse, 					 TargetObject_t * pTargetObject, 					 CSParseTC_t targetChange, BOOL closed,					 void * pVoid);/*.ParseErrorHandler.*/typedef StateRet_t ParseErrorHandler_t(CSParse_t * pCSParse, 				       const char * token, 				       char demark, StateRet_t errorCode);/*.CSList_acceptLabels.get a malloced HTTP Protocol-Request string requesting PICS labels for all services in pServiceList*/typedef enum {CSCompleteness_minimal, CSCompleteness_short, 	      CSCompleteness_full, CSCompleteness_signed} CSCompleteness_t;extern char * CSList_acceptLabels(HTList * pServiceList, 				  CSCompleteness_t completeness);/*.CSList_getLabels.get a malloced HTTP GET string requesting PICS labels for all services in pServiceList*/typedef enum {CSOption_generic, CSOption_normal, CSOption_tree, 	      CSOption_genericTree} CSOption_t;extern char * CSList_getLabels(HTList * pServiceList, CSOption_t option, 			       CSCompleteness_t completeness);/*.CSList_postLabels.get a malloced HTTP GET string requesting PICS labels for all services in pServiceList*/extern char * CSList_postLabels(HTList * pServiceList, char * url, 				CSOption_t option, 				CSCompleteness_t completeness);/*.individual parsers..CSLabel.PICS label list*/typedef struct CSLabel_s CSLabel_t;/*.CSUser.PICS user profile*/typedef struct CSUser_s CSUser_t;/*.CSMachRead.PICS machine readable system description*/typedef struct CSMachRead_s CSMachRead_t;/*for reading label error codes*/typedef enum {    labelError_NA = 0,     labelError_NO_RATINGS,     labelError_UNAVAILABLE,     labelError_DENIED,     labelError_NOT_LABELED,    labelError_UNKNOWN    } LabelErrorCode_t;/*State_Parms - obsolete parameter exchange for iterators*/typedef struct State_Parms_s State_Parms_t;typedef enum {    CSError_OK = 0,     CSError_YES = 0,     CSError_NO = 1,     CSError_BUREAU_NONE,     CSError_RATING_VALUE,     CSError_RATING_RANGE,     CSError_RATING_MISSING,     CSError_SINGLELABEL_MISSING,     CSError_LABEL_MISSING,     CSError_SERVICE_MISSING,     CSError_CATEGORY_MISSING,     CSError_ENUM_MISSING,     CSError_BAD_PARAM,     CSError_BAD_DATE,     CSError_SERVICE_NONE,     CSError_RATING_NONE,     CSError_APP    } CSError_t;/**/#endif /* CSLUTILS_H *//*End of Declaration*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲高清一区| 日韩一区二区精品在线观看| 亚洲情趣在线观看| 欧美日韩一区二区在线视频| 老司机精品视频一区二区三区| 久久久久久久久蜜桃| 久久国产尿小便嘘嘘尿| 国产精品久久久久久福利一牛影视 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲欧美欧美一区二区三区| 亚洲综合一区在线| 韩国女主播一区二区三区| 亚洲午夜免费电影| 国产成人综合在线观看| 日本视频一区二区| 91官网在线观看| 国产麻豆精品视频| 久久99精品网久久| 欧美一区永久视频免费观看| 91日韩精品一区| 中文字幕中文字幕中文字幕亚洲无线| 亚洲自拍偷拍麻豆| 国产精品国产馆在线真实露脸| 久久久精品免费网站| 亚洲电影中文字幕在线观看| 91在线小视频| 玉米视频成人免费看| 日本道色综合久久| 亚洲一级片在线观看| 国产一区二区三区蝌蚪| 精彩视频一区二区三区| 国产日韩v精品一区二区| eeuss国产一区二区三区| 在线观看成人免费视频| 91麻豆成人久久精品二区三区| 亚洲日本一区二区三区| 亚洲与欧洲av电影| 五月天网站亚洲| 欧美不卡激情三级在线观看| 国产精品私人影院| 日本精品免费观看高清观看| 亚洲精品国久久99热| 91精品久久久久久久91蜜桃| 国产精品一区二区视频| 99精品国产99久久久久久白柏| 亚洲图片激情小说| 欧美精品自拍偷拍| 亚洲国产精品高清| 亚洲美女免费在线| 久久精品日产第一区二区三区高清版 | 日本欧美一区二区| 99久久99久久精品国产片果冻| 亚洲综合在线电影| 国产美女av一区二区三区| 亚洲国产欧美在线人成| 国产精品91一区二区| 亚洲成av人综合在线观看| 国产午夜精品一区二区三区嫩草 | 精品国产乱码久久久久久久久| 成人小视频免费在线观看| 欧美精品777| 日本韩国一区二区三区| 99久久精品免费| 精品一区二区三区在线观看| 欧美日韩视频在线一区二区 | 懂色av噜噜一区二区三区av| 天天av天天翘天天综合网色鬼国产| 国产亚洲欧美中文| 精品少妇一区二区三区在线视频| 欧美三级三级三级爽爽爽| 99久久国产综合精品色伊| 久久嫩草精品久久久精品 | 一区二区在线观看视频在线观看| 国产午夜亚洲精品羞羞网站| 亚洲激情在线激情| 亚洲欧洲精品一区二区三区| 国产在线国偷精品产拍免费yy| 日本成人在线电影网| 4438亚洲最大| 欧美日本韩国一区二区三区视频| 亚洲一二三专区| 视频在线观看91| 亚洲第一综合色| 日韩中文字幕不卡| 五月天中文字幕一区二区| 日韩一级在线观看| 国产欧美日韩一区二区三区在线观看| 国产v综合v亚洲欧| 中文字幕精品三区| 粉嫩绯色av一区二区在线观看 | 久久九九国产精品| 亚洲区小说区图片区qvod| 一区二区三区 在线观看视频| 一区二区三区.www| 精品亚洲国产成人av制服丝袜| 国产美女娇喘av呻吟久久| 91小视频免费观看| 欧美一区二区三区四区高清| 欧美成人一区二区| 99久久亚洲一区二区三区青草| 色国产精品一区在线观看| 丝袜美腿亚洲一区| 国产欧美日韩在线看| 欧美精品亚洲二区| 国产精品沙发午睡系列990531| 在线免费观看日韩欧美| 国产美女精品人人做人人爽| 色噜噜狠狠色综合中国| 激情av综合网| 日韩精品乱码免费| 成人国产视频在线观看| 欧美一区二区视频网站| 在线观看精品一区| 国产精品国产三级国产| 九九视频精品免费| 欧美日韩国产综合一区二区三区| 国产精品美女久久久久久久久 | 91精品国产色综合久久不卡电影| 日韩一区中文字幕| 国产日韩精品一区二区浪潮av| 在线电影欧美成精品| 伊人夜夜躁av伊人久久| 成人免费在线视频观看| 国产不卡视频一区二区三区| 久久精品一区二区三区不卡| 极品美女销魂一区二区三区免费| 欧美一区二区三区小说| 亚洲bdsm女犯bdsm网站| 一区二区三区精密机械公司| av电影在线不卡| 欧洲亚洲国产日韩| 91福利在线导航| 日韩精品高清不卡| 久久不见久久见免费视频7| 欧美一区二区视频在线观看2022 | 欧美中文字幕亚洲一区二区va在线| 色婷婷av一区二区三区大白胸 | 国产成人精品亚洲777人妖| 久久久久久久久97黄色工厂| 久草在线在线精品观看| 成人综合在线观看| 色婷婷久久久亚洲一区二区三区| 一区二区三区在线观看动漫| 亚洲成在线观看| 国产一区二区在线视频| 国产精品免费丝袜| 极品美女销魂一区二区三区免费 | 国产三级欧美三级| 五月激情综合色| 欧美顶级少妇做爰| 成+人+亚洲+综合天堂| 中文av一区二区| 六月婷婷色综合| 一区二区三区蜜桃| 国产精品亚洲综合一区在线观看| 亚洲色图.com| 精品一区二区三区免费| 亚洲欧美另类小说视频| 欧美高清视频不卡网| 国产精品69毛片高清亚洲| 亚洲成人激情自拍| 中文成人av在线| 久久精品人人做| 香蕉影视欧美成人| 色八戒一区二区三区| 福利一区二区在线| 日韩欧美国产高清| 色综合天天狠狠| 欧美国产日本韩| 日韩一区二区麻豆国产| 91精品国产91久久久久久最新毛片 | 日韩av一区二区在线影视| 欧美中文一区二区三区| 成人一级视频在线观看| 久久精品国产精品青草| 日韩欧美国产一区在线观看| 欧美日韩亚洲综合在线| 91麻豆蜜桃一区二区三区| av电影天堂一区二区在线 | 美女视频黄 久久| 亚洲午夜一二三区视频| 日本一区二区三区在线观看| 久久久久久综合| 国产午夜一区二区三区| 中文字幕不卡一区| 久久久久久久电影| 中文子幕无线码一区tr | 国产精品白丝jk黑袜喷水| 国产精品女同一区二区三区| 成人午夜私人影院| 在线免费观看一区| 日本不卡123| 久久av资源网| 最新国产成人在线观看| 欧美亚洲综合另类| 国产一区二区剧情av在线| 91麻豆福利精品推荐| 日本中文在线一区| 懂色中文一区二区在线播放| 91麻豆精品在线观看|