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

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

?? navigator.h

?? 一個(gè)很有名的瀏覽器
?? H
字號(hào):
/* $Id: navigator.h,v 1.4 2004/11/04 17:17:25 jonas Exp $ */#ifndef EL__DOCUMENT_DOM_NAVIGATOR_H#define EL__DOCUMENT_DOM_NAVIGATOR_H#include "document/document.h"#include "document/dom/node.h"#include "util/error.h"#include "util/hash.h"struct dom_navigator;enum dom_exception_code {	DOM_ERR_NONE				=  0,	DOM_ERR_INDEX_SIZE			=  1,	DOM_ERR_STRING_SIZE			=  2,	DOM_ERR_HIERARCHY_REQUEST		=  3,	DOM_ERR_WRONG_DOCUMENT			=  4,	DOM_ERR_INVALID_CHARACTER		=  5,	DOM_ERR_NO_DATA_ALLOWED			=  6,	DOM_ERR_NO_MODIFICATION_ALLOWED		=  7,	DOM_ERR_NOT_FOUND			=  8,	DOM_ERR_NOT_SUPPORTED			=  9,	DOM_ERR_INUSE_ATTRIBUTE			= 10,	/* Introduced in DOM Level 2: */	DOM_ERR_INVALID_STATE			= 11,	DOM_ERR_SYNTAX				= 12,	DOM_ERR_INVALID_MODIFICATION		= 13,	DOM_ERR_NAMESPACE			= 14,	DOM_ERR_INVALID_ACCESS			= 15,};typedef struct dom_node *	(*dom_navigator_callback_T)(struct dom_navigator *, struct dom_node *, void *);#define DOM_NAVIGATOR_MAX_DEPTH	4096struct dom_navigator_state {	struct dom_node *node;	struct dom_node_list *list;	size_t index;	dom_navigator_callback_T callback;	void *data;};/* The DOM navigator is a convenient way to traverse DOM trees. Also it * maintains needed state info and is therefore also a holder of the current * context since the navigator is used to when the DOM tree is manipulated. */struct dom_navigator {	/* The stack of nodes */	struct dom_navigator_state *states;	size_t depth;	unsigned char *state_objects;	size_t object_size;	/* If some operation failed this member will signal the error code */	enum dom_exception_code exception;	/* Parser and document specific stuff */	dom_navigator_callback_T callbacks[DOM_NODES];	void *data;};#define dom_navigator_has_parents(nav) \	((nav)->states && (nav)->depth > 0)static inline struct dom_navigator_state *get_dom_navigator_state(struct dom_navigator *navigator, int top_offset){	assertm(navigator->depth - 1 - top_offset >= 0,		"Attempting to access invalid state");	return &navigator->states[navigator->depth - 1 - top_offset];}#define get_dom_navigator_parent(nav)	get_dom_navigator_state(nav, 1)#define get_dom_navigator_top(nav)	get_dom_navigator_state(nav, 0)/* The state iterators do not include the bottom state */#define foreach_dom_state(nav, item, pos)			\	for ((pos) = 1; (pos) < (nav)->depth; (pos)++)		\		if (((item) = &(nav)->states[(pos)]))#define foreachback_dom_state(nav, item, pos)			\	for ((pos) = (nav)->depth - 1; (pos) > 0; (pos)--)	\		if (((item) = &(nav)->states[(pos)]))/* Dive through the navigator states in search for the specified match. */static inline struct dom_navigator_state *search_dom_navigator(struct dom_navigator *navigator, enum dom_node_type type,		     unsigned char *string, uint16_t length){	struct dom_navigator_state *state;	int pos;	foreachback_dom_state (navigator, state, pos) {		struct dom_node *parent = state->node;		if (parent->type == type		    && parent->length == length		    && !strncasecmp(parent->string, string, length))			return state;	}	return NULL;}/* Life cycle functions. *//* The @object_size arg tells whether the navigator should allocate objects for each * state to be assigned to the state's @data member. Zero means no state data should * be allocated. */void init_dom_navigator(struct dom_navigator *navigator, void *data, dom_navigator_callback_T callbacks[DOM_NODES], size_t object_size);void done_dom_navigator(struct dom_navigator *navigator);/* Decends down to the given node making it the current parent *//* If an error occurs the node is free()d and NULL is returned */struct dom_node *push_dom_node(struct dom_navigator *navigator, struct dom_node *node);/* Ascends the navigator to the current parent */void pop_dom_node(struct dom_navigator *navigator);/* Ascends the navigator looking for specific parent */void pop_dom_nodes(struct dom_navigator *navigator, enum dom_node_type type,		   unsigned char *string, uint16_t length);/* Visit each node in the tree rooted at @root pre-order */void walk_dom_nodes(struct dom_navigator *navigator, struct dom_node *root);#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情欧美日韩一区二区| 色婷婷精品久久二区二区蜜臂av | 91精品国产一区二区三区| 国产尤物一区二区| 午夜私人影院久久久久| 中文字幕中文字幕一区二区| 日韩亚洲欧美在线| 精品视频全国免费看| av在线不卡免费看| 国产一区二区电影| 日本中文字幕不卡| 亚洲一区在线观看免费 | 久久日韩粉嫩一区二区三区| 欧美婷婷六月丁香综合色| caoporn国产精品| 精品一区二区精品| 天天色图综合网| 亚洲免费观看视频| 亚洲欧洲av另类| 国产精品伦理在线| 国产日产欧美一区| 欧美大白屁股肥臀xxxxxx| 在线精品视频一区二区| 99视频精品在线| 成人精品在线视频观看| 国产老肥熟一区二区三区| 美洲天堂一区二卡三卡四卡视频| 亚洲国产精品久久久久秋霞影院| 亚洲色图视频网站| 中文字幕一区二区三区精华液| 国产日产欧美一区| 欧美国产乱子伦 | 成人一二三区视频| 国产乱子伦视频一区二区三区| 精品中文av资源站在线观看| 青青草91视频| 日韩电影一区二区三区四区| 青草国产精品久久久久久| 免费成人美女在线观看.| 美国av一区二区| 激情国产一区二区| 精品一区二区国语对白| 狠狠狠色丁香婷婷综合激情| 精品午夜一区二区三区在线观看| 九色综合狠狠综合久久| 激情图区综合网| 夫妻av一区二区| 成人app在线| 欧美在线看片a免费观看| 欧美在线你懂得| 欧美一区二区三区四区久久| 日韩欧美国产电影| 久久久国产精品不卡| 欧美国产精品久久| 亚洲精品国产视频| 日韩中文欧美在线| 韩国成人精品a∨在线观看| 国产精品影视网| 波多野结衣在线一区| 日本韩国欧美一区二区三区| 欧美视频在线一区| 日韩精品一区二区三区在线| 国产日韩av一区二区| 亚洲激情五月婷婷| 免费日本视频一区| 国产不卡视频一区二区三区| 91亚洲午夜精品久久久久久| 欧美日韩亚洲高清一区二区| 精品福利一区二区三区| 国产精品久久久久影院老司 | 国产亚洲精品超碰| 亚洲色图20p| 美日韩一区二区| 成人综合在线视频| 欧美老年两性高潮| 久久久精品tv| 亚洲不卡在线观看| 国产成人一级电影| 欧美婷婷六月丁香综合色| 久久亚洲春色中文字幕久久久| 亚洲欧美一区二区不卡| 五月激情综合色| 顶级嫩模精品视频在线看| 在线视频你懂得一区| 日韩美女主播在线视频一区二区三区 | 色吧成人激情小说| 精品少妇一区二区三区视频免付费| 亚洲欧洲在线观看av| 免费成人你懂的| 99精品在线免费| 欧美成人精品福利| 亚洲最新视频在线观看| 久久精品免费看| 在线精品国精品国产尤物884a| 久久久亚洲国产美女国产盗摄| 亚洲午夜免费视频| 丁香五精品蜜臀久久久久99网站| 欧美日韩午夜影院| 最新不卡av在线| 毛片av一区二区| 欧美日韩一区不卡| 亚洲欧洲一区二区在线播放| 精品一区二区三区av| 欧美精品在线观看一区二区| 最近日韩中文字幕| 国产不卡免费视频| 欧美大度的电影原声| 亚洲国产精品天堂| 97精品视频在线观看自产线路二| 欧美xxxxx裸体时装秀| 亚洲成人手机在线| 日本韩国精品在线| 国产精品久久影院| 国产精品一区二区三区乱码 | 欧美少妇一区二区| 亚洲视频一二区| 成人aa视频在线观看| 久久精品亚洲麻豆av一区二区| 人人精品人人爱| 777久久久精品| 香蕉久久夜色精品国产使用方法 | 97久久人人超碰| 欧美激情一区二区| 国产激情一区二区三区四区| 欧美一区二区三区免费视频 | 国产亚洲成aⅴ人片在线观看| 麻豆精品一区二区av白丝在线| 欧美日韩成人综合| 一区二区成人在线观看| 91成人看片片| 亚洲欧美aⅴ...| 91色porny蝌蚪| 亚洲精品视频在线看| 91在线观看污| 亚洲免费伊人电影| 色婷婷一区二区三区四区| 亚洲伦在线观看| 在线视频欧美精品| 亚洲va中文字幕| 制服丝袜av成人在线看| 免费成人在线视频观看| 日韩精品资源二区在线| 久久99久久99| 久久久精品综合| 不卡区在线中文字幕| 亚洲色图视频免费播放| 欧美午夜影院一区| 丝瓜av网站精品一区二区| 欧美一区二区三区成人| 狠狠久久亚洲欧美| 国产精品色哟哟| 色婷婷综合激情| 日本中文在线一区| 久久久精品综合| 91丨九色丨尤物| 午夜电影一区二区三区| 日韩欧美一级二级三级久久久| 国产一区二区视频在线播放| 国产精品乱码一区二区三区软件| 91国偷自产一区二区三区成为亚洲经典 | 国产欧美日韩激情| 色哟哟欧美精品| 蜜桃视频一区二区三区| 国产三级精品视频| 色国产精品一区在线观看| 日本午夜精品视频在线观看| 久久精品日产第一区二区三区高清版 | 九九精品视频在线看| 国产精品久久福利| 欧美日韩精品一区二区三区 | 日韩精品五月天| 国产丝袜欧美中文另类| 91精品福利在线| 韩国成人福利片在线播放| 亚洲欧洲国产日本综合| 欧美一区二区三区白人| kk眼镜猥琐国模调教系列一区二区| 亚洲精品成人精品456| 精品欧美乱码久久久久久1区2区 | 精品国产91亚洲一区二区三区婷婷| 成人动漫在线一区| 亚洲韩国精品一区| 久久精品一区二区三区不卡| 欧美性猛交xxxxxxxx| 国产高清精品久久久久| 亚洲大型综合色站| 国产精品久久久久久久久久免费看| 欧美日韩不卡在线| jizzjizzjizz欧美| 经典三级在线一区| 亚洲成av人片在线观看无码| 国产精品网站在线观看| 欧美一区国产二区| 色噜噜狠狠色综合中国| 国产成人三级在线观看| 蜜桃免费网站一区二区三区| 亚洲午夜久久久久久久久电影院| 久久久久久久久97黄色工厂| 欧美一级日韩不卡播放免费| 色吊一区二区三区|