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

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

?? gen_pr.c

?? package of develop dns
?? C
字號:
/* * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 1996,1999 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */#if !defined(LINT) && !defined(CODECENTER)static const char rcsid[] = "$Id: gen_pr.c,v 1.1.206.1 2004/03/09 08:33:35 marka Exp $";#endif/* Imports */#include "port_before.h"#include <sys/types.h>#include <netinet/in.h>#include <arpa/nameser.h>#include <errno.h>#include <resolv.h>#include <stdlib.h>#include <string.h>#include <isc/memcluster.h>#include <irs.h>#include "port_after.h"#include "irs_p.h"#include "gen_p.h"/* Types */struct pvt {	struct irs_rule *	rules;	struct irs_rule *	rule;	struct __res_state *	res;	void			(*free_res)(void *);};/* Forward */static void			pr_close(struct irs_pr*);static struct protoent *	pr_next(struct irs_pr *);static struct protoent *	pr_byname(struct irs_pr *, const char *);static struct protoent * 	pr_bynumber(struct irs_pr *, int);static void 			pr_rewind(struct irs_pr *);static void			pr_minimize(struct irs_pr *);static struct __res_state *	pr_res_get(struct irs_pr *);static void			pr_res_set(struct irs_pr *,					   struct __res_state *,					   void (*)(void *));/* Public */struct irs_pr *irs_gen_pr(struct irs_acc *this) {	struct gen_p *accpvt = (struct gen_p *)this->private;	struct irs_pr *pr;	struct pvt *pvt;	if (!(pr = memget(sizeof *pr))) {		errno = ENOMEM;		return (NULL);	}	memset(pr, 0x5e, sizeof *pr);	if (!(pvt = memget(sizeof *pvt))) {		memput(pr, sizeof *pr);		errno = ENOMEM;		return (NULL);	}	memset(pvt, 0, sizeof *pvt);	pvt->rules = accpvt->map_rules[irs_pr];	pvt->rule = pvt->rules;	pr->private = pvt;	pr->close = pr_close;	pr->next = pr_next;	pr->byname = pr_byname;	pr->bynumber = pr_bynumber;	pr->rewind = pr_rewind;	pr->minimize = pr_minimize;	pr->res_get = pr_res_get;	pr->res_set = pr_res_set;	return (pr);}/* Methods */static voidpr_close(struct irs_pr *this) {	struct pvt *pvt = (struct pvt *)this->private;	memput(pvt, sizeof *pvt);	memput(this, sizeof *this);}static struct protoent *pr_next(struct irs_pr *this) {	struct pvt *pvt = (struct pvt *)this->private;	struct protoent *rval;	struct irs_pr *pr;	while (pvt->rule) {		pr = pvt->rule->inst->pr;		rval = (*pr->next)(pr);		if (rval)			return (rval);		if (!(pvt->rules->flags & IRS_CONTINUE))			break;		pvt->rule = pvt->rule->next;		if (pvt->rule) {			pr = pvt->rule->inst->pr;			(*pr->rewind)(pr);		}	}	return (NULL);}static struct protoent *pr_byname(struct irs_pr *this, const char *name) {	struct pvt *pvt = (struct pvt *)this->private;	struct irs_rule *rule;	struct protoent *rval;	struct irs_pr *pr;		rval = NULL;	for (rule = pvt->rules; rule; rule = rule->next) {		pr = rule->inst->pr;		rval = (*pr->byname)(pr, name);		if (rval || !(rule->flags & IRS_CONTINUE))			break;	}	return (rval);}static struct protoent *pr_bynumber(struct irs_pr *this, int proto) {	struct pvt *pvt = (struct pvt *)this->private;	struct irs_rule *rule;	struct protoent *rval;	struct irs_pr *pr;		rval = NULL;	for (rule = pvt->rules; rule; rule = rule->next) {		pr = rule->inst->pr;		rval = (*pr->bynumber)(pr, proto);		if (rval || !(rule->flags & IRS_CONTINUE))			break;	}	return (rval);}static voidpr_rewind(struct irs_pr *this) {	struct pvt *pvt = (struct pvt *)this->private;	struct irs_pr *pr;	pvt->rule = pvt->rules;	if (pvt->rule) {		pr = pvt->rule->inst->pr;		(*pr->rewind)(pr);	}}static voidpr_minimize(struct irs_pr *this) {	struct pvt *pvt = (struct pvt *)this->private;	struct irs_rule *rule;	for (rule = pvt->rules; rule != NULL; rule = rule->next) {		struct irs_pr *pr = rule->inst->pr;		(*pr->minimize)(pr);	}}static struct __res_state *pr_res_get(struct irs_pr *this) {	struct pvt *pvt = (struct pvt *)this->private;	if (!pvt->res) {		struct __res_state *res;		res = (struct __res_state *)malloc(sizeof *res);		if (!res) {			errno = ENOMEM;			return (NULL);		}		memset(res, 0, sizeof *res);		pr_res_set(this, res, free);	}	return (pvt->res);}static voidpr_res_set(struct irs_pr *this, struct __res_state *res,		void (*free_res)(void *)) {	struct pvt *pvt = (struct pvt *)this->private;	struct irs_rule *rule;	if (pvt->res && pvt->free_res) {		res_nclose(pvt->res);		(*pvt->free_res)(pvt->res);	}	pvt->res = res;	pvt->free_res = free_res;	for (rule = pvt->rules; rule != NULL; rule = rule->next) {		struct irs_pr *pr = rule->inst->pr;		if (pr->res_set)			(*pr->res_set)(pr, pvt->res, NULL);	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本视频在线| 国产精品理论片| 色综合久久99| 99国产精品久| 91亚洲精华国产精华精华液| av在线不卡电影| 91视频国产资源| 一本色道综合亚洲| 欧美自拍丝袜亚洲| 欧美日韩和欧美的一区二区| 555www色欧美视频| 欧美成人精品3d动漫h| 亚洲五月六月丁香激情| 午夜精品福利一区二区三区av| www国产亚洲精品久久麻豆| 秋霞成人午夜伦在线观看| 亚洲国产美国国产综合一区二区| 亚州成人在线电影| 日韩黄色免费网站| 国产一区激情在线| 成人福利在线看| 欧美亚洲丝袜传媒另类| 91精品国产色综合久久ai换脸 | 欧美综合一区二区| 在线观看免费一区| 日韩欧美一级二级三级 | 成人av影视在线观看| 成人黄页在线观看| 欧美在线免费播放| 欧美日韩五月天| 久久精品国产99久久6| 有坂深雪av一区二区精品| 亚洲第四色夜色| 国产在线精品免费av| 91丨porny丨户外露出| 欧美乱妇20p| 国产精品麻豆一区二区| 亚洲小少妇裸体bbw| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91国在线观看| 久久精品一区四区| 午夜欧美电影在线观看| 丁香婷婷综合色啪| 欧美一区二区三区男人的天堂| 欧美一区二区三级| 色噜噜偷拍精品综合在线| 欧美日韩国产综合一区二区| 国产亚洲短视频| 亚洲不卡av一区二区三区| 国产成人免费视频精品含羞草妖精| 欧美亚洲动漫制服丝袜| 国产精品蜜臀在线观看| 日本不卡一二三| 欧美在线视频不卡| 国产精品久久久久aaaa| 久久丁香综合五月国产三级网站| 在线观看av一区| 欧美国产丝袜视频| 国产电影一区在线| 精品日韩一区二区三区| 青椒成人免费视频| 欧美亚洲综合一区| 亚洲精品久久7777| 97国产精品videossex| 亚洲国产精品ⅴa在线观看| 久久精品久久精品| 亚洲一区二区三区免费视频| 国产精品国产三级国产普通话三级| 日韩成人午夜精品| 欧美日韩午夜精品| 亚洲福利国产精品| 欧美影视一区二区三区| 伊人婷婷欧美激情| 欧洲另类一二三四区| 亚洲色图20p| 91国偷自产一区二区开放时间| 国产精品久久久一本精品| 成人一级片网址| 日本一区二区三区四区 | 日韩一区二区精品葵司在线| 亚洲v中文字幕| 欧美精选一区二区| 麻豆91在线观看| 久久精品欧美一区二区三区不卡 | 日韩精品电影一区亚洲| 欧美日韩久久久一区| 性做久久久久久免费观看| 欧美日韩视频在线第一区| 日韩av不卡在线观看| 日韩三级电影网址| 国产麻豆午夜三级精品| 国产精品久久久久久久久搜平片| 成人av在线一区二区三区| 亚洲乱码国产乱码精品精可以看| 一区二区在线观看视频| 久久夜色精品国产噜噜av| 国产91丝袜在线播放九色| 中文字幕第一页久久| 在线欧美日韩精品| 日本在线不卡一区| 久久久久久影视| 色综合久久99| 蜜乳av一区二区| 亚洲国产精品v| 欧美性视频一区二区三区| 免费成人结看片| 国产精品免费视频一区| 欧美日韩五月天| 国产suv精品一区二区883| 夜夜嗨av一区二区三区四季av| 欧美一区二区视频观看视频| 国产成人在线免费| 亚洲第一会所有码转帖| 精品国产一区二区三区久久影院 | 一本一本大道香蕉久在线精品| 日韩专区中文字幕一区二区| 久久精品夜夜夜夜久久| 在线亚洲+欧美+日本专区| 麻豆久久一区二区| 亚洲免费电影在线| 国产日韩欧美综合一区| 欧美日韩亚洲综合在线| 国产91精品久久久久久久网曝门| 亚洲综合激情网| 久久久精品黄色| 日韩一级高清毛片| 色噜噜狠狠成人中文综合| 国产一区二区三区不卡在线观看| 夜夜精品视频一区二区| 国产精品污www在线观看| 欧美一区二区国产| 色妞www精品视频| 波多野结衣精品在线| 黄色成人免费在线| 日本aⅴ免费视频一区二区三区| 亚洲免费观看高清| 亚洲欧洲www| 中文字幕av一区二区三区高| 日韩欧美激情一区| 欧美顶级少妇做爰| 欧美色手机在线观看| 色偷偷88欧美精品久久久| 成人激情小说乱人伦| 国产馆精品极品| 国产在线精品一区二区不卡了| 奇米综合一区二区三区精品视频| 亚洲bt欧美bt精品| 亚洲午夜av在线| 午夜天堂影视香蕉久久| 亚洲国产一区视频| 亚洲成av人片在线观看| 丝袜亚洲另类欧美| 天天综合日日夜夜精品| 日日骚欧美日韩| 日韩在线一区二区| 热久久一区二区| 麻豆精品视频在线观看免费| 丝袜诱惑制服诱惑色一区在线观看| 亚洲综合色噜噜狠狠| 亚洲成人午夜影院| 亚洲h在线观看| 久久er99精品| 国产一区999| 91在线一区二区三区| 在线观看日韩av先锋影音电影院| 欧洲在线/亚洲| 日韩欧美另类在线| 久久夜色精品国产噜噜av| 国产精品久久久久久久久免费丝袜| 国产精品久久毛片| 一区二区三区四区乱视频| 日韩国产精品久久久| 美女脱光内衣内裤视频久久网站| 久草这里只有精品视频| 国产91在线|亚洲| 欧美视频一区二区在线观看| 日韩欧美成人激情| 日本一区二区免费在线观看视频| 椎名由奈av一区二区三区| 亚洲国产日韩av| 国产露脸91国语对白| 一本到高清视频免费精品| 91精品国产综合久久久蜜臀粉嫩| www日韩大片| 亚洲一区二区三区四区中文字幕| 蜜臀久久99精品久久久久宅男| 国产精品一区免费在线观看| 日本精品视频一区二区| 日韩一区二区免费高清| 专区另类欧美日韩| 久久99精品视频| 色呦呦日韩精品| 国产亚洲综合av| 日韩电影一区二区三区| 99久久综合狠狠综合久久| 欧美mv和日韩mv的网站| 亚洲蜜臀av乱码久久精品| 国产自产高清不卡| 欧美日韩国产经典色站一区二区三区| 久久久99免费|