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

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

?? lwtest.c

?? package of develop dns
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2002  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. *//* $Id: lwtest.c,v 1.22.2.4.2.4 2004/03/08 04:04:37 marka Exp $ */#include <config.h>#include <assert.h>#include <stdlib.h>#include <string.h>#include <isc/net.h>#include <lwres/lwres.h>#include <lwres/netdb.h>#include <lwres/net.h>/* * XXX getnameinfo errors, which don't appear to be standard. */#define ENI_NOSERVNAME  1#define ENI_NOHOSTNAME  2#define ENI_MEMORY      3#define ENI_SYSTEM      4#define ENI_FAMILY      5#define ENI_SALEN       6#define ENI_NOSOCKET    7static int fails = 0;static voidCHECK(lwres_result_t val, const char *msg) {	if (val != 0) {		printf("I:%s returned %d\n", msg, val);		exit(1);	}}static unsigned char TESTSTRING[] =	"This is a test.  This is only a test.  !!!";static lwres_context_t *ctx;static voidtest_noop(void) {	lwres_result_t ret;	lwres_lwpacket_t pkt, pkt2;	lwres_nooprequest_t nooprequest, *nooprequest2;	lwres_noopresponse_t noopresponse, *noopresponse2;	lwres_buffer_t b;	pkt.pktflags = 0;	pkt.serial = 0x11223344;	pkt.recvlength = 0x55667788;	pkt.result = 0;	nooprequest.datalength = strlen((char *)TESTSTRING);	nooprequest.data = TESTSTRING;	ret = lwres_nooprequest_render(ctx, &nooprequest, &pkt, &b);	CHECK(ret, "lwres_nooprequest_render");	/*	 * Now, parse it into a new structure.	 */	lwres_buffer_first(&b);	ret = lwres_lwpacket_parseheader(&b, &pkt2);	CHECK(ret, "lwres_lwpacket_parseheader");	nooprequest2 = NULL;	ret = lwres_nooprequest_parse(ctx, &b, &pkt2, &nooprequest2);	CHECK(ret, "lwres_nooprequest_parse");	assert(nooprequest.datalength == nooprequest2->datalength);	assert(memcmp(nooprequest.data, nooprequest2->data,		       nooprequest.datalength) == 0);	lwres_nooprequest_free(ctx, &nooprequest2);	lwres_context_freemem(ctx, b.base, b.length);	b.base = NULL;	b.length = 0;	pkt.pktflags = 0;	pkt.serial = 0x11223344;	pkt.recvlength = 0x55667788;	pkt.result = 0xdeadbeef;	noopresponse.datalength = strlen((char *)TESTSTRING);	noopresponse.data = TESTSTRING;	ret = lwres_noopresponse_render(ctx, &noopresponse, &pkt, &b);	CHECK(ret, "lwres_noopresponse_render");	/*	 * Now, parse it into a new structure.	 */	lwres_buffer_first(&b);	ret = lwres_lwpacket_parseheader(&b, &pkt2);	CHECK(ret, "lwres_lwpacket_parseheader");	noopresponse2 = NULL;	ret = lwres_noopresponse_parse(ctx, &b, &pkt2, &noopresponse2);	CHECK(ret, "lwres_noopresponse_parse");	assert(noopresponse.datalength == noopresponse2->datalength);	assert(memcmp(noopresponse.data, noopresponse2->data,		       noopresponse.datalength) == 0);	lwres_noopresponse_free(ctx, &noopresponse2);	lwres_context_freemem(ctx, b.base, b.length);	b.base = NULL;	b.length = 0;}static voidtest_gabn(const char *target, lwres_result_t expected, const char *address,	  lwres_uint32_t af){	lwres_gabnresponse_t *res;	unsigned char addrbuf[16];	lwres_addr_t *addr;	char outbuf[64];	unsigned int len;	lwres_result_t ret;	res = NULL;	ret = lwres_getaddrsbyname(ctx, target,				   LWRES_ADDRTYPE_V4 | LWRES_ADDRTYPE_V6,				   &res);	if (ret != expected) {		printf("I:gabn(%s) failed: %d\n", target, ret);		if (res != NULL)			lwres_gabnresponse_free(ctx, &res);		fails++;		return;	}	if (ret == LWRES_R_SUCCESS) {		if (af == LWRES_ADDRTYPE_V4) {			len = 4;			ret = inet_pton(AF_INET, address, addrbuf);			assert(ret == 1);		} else {			len = 16;			ret = inet_pton(AF_INET6, address, addrbuf);			assert(ret == 1);		}		addr = LWRES_LIST_HEAD(res->addrs);		if (addr == NULL) {			printf("I:gabn(%s) returned empty list\n", target);			fails++;			return;		}		while (addr != NULL) {			if (addr->family != af || addr->length != len ||			    memcmp(addr->address, addrbuf, len) == 0)				break;			addr = LWRES_LIST_NEXT(addr, link);		}		if (addr == NULL) {			addr = LWRES_LIST_HEAD(res->addrs);			if (addr->family == LWRES_ADDRTYPE_V4)				(void)inet_ntop(AF_INET, addr->address,						outbuf, sizeof(outbuf));			else				(void)inet_ntop(AF_INET6, addr->address,						outbuf, sizeof(outbuf));			printf("I:gabn(%s) returned %s, expected %s\n",				target, outbuf, address);			fails++;			return;		}	}	if (res != NULL)		lwres_gabnresponse_free(ctx, &res);}static voidtest_gnba(const char *target, lwres_uint32_t af, lwres_result_t expected,	  const char *name){	lwres_gnbaresponse_t *res;	lwres_result_t ret;	unsigned char addrbuf[16];	unsigned int len;	if (af == LWRES_ADDRTYPE_V4) {		len = 4;		ret = inet_pton(AF_INET, target, addrbuf);		assert(ret == 1);	} else {		len = 16;		ret = inet_pton(AF_INET6, target, addrbuf);		assert(ret == 1);	}	res = NULL;	ret = lwres_getnamebyaddr(ctx, af, len, addrbuf, &res);	if (ret != expected) {		printf("I:gnba(%s) failed: %d\n", target, ret);		if (res != NULL)			lwres_gnbaresponse_free(ctx, &res);		fails++;		return;	}	if (ret == LWRES_R_SUCCESS && strcasecmp(res->realname, name) != 0) {		 printf("I:gnba(%s) returned %s, expected %s\n",			target, res->realname, name);		 fails++;		 return;	}	if (res != NULL)		lwres_gnbaresponse_free(ctx, &res);}static voidtest_gethostbyname(const char *name, const char *address) {	struct hostent *hp;	unsigned char addrbuf[16];	int ret;	hp = gethostbyname(name);	if (hp == NULL) {		if (address == NULL && h_errno == HOST_NOT_FOUND)			return;		else if (h_errno != HOST_NOT_FOUND) {			printf("I:gethostbyname(%s) failed: %s\n",			       name, hstrerror(h_errno));			fails++;			return;		} else {			printf("I:gethostbyname(%s) returned not found\n",			       name);			fails++;			return;		}	} else {		ret = inet_pton(AF_INET, address, addrbuf);		assert(ret == 1);		if (memcmp(hp->h_addr_list[0], addrbuf, hp->h_length) != 0) {			char outbuf[16];			(void)inet_ntop(AF_INET, hp->h_addr_list[0],					outbuf, sizeof(outbuf));			printf("I:gethostbyname(%s) returned %s, "			       "expected %s\n", name, outbuf, address);			fails++;			return;		}	}}static voidtest_gethostbyname2(const char *name, const char *address, int af) {	struct hostent *hp;	unsigned char addrbuf[16];	int len, ret;	hp = gethostbyname2(name, af);	if (hp == NULL) {		if (address == NULL && h_errno == HOST_NOT_FOUND)			return;		else if (h_errno != HOST_NOT_FOUND) {			printf("I:gethostbyname(%s) failed: %s\n",			       name, hstrerror(h_errno));			fails++;			return;		} else {			printf("I:gethostbyname(%s) returned not found\n",			       name);			fails++;			return;		}	} else {		if (af == AF_INET)			len = 4;		else			len = 16;		ret = inet_pton(af, address, addrbuf);		assert(ret == 1);		if (hp->h_addrtype != af) {			printf("I:gethostbyname(%s) returned wrong family\n",			       name);			fails++;			return;		}		if (len != (int)hp->h_length ||		    memcmp(hp->h_addr_list[0], addrbuf, hp->h_length) != 0)		{			char outbuf[16];			(void)inet_ntop(af, hp->h_addr_list[0],					outbuf, sizeof(outbuf));			printf("I:gethostbyname(%s) returned %s, "			       "expected %s\n", name, outbuf, address);			fails++;			return;		}	}}static voidtest_getipnodebyname(const char *name, const char *address, int af,		     int v4map, int all){	struct hostent *hp;	unsigned char addrbuf[16];	int len, ret;	int error_num;	int flags = 0;	if (v4map)		flags |= AI_V4MAPPED;	if (all)		flags |= AI_ALL;	hp = getipnodebyname(name, af, flags, &error_num);	if (hp == NULL) {		if (address == NULL && error_num == HOST_NOT_FOUND)			return;		else if (error_num != HOST_NOT_FOUND) {			printf("I:getipnodebyname(%s) failed: %d\n",			       name, error_num);			fails++;			return;		} else {			printf("I:getipnodebyname(%s) returned not found\n",			       name);			fails++;			return;		}	} else {		if (af == AF_INET)			len = 4;		else			len = 16;		ret = inet_pton(af, address, addrbuf);		assert(ret == 1);		if (hp->h_addrtype != af) {			printf("I:getipnodebyname(%s) returned wrong family\n",			       name);			fails++;			return;		}		if (len != (int)hp->h_length ||		    memcmp(hp->h_addr_list[0], addrbuf, hp->h_length) != 0)		{			char outbuf[16];			(void)inet_ntop(af, hp->h_addr_list[0],					outbuf, sizeof(outbuf));			printf("I:getipnodebyname(%s) returned %s, "			       "expected %s\n", name, outbuf, address);			fails++;			return;		}		freehostent(hp);	}}static voidtest_gethostbyaddr(const char *address, int af, const char *name) {	struct hostent *hp;	char addrbuf[16];	int len, ret;	if (af == AF_INET)		len = 4;	else		len = 16;	ret = inet_pton(af, address, addrbuf);	assert(ret == 1);	hp = gethostbyaddr(addrbuf, len, af);	if (hp == NULL) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲制服丝袜一区| 中文av一区二区| 午夜免费久久看| 欧美日韩三级在线| 婷婷久久综合九色综合绿巨人| 免费人成网站在线观看欧美高清| 亚洲精品视频在线看| 91视频www| 亚洲国产精品久久久久秋霞影院 | 亚洲第一福利视频在线| 欧美视频在线播放| 美女脱光内衣内裤视频久久网站| av影院午夜一区| 一区二区三区中文免费| 欧美人与禽zozo性伦| 美女高潮久久久| 欧美精品日韩一区| 久久www免费人成看片高清| 国产日韩视频一区二区三区| 成人av免费在线播放| 久久久久久久国产精品影院| av亚洲产国偷v产偷v自拍| 亚洲你懂的在线视频| 成人av在线一区二区| 亚洲最大的成人av| 91麻豆免费在线观看| 视频在线在亚洲| 国产日韩欧美精品在线| 在线影院国内精品| 麻豆国产一区二区| 91麻豆精品久久久久蜜臀| 国产在线日韩欧美| 亚洲精品成人在线| 日韩精品一区二区三区在线| 91在线精品一区二区| 蜜桃视频免费观看一区| 日韩理论片一区二区| 欧美一区二区黄| 99久久婷婷国产综合精品电影 | 久久久久久久久岛国免费| 日本精品视频一区二区三区| 国产综合一区二区| 久久影院午夜片一区| 国产一区久久久| 久久免费看少妇高潮| 在线观看视频一区二区欧美日韩| 国产乱码精品一区二区三区忘忧草| 亚洲自拍偷拍综合| 欧美电影在哪看比较好| 日韩成人午夜精品| 中文字幕在线播放不卡一区| 精品日产卡一卡二卡麻豆| 欧美中文字幕一二三区视频| 国产91富婆露脸刺激对白| 国产精品久久久爽爽爽麻豆色哟哟 | 日韩一级精品视频在线观看| 免费在线观看视频一区| 一区二区欧美国产| 欧美高清一级片在线| 久久精工是国产品牌吗| 亚洲h动漫在线| 亚洲日本韩国一区| 国产精品你懂的在线欣赏| 精品福利在线导航| 91精品国产免费| 国产在线乱码一区二区三区| 国产精品第13页| 欧美视频在线观看一区| 久久精品久久久精品美女| 午夜a成v人精品| 午夜成人免费视频| 国产日韩精品久久久| 色视频一区二区| 91玉足脚交白嫩脚丫在线播放| 3d动漫精品啪啪1区2区免费| 欧美精选午夜久久久乱码6080| 91精品国产综合久久蜜臀| 国产精品成人网| 日本道在线观看一区二区| 懂色av一区二区三区免费看| 国产91富婆露脸刺激对白| 在线观看亚洲精品| 波多野结衣精品在线| 国产一区二区在线观看免费 | 国产**成人网毛片九色 | 蜜臀av性久久久久蜜臀av麻豆| 国产色产综合产在线视频| 亚洲成人一区二区| 精品一区二区三区影院在线午夜| 国产成人免费视频网站高清观看视频 | 日本午夜一区二区| 亚洲免费高清视频在线| 精品视频一区二区不卡| 国产精品影视网| 亚洲r级在线视频| 欧美国产一区在线| 欧美色精品天天在线观看视频| 5月丁香婷婷综合| 色天天综合色天天久久| 福利一区福利二区| 欧美美女一区二区在线观看| 裸体健美xxxx欧美裸体表演| 欧美激情在线一区二区三区| 成人看片黄a免费看在线| 欧美丰满美乳xxx高潮www| 亚洲九九爱视频| 99久久精品国产毛片| 亚洲美腿欧美偷拍| 不卡免费追剧大全电视剧网站| 亚洲已满18点击进入久久| 懂色av噜噜一区二区三区av| 久久免费国产精品| 欧美激情一区在线| 欧美日韩国产bt| 色婷婷一区二区三区四区| 成人性色生活片免费看爆迷你毛片| 午夜久久久久久| 亚洲风情在线资源站| 精品亚洲欧美一区| 蜜臀久久99精品久久久久久9 | 亚洲日本中文字幕区| 日本一区二区三区高清不卡| 亚洲黄色尤物视频| 亚洲乱码中文字幕| 狠狠狠色丁香婷婷综合久久五月| 欧美日韩国产综合一区二区 | 欧美手机在线视频| 色噜噜狠狠色综合欧洲selulu| 在线观看91av| 国产精品国产自产拍高清av| 国产亚洲成av人在线观看导航| 久久久精品免费观看| 国产亚洲成aⅴ人片在线观看| 亚洲国产你懂的| 国产福利91精品| 成人黄色免费短视频| 日韩精品一区二区三区四区| 亚洲另类中文字| 福利一区在线观看| 色婷婷激情久久| 欧美日韩国产片| 亚洲日本丝袜连裤袜办公室| 亚洲制服丝袜在线| 亚洲成av人片在线| 91美女片黄在线| 69堂国产成人免费视频| 亚洲人成精品久久久久久 | 偷拍一区二区三区| 日韩中文字幕一区二区三区| 色综合天天综合网天天狠天天| 国产亚洲欧美一级| 久久精品99久久久| 欧美一区二区免费| 欧美极品另类videosde| 蜜臀久久99精品久久久久久9| 欧美日韩亚州综合| 一区二区三区在线观看欧美| 91丝袜美女网| 国产精品狼人久久影院观看方式| 亚洲综合精品自拍| 99精品视频一区二区| 国产精品久久久久久久浪潮网站| 国产精品综合视频| 久久综合九色综合欧美98| 亚洲精品高清在线观看| 日韩不卡免费视频| 欧美日韩免费观看一区三区| 久久日韩粉嫩一区二区三区| ...av二区三区久久精品| 成人激情校园春色| 欧美一区二区福利在线| 免费高清不卡av| 精品久久国产97色综合| 一区二区成人在线| 日本高清不卡视频| 亚洲一二三四区不卡| 色婷婷av一区二区三区大白胸 | 亚洲国产视频一区| 国产一区二区不卡老阿姨| 色久优优欧美色久优优| 最近日韩中文字幕| 色成人在线视频| 国产色综合久久| 成人高清视频在线| 亚洲最新视频在线观看| 成人av网在线| 亚洲综合一区在线| 欧美日韩国产免费一区二区| 免费在线观看不卡| 日本一区二区三区视频视频| 99久久国产综合精品麻豆| 久久精品一区二区| 成av人片一区二区| 国产三区在线成人av| 精品一区二区在线看| 欧美日韩在线一区二区| 久久国产成人午夜av影院| 国产女人水真多18毛片18精品视频 | 欧美日韩一区视频| 美日韩黄色大片|