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

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

?? gmain.c

?? 基于LINUX內核驅動的開發
?? C
?? 第 1 頁 / 共 2 頁
字號:
	}			/* Never reached */	return FALSE;}void g_spawn_close_pid(GPid pid){	return;}guint g_child_watch_add(GPid pid, GChildWatchFunc func, gpointer user_data){	struct child_watch *w;	GMainContext *context = g_main_context_default();	if (child_watch_pipe[0] < 0)		init_child_pipe();	w = g_new(struct child_watch, 1);	w->id = context->next_id++;	w->pid = pid;	w->function = func;	w->user_data = user_data;	if (context->child_lock)		context->proc_child_watches =			watch_list_add(context->proc_child_watches, w);	else		context->child_watches =			watch_list_add(context->child_watches, w);	return w->id;}gboolean g_source_remove(guint tag){	GMainContext *context = g_main_context_default();	if (g_io_remove_watch(context, tag))		return TRUE;	if (g_timeout_remove(context, tag))		return TRUE;	if (child_watch_remove(context, tag))		return TRUE;	return FALSE;}/* UTF-8 Validation: approximate copy/paste from glib2. */#define UNICODE_VALID(c)			\	((c) < 0x110000 &&			\	(((c) & 0xFFFFF800) != 0xD800) &&	\	((c) < 0xFDD0 || (c) > 0xFDEF) &&	\	((c) & 0xFFFE) != 0xFFFE)#define CONTINUATION_CHAR(c, val)				\	do {							\  		if (((c) & 0xc0) != 0x80) /* 10xxxxxx */	\  			goto failed;				\  		(val) <<= 6;					\  		(val) |= (c) & 0x3f;				\	} while (0)#define INCREMENT_AND_CHECK_MAX(p, i, max_len)					\	do {									\		(i)++;								\		if ((p)[(i)] == '\0' || ((max_len) >= 0 && (i) >= (max_len)))	\			goto failed;						\	} while (0)				gboolean g_utf8_validate(const gchar *str, gssize max_len, const gchar **end){	unsigned long val, min, i;	const unsigned char *p, *last;	min = val = 0;	for (p = (unsigned char *) str, i = 0; p[i]; i++) {		if (max_len >= 0 && i >= max_len)			break;		if (p[i] < 128)			continue;		last = &p[i];		if ((p[i] & 0xe0) == 0xc0) { /* 110xxxxx */			if ((p[i] & 0x1e) == 0)				goto failed;			INCREMENT_AND_CHECK_MAX(p, i, max_len);			if ((p[i] & 0xc0) != 0x80)				goto failed; /* 10xxxxxx */		} else {			if ((p[i] & 0xf0) == 0xe0) {				/* 1110xxxx */				min = (1 << 11);				val = p[i] & 0x0f;				goto two_remaining;			} else if ((p[i] & 0xf8) == 0xf0) {				/* 11110xxx */				min = (1 << 16);				val = p[i] & 0x07;			} else				goto failed;			INCREMENT_AND_CHECK_MAX(p, i, max_len);			CONTINUATION_CHAR(p[i], val);two_remaining:			INCREMENT_AND_CHECK_MAX(p, i, max_len);			CONTINUATION_CHAR(p[i], val);			INCREMENT_AND_CHECK_MAX(p, i, max_len);			CONTINUATION_CHAR(p[i], val);			if (val < min || !UNICODE_VALID(val))				goto failed;		} 	}	if (end)		*end = (const gchar *) &p[i];	return TRUE;failed:	if (end)		*end = (const gchar *) last;	return FALSE;}/* GSList functions */GSList *g_slist_append(GSList *list, void *data){	GSList *entry, *tail;	entry = g_new(GSList, 1);	entry->data = data;	entry->next = NULL;	if (!list)		return entry;	/* Find the end of the list */	for (tail = list; tail->next; tail = tail->next);	tail->next = entry;	return list;}GSList *g_slist_prepend(GSList *list, void *data){	GSList *entry;	entry = g_new(GSList, 1);	entry->data = data;	entry->next = list;	return entry;}GSList *g_slist_insert_sorted(GSList *list, void *data, GCompareFunc cmp_func){	GSList *tmp, *prev, *entry;	int cmp;	entry = g_new(GSList, 1);	entry->data = data;	entry->next = NULL;	if (!list)		return entry;	prev = NULL;	tmp = list;	cmp = cmp_func(data, tmp->data);	while (tmp->next && cmp > 0) {		prev = tmp;		tmp = tmp->next;		cmp = cmp_func(data, tmp->data);	}	if (!tmp->next && cmp > 0) {		tmp->next = entry;		return list;	}	if (prev) {		prev->next = entry;		entry->next = tmp;		return list;	} else {		entry->next = list;		return entry;	}}GSList *g_slist_remove(GSList *list, void *data){	GSList *l, *next, *prev = NULL, *match = NULL;	if (!list)		return NULL;	for (l = list; l != NULL; l = l->next) {		if (l->data == data) {			match = l;			break;		}		prev = l;	}	if (!match)		return list;	next = match->next;	g_free(match);	/* If the head was removed, return the next element */	if (!prev)		return next;	prev->next = next;	return list;}GSList *g_slist_find(GSList *list, gconstpointer data){	GSList *l;	for (l = list; l != NULL; l = l->next) {		if (l->data == data)			return l;	}	return NULL;}GSList *g_slist_find_custom(GSList *list, const void *data,			GCompareFunc cmp_func){	GSList *l;	for (l = list; l != NULL; l = l->next) {		if (!cmp_func(l->data, data))			return l;	}	return NULL;}static GSList *g_slist_sort_merge(GSList *l1, GSList *l2,					GCompareFunc cmp_func){	GSList list, *l;	int cmp;	l = &list;	while (l1 && l2) {		cmp = cmp_func(l1->data, l2->data);		if (cmp <= 0) {			l = l->next = l1;			l1 = l1->next;		} else {			l = l->next = l2;			l2 = l2->next;		}	}	l->next = l1 ? l1 : l2;	return list.next;}GSList *g_slist_sort(GSList *list, GCompareFunc cmp_func){	GSList *l1, *l2;	if (!list || !list->next) 		return list;	l1 = list; 	l2 = list->next;	while ((l2 = l2->next) != NULL) {		if ((l2 = l2->next) == NULL) 			break;		l1 = l1->next;	}	l2 = l1->next; 	l1->next = NULL;	return g_slist_sort_merge(g_slist_sort(list, cmp_func),				g_slist_sort(l2, cmp_func), cmp_func);}int g_slist_length(GSList *list){	int len;	for (len = 0; list != NULL; list = list->next)		len++;	return len;}void g_slist_foreach(GSList *list, GFunc func, void *user_data){	while (list) {		GSList *next = list->next;		func(list->data, user_data);		list = next;	}}void g_slist_free(GSList *list){	GSList *l, *next;	for (l = list; l != NULL; l = next) {		next = l->next;		g_free(l);	}}GSList *g_slist_nth(GSList *list, guint n){	while (n-- > 0 && list)		list = list->next;	return list;}gpointer g_slist_nth_data(GSList *list, guint n){	while (n-- > 0 && list)		list = list->next;	return list ? list->data : NULL;}gint g_slist_position(GSList *list, GSList *link){	gint i;	for (i = 0; list; list = list->next, i++) {		if (list == link)			return i;	}	return -1;}GSList* g_slist_last(GSList *list){	if (list)		while (list->next)			list = list->next;	return list;}static inline GSList* _g_slist_remove_link(GSList *list, GSList *link){	GSList *tmp;	GSList *prev;	prev = NULL;	tmp = list;	while (tmp) {		if (tmp == link) {			if (prev)				prev->next = tmp->next;			if (list == tmp)				list = list->next;			tmp->next = NULL;			break;		}		prev = tmp;		tmp = tmp->next;	}	return list;}GSList* g_slist_delete_link(GSList *list, GSList *link){	list = _g_slist_remove_link(list, link);	g_free(link);	return list;}/* Memory allocation functions */gpointer g_malloc(gulong n_bytes){	gpointer mem;	if (!n_bytes)		return NULL;	mem = malloc((size_t) n_bytes);	if (!mem) {		fprintf(stderr, "g_malloc: failed to allocate %lu bytes",				n_bytes);		abort();	}	return mem;}gpointer g_malloc0(gulong n_bytes){	gpointer mem;	if (!n_bytes)		return NULL;	mem = g_malloc(n_bytes);	memset(mem, 0, (size_t) n_bytes);	return mem;}gpointer g_try_malloc(gulong n_bytes){	if (!n_bytes)		return NULL;	return malloc((size_t) n_bytes);}gpointer g_try_malloc0(gulong n_bytes){	gpointer mem;	mem = g_try_malloc(n_bytes);	if (mem)		memset(mem, 0, (size_t) n_bytes);	return mem;}gpointer g_realloc(gpointer mem, gulong n_bytes){	mem = realloc(mem, n_bytes);	if (!mem) {		fprintf(stderr, "g_realloc: failed to allocate %lu bytes",				n_bytes);		abort();	}	return mem;}void g_free(gpointer mem){	if (mem)		free(mem);}gchar *g_strdup(const gchar *str){	gchar *s;	if (!str)		return NULL;	s = strdup(str);	if (!s) {		fprintf(stderr, "strdup: failed to allocate new string");		abort();	}	return s;}gchar *g_strdup_printf(const gchar *format, ...){	va_list args;	gchar buffer[1024];	gint length;	va_start(args, format);	length = vsnprintf(buffer, sizeof(buffer) - 1, format, args);	va_end(args);	return g_strdup(buffer);}gchar *g_strdelimit(gchar *string, const gchar *delimiters, gchar new_delim){	register gchar *c;	if (!string)		return NULL;	for (c = string; *c; c++)		if (strchr(delimiters, *c))			*c = new_delim;	return string;}/* GKeyFile */struct _GKeyFile {	gchar *filename;};GKeyFile *g_key_file_new(void){	return g_new0(GKeyFile, 1);}void g_key_file_free(GKeyFile *key_file){	g_free(key_file->filename);	g_free(key_file);}gboolean g_key_file_load_from_file(GKeyFile *key_file,				const gchar *file,				GKeyFileFlags flags,				GError **error){	key_file->filename = g_strdup(file);	return TRUE;}static char *next_line(const char *ptr){	char *nl;	nl = strchr(ptr, '\n');	if (!nl)		return NULL;	if (nl[1] == '\0')		return NULL;	return nl + 1;}gchar *g_key_file_get_string(GKeyFile *key_file,				const gchar *group_name,				const gchar *key,				GError **error){	struct stat st;	char *map, *line, *group = NULL, *value = NULL;	off_t size;	size_t key_len, group_len; 	int fd, err = 0;	fd = open(key_file->filename, O_RDONLY);	if (fd < 0) {		g_set_error(error, 0, 0, "%s: %s", key_file->filename,				strerror(errno));		return NULL;	}	if (flock(fd, LOCK_SH) < 0) {		err = errno;		goto close;	}	if (fstat(fd, &st) < 0) {		err = errno;		goto unlock;	}	size = st.st_size;	map = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);	if (!map || map == MAP_FAILED) {		err = errno;		goto unlock;	}	group_len = strlen(group_name);	key_len = strlen(key);	for (line = map; line != NULL; line = next_line(line)) {		int i;		size_t to_copy, value_len;		char tmp[1024], *nl;		if (*line == '#')			continue;		if (!group) {			if (line[0] != '[' || strncmp(line + 1, group_name, group_len))				continue;			if (line[group_len + 1] == ']')				group = line + 1;			continue;		}		if (strncmp(line, key, key_len))			continue;		for (i = key_len; line[i] != '\n'; i++) {			if (line[i] == '=')				break;			if (!isspace(line[i]))				break;		}		if (line[i] != '=')			continue;		nl = strchr(line, '\n');		if (!nl)			continue;		value_len = nl - (line + i + 1);		to_copy = value_len > (sizeof(tmp) - 1) ? sizeof(tmp) - 1 : value_len;		memset(tmp, 0, sizeof(tmp));		strncpy(tmp, line + i + 1, to_copy);		value = g_strdup(tmp);		break;	}	munmap(map, size);unlock:	flock(fd, LOCK_UN);close:	close(fd);	if (err)		g_set_error(error, 0, 0, "%s: %s", key_file->filename,				strerror(err));	else if (!group)		g_set_error(error, 0, 0, "%s: group %s not found",				key_file->filename, group_name);	else if (!value)		g_set_error(error, 0, 0, "%s: key %s not found",				key_file->filename, key);	return value;}gboolean g_key_file_get_boolean(GKeyFile *key_file,				const gchar *group_name,				const gchar *key,				GError **error){	gboolean ret;	gchar *str;	str = g_key_file_get_string(key_file, group_name, key, error);	if (!str)		return FALSE;	if (strcmp(str, "true") == 0 || strcmp(str, "1") == 0)		ret = TRUE;	else		ret = FALSE;	g_free(str);	return ret;}/* GString */#define MY_MAXSIZE ((gsize)-1)static gsize nearest_power(gsize base, gsize num){	gsize n = base;	if (num > MY_MAXSIZE / 2)		return MY_MAXSIZE;	while (n < num)		n <<= 1;	return n;}static void g_string_maybe_expand(GString *string, gsize len){	if (string->len + len < string->allocated_len)		return;	string->allocated_len = nearest_power(1, string->len + len + 1);	string->str = g_realloc(string->str, string->allocated_len);}static GString *g_string_sized_new(gsize dfl_size){	GString *string;	string = g_new0(GString, 1);		g_string_maybe_expand(string, dfl_size);	string->str[0] = '\0';	return string;}static GString *g_string_append_len(GString *string, const gchar *val, gssize len){	g_string_maybe_expand(string, len);	if (len == 1)		string->str[string->len] = *val;	else		memcpy(string->str + string->len, val, len);	string->len += len;	string->str[string->len] = '\0';	return string;}GString *g_string_new(const gchar *init){	GString *string;	gint len;	if (init == NULL || *init == '\0')		return g_string_sized_new(2);	len = strlen(init);	string = g_string_sized_new(len + 2);	g_string_append_len(string, init, len);	return string;}void g_string_append_printf(GString *string, const gchar *format, ...){	gchar buffer[1024];	gint length;	va_list args;	va_start(args, format);	length = vsnprintf(buffer, sizeof(buffer) - 1, format, args);	va_end(args);	g_string_append_len(string, buffer, length);}gchar *g_string_free(GString *string, gboolean free_segment){	gchar *segment;	if (free_segment) {		g_free(string->str);		segment = NULL;	}	else		segment = string->str;	g_free(string);	return segment;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美色综合| 悠悠色在线精品| 亚洲一区二区在线免费观看视频| 免费黄网站欧美| 在线免费av一区| 国产精品丝袜91| 国内精品视频一区二区三区八戒| 欧美在线观看视频在线| 国产精品久久久久永久免费观看 | 一本色道综合亚洲| 久久久美女艺术照精彩视频福利播放| 一区二区久久久久久| 国产成人精品影院| 日韩你懂的电影在线观看| 夜夜夜精品看看| 一本一道久久a久久精品综合蜜臀| 久久久久九九视频| 国内精品久久久久影院色| 欧美日韩日日夜夜| 亚洲午夜精品久久久久久久久| 老司机精品视频在线| 色噜噜久久综合| 亚洲天堂久久久久久久| 国产白丝精品91爽爽久久 | 中文字幕乱码日本亚洲一区二区| 久久99久久久欧美国产| 日韩欧美一级片| 日韩国产欧美在线视频| 777色狠狠一区二区三区| 亚洲黄色免费网站| 在线欧美小视频| 亚洲综合在线视频| 欧美专区日韩专区| 亚洲电影第三页| 欧美日韩久久久| 五月天激情综合| 欧美一区欧美二区| 国产综合色在线视频区| 久久久久久9999| av电影在线观看不卡| 亚洲欧洲韩国日本视频| 91成人免费电影| 婷婷成人激情在线网| 91精品国产一区二区三区| 日本中文在线一区| 26uuu国产一区二区三区 | 奇米精品一区二区三区在线观看一 | 欧美日韩中文字幕一区| 偷拍一区二区三区四区| 欧美精品一区二区在线观看| 成+人+亚洲+综合天堂| 亚洲女子a中天字幕| 欧美三级电影网站| 久久aⅴ国产欧美74aaa| 国产日韩欧美精品在线| 色婷婷香蕉在线一区二区| 首页综合国产亚洲丝袜| 久久综合九色综合欧美98| 99久久亚洲一区二区三区青草| 亚洲电影你懂得| 久久久精品国产99久久精品芒果 | 亚洲综合一区在线| 欧美一区二区三区四区在线观看| 国产主播一区二区| 一二三四社区欧美黄| 精品国产一区二区亚洲人成毛片 | 欧美日韩小视频| 国产一本一道久久香蕉| 亚洲品质自拍视频| 欧美一二三在线| 波多野结衣精品在线| 日韩二区三区在线观看| 国产精品美女久久久久久2018 | 99国产精品久| 卡一卡二国产精品 | 亚洲欧洲精品一区二区精品久久久| 在线欧美一区二区| 国产一区美女在线| 亚洲高清在线精品| 久久久久久久久97黄色工厂| 欧美日韩dvd在线观看| 成人一区二区三区| 久久爱另类一区二区小说| 亚洲最大成人综合| 国产欧美日本一区二区三区| 91麻豆精品久久久久蜜臀| 91美女片黄在线观看91美女| 国产成人啪免费观看软件| 日本成人在线看| 亚洲精品乱码久久久久久久久 | 777亚洲妇女| 欧美最猛性xxxxx直播| 粉嫩av亚洲一区二区图片| 久久国产夜色精品鲁鲁99| 午夜电影久久久| 亚洲综合激情另类小说区| 日本一区二区久久| 精品国产伦一区二区三区免费 | 久久国产精品色婷婷| 婷婷开心激情综合| 一区二区欧美精品| 国产精品免费人成网站| 国产精品五月天| 国产色综合久久| 国产午夜精品一区二区三区视频 | 欧美一级二级在线观看| 欧美日韩一区国产| 欧美亚洲高清一区| 一本大道久久精品懂色aⅴ | 一区二区久久久久| 一区二区三区中文字幕电影| 亚洲私人影院在线观看| 中文字幕亚洲区| 综合久久久久综合| 亚洲嫩草精品久久| 亚洲欧美精品午睡沙发| 亚洲欧洲中文日韩久久av乱码| 中文字幕一区在线观看视频| 国产精品动漫网站| 亚洲视频一区二区在线| 亚洲免费毛片网站| 亚洲午夜在线视频| 日韩高清欧美激情| 狠狠色丁香久久婷婷综合丁香| 美日韩一级片在线观看| 国产一区二区三区四区五区美女| 国产在线播放一区三区四| 国产成人av电影在线观看| 粉嫩久久99精品久久久久久夜| 99久久国产免费看| 欧美综合在线视频| 欧美一区中文字幕| 久久男人中文字幕资源站| 国产日韩av一区二区| 日韩理论在线观看| 亚洲成人中文在线| 韩国av一区二区三区四区| 国产精品123区| 在线视频中文字幕一区二区| 91麻豆精品国产无毒不卡在线观看| 日韩丝袜美女视频| 国产精品无遮挡| 亚洲午夜视频在线| 国产一区二区三区电影在线观看| 99视频一区二区| 欧美日韩国产另类一区| 久久久久久97三级| 亚洲愉拍自拍另类高清精品| 麻豆91在线播放免费| gogogo免费视频观看亚洲一| 欧美视频日韩视频| 久久午夜老司机| 一区二区三区中文在线| 久久电影网电视剧免费观看| 99久久精品情趣| 日韩午夜三级在线| 亚洲欧美另类综合偷拍| 极品少妇一区二区三区精品视频| 色哟哟在线观看一区二区三区| 91精品国产一区二区三区蜜臀 | 精品国产亚洲在线| 玉足女爽爽91| 国产精品99久久久久久有的能看 | 婷婷久久综合九色综合伊人色| 国产激情精品久久久第一区二区 | 狂野欧美性猛交blacked| 色猫猫国产区一区二在线视频| 久久人人爽人人爽| 视频一区二区三区中文字幕| 波多野结衣在线aⅴ中文字幕不卡| 555夜色666亚洲国产免| 亚洲免费在线视频一区 二区| 国产成人三级在线观看| 日韩欧美国产午夜精品| 亚洲一区二区成人在线观看| 不卡的电影网站| 久久久久久久一区| 美日韩黄色大片| 欧美久久高跟鞋激| 夜夜爽夜夜爽精品视频| 成人性生交大片免费| 久久综合五月天婷婷伊人| 奇米影视7777精品一区二区| 欧美猛男gaygay网站| 亚洲女人的天堂| 色综合久久综合中文综合网| 国产精品网站在线| 高清不卡一二三区| 久久精品视频免费观看| 狠狠色伊人亚洲综合成人| 日韩一区二区影院| 日韩电影在线免费观看| 欧美老年两性高潮| 亚洲成人自拍网| 51精品秘密在线观看| 午夜欧美一区二区三区在线播放| 在线精品国精品国产尤物884a| 亚洲免费观看高清完整版在线观看熊 | 欧美精品乱人伦久久久久久| 亚洲在线中文字幕|