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

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

?? gifconfig.c

?? 支持IPv4和IPv6的網卡管理程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
}#endif#define	IFFBITS \"\020\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\6NOTRAILERS\7RUNNING\10NOARP\\11PROMISC\12ALLMULTI\13OACTIVE\14SIMPLEX\15LINK0\16LINK1\17LINK2\20MULTICAST"/* * Print the status of the interface.  If an address family was * specified, show it and it only; otherwise, show them all. */voidstatus(){	struct afswtch *p = NULL;	char *mynext;	struct if_msghdr *myifm;	printf("%s: ", name);	printb("flags", flags, IFFBITS);	if (metric)		printf(" metric %d", metric);	if (mtu)		printf(" mtu %d", mtu);	putchar('\n');	/*	 * XXX: Sigh. This is bad, I know.  At this point, we may have	 * *zero* RTM_NEWADDR's, so we have to "feel the water" before	 * incrementing the loop.  One day, I might feel inspired enough	 * to get the top level loop to pass a count down here so we	 * dont have to mess with this.  -Peter	 */	myifm = ifm;	while (1) {		mynext = next + ifm->ifm_msglen;		if (mynext >= lim)			break;		myifm = (struct if_msghdr *)mynext;		if (myifm->ifm_type != RTM_NEWADDR)			break;		next = mynext;		ifm = (struct if_msghdr *)next;		ifam = (struct ifa_msghdr *)myifm;		info.rti_addrs = ifam->ifam_addrs;		/* Expand the compacted addresses */		rt_xaddrs((char *)(ifam + 1), ifam->ifam_msglen + (char *)ifam,			  &info);		if (afp) {			if (afp->af_af == info.rti_info[RTAX_IFA]->sa_family &&			    afp->af_status != ether_status) {				p = afp;				if (p->af_status != ether_status)					(*p->af_status)(1);			}		} else for (p = afs; p->af_name; p++) {			if (p->af_af == info.rti_info[RTAX_IFA]->sa_family &&			    p->af_status != ether_status)				(*p->af_status)(0);		}	}	if (afp == NULL || afp->af_status == ether_status)		ether_status(0);	else if (afp && !p) {		warnx("%s has no %s IFA address!", name, afp->af_name);	}	phys_status(0);}voidphys_status(force)	int force;{	char psrcaddr[256];	char pdstaddr[256];	char hostname[NI_MAXHOST];	int flags = NI_NUMERICHOST;	char *af = "";#ifndef SIOCGLIFPHYADDR	u_long srccmd, dstcmd;	struct ifreq *ifrp;#ifdef INET6	int s6;#endif	force = 0;	/*fool gcc*/	psrcaddr[0] = pdstaddr[0] = '\0';#ifdef INET6	s6 = socket(AF_INET6, SOCK_DGRAM, 0);	if (s6 < 0) {		ifrp = &ifr;		srccmd = SIOCGIFPSRCADDR;		dstcmd = SIOCGIFPDSTADDR;	} else {		close(s6);		srccmd = SIOCGIFPSRCADDR_IN6;		dstcmd = SIOCGIFPDSTADDR_IN6;		ifrp = (struct ifreq *)&in6_ifr;	}#else /* INET6 */	ifrp = &ifr;	srccmd = SIOCGIFPSRCADDR;	dstcmd = SIOCGIFPDSTADDR;#endif /* INET6 */	if (0 <= ioctl(s, srccmd, (caddr_t)ifrp)) {		switch (ifrp->ifr_addr.sa_family) {		case AF_INET:			af = "inet";			break;#ifdef INET6		case AF_INET6:			af = "inet6";			break;#endif		default:			af = "";			break;		}		if (getnameinfo(&ifrp->ifr_addr, ifrp->ifr_addr.sa_len,		    psrcaddr, sizeof(psrcaddr), 0, 0, flags) != 0)			psrcaddr[0] = '\0';	}	if (0 <= ioctl(s, dstcmd, (caddr_t)ifrp)) {		if (getnameinfo(&ifrp->ifr_addr, ifrp->ifr_addr.sa_len,		    pdstaddr, sizeof(pdstaddr), 0, 0, flags) != 0)			pdstaddr[0] = '\0';	}	printf("\tphysical address %s %s --> %s\n", af, psrcaddr, pdstaddr);#else	struct if_laddrreq iflr;	force = 0;	/*fool gcc*/	psrcaddr[0] = pdstaddr[0] = '\0';	memset(&iflr, 0, sizeof(iflr));	memcpy(iflr.iflr_name, ifr.ifr_name, sizeof(iflr.iflr_name));	if (0 <= ioctl(s, SIOCGLIFPHYADDR, (caddr_t)&iflr)) {		switch (iflr.addr.ss_family) {		case AF_INET:			af = "inet";			break;#ifdef INET6		case AF_INET6:			af = "inet6";			break;#endif /* INET6 */		default:			af = "";			break;		}		if (getnameinfo((struct sockaddr *)&iflr.addr, iflr.addr.ss_len,		    psrcaddr, sizeof(psrcaddr), 0, 0, flags) != 0)			psrcaddr[0] = '\0';		if (getnameinfo((struct sockaddr *)&iflr.dstaddr,		    iflr.dstaddr.ss_len, pdstaddr, sizeof(pdstaddr), 0, 0,		    flags) != 0)			pdstaddr[0] = '\0';	}	printf("\tphysical address %s %s --> %s\n", af, psrcaddr, pdstaddr);#endif}voidin_status(force)	int force;{	struct sockaddr_in *sin, null_sin;#if 0	char *inet_ntoa();#endif		memset(&null_sin, 0, sizeof(null_sin));	sin = (struct sockaddr_in *)info.rti_info[RTAX_IFA];	if (!sin || sin->sin_family != AF_INET) {		if (!force)			return;		/* warnx("%s has no AF_INET IFA address!", name); */		sin = &null_sin;	}	printf("\tinet %s ", inet_ntoa(sin->sin_addr));	if (flags & IFF_POINTOPOINT) {		/* note RTAX_BRD overlap with IFF_BROADCAST */		sin = (struct sockaddr_in *)info.rti_info[RTAX_BRD];		if (!sin)			sin = &null_sin;		printf("--> %s ", inet_ntoa(sin->sin_addr));	}	sin = (struct sockaddr_in *)info.rti_info[RTAX_NETMASK];	if (!sin)		sin = &null_sin;	printf("netmask 0x%x ", (u_int32_t)ntohl(sin->sin_addr.s_addr));	if (flags & IFF_BROADCAST) {		/* note RTAX_BRD overlap with IFF_POINTOPOINT */		sin = (struct sockaddr_in *)info.rti_info[RTAX_BRD];		if (sin && sin->sin_addr.s_addr != 0)			printf("broadcast %s", inet_ntoa(sin->sin_addr));	}	putchar('\n');}#ifdef INET6voidin6_status(force)	int force;{	struct sockaddr_in6 *sin, null_sin;	char hostname[NI_MAXHOST];	int niflags = NI_NUMERICHOST;	memset(&null_sin, 0, sizeof(null_sin));	sin = (struct sockaddr_in6 *)info.rti_info[RTAX_IFA];	if (!sin || sin->sin6_family != AF_INET6) {		if (!force)			return;		/* warnx("%s has no AF_INET6 IFA address!", name); */		sin = &null_sin;	}#ifdef __KAME__	if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr)) {		sin->sin6_scope_id =			ntohs(*(u_int16_t *)&sin->sin6_addr.s6_addr[2]);		sin->sin6_addr.s6_addr[2] = 0;		sin->sin6_addr.s6_addr[3] = 0;	}#endif	getnameinfo((struct sockaddr *)sin, sin->sin6_len,		    hostname, sizeof(hostname), 0, 0, niflags);	printf("\tinet6 %s ", hostname);	if (flags & IFF_POINTOPOINT) {		/* note RTAX_BRD overlap with IFF_BROADCAST */		sin = (struct sockaddr_in6 *)info.rti_info[RTAX_BRD];		/*		 * some of ther interfaces do not have valid destination		 * address.		 */		if (sin->sin6_family == AF_INET6) {#ifdef __KAME__			if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr)) {				sin->sin6_scope_id =					ntohs(*(u_int16_t *)&sin->sin6_addr.s6_addr[2]);				sin->sin6_addr.s6_addr[2] = 0;				sin->sin6_addr.s6_addr[3] = 0;			}#endif			getnameinfo((struct sockaddr *)sin, sin->sin6_len,				    hostname, sizeof(hostname), 0, 0, niflags);			printf("--> %s ", hostname);		}	}	sin = (struct sockaddr_in6 *)info.rti_info[RTAX_NETMASK];	if (!sin)		sin = &null_sin;	printf(" prefixlen %d ", prefix(&sin->sin6_addr,		sizeof(struct in6_addr)));	putchar('\n');}#endif /*INET6*//*ARGSUSED*/voidether_status(dummy)	int dummy;{	char *cp;	int n;	dummy = 0;	/*fool gcc*/	cp = (char *)LLADDR(sdl);	if ((n = sdl->sdl_alen) > 0) {		if (sdl->sdl_type == IFT_ETHER)			printf ("\tether ");		else			printf ("\tlladdr ");             	while (--n >= 0)			printf("%02x%c",*cp++ & 0xff, n>0? ':' : ' ');		putchar('\n');	}}voidPerror(cmd)	char *cmd;{	switch (errno) {	case ENXIO:		errx(1, "%s: no such interface", cmd);		break;	case EPERM:		errx(1, "%s: permission denied", cmd);		break;	default:		err(1, "%s", cmd);	}}#define SIN(x) ((struct sockaddr_in *) &(x))struct sockaddr_in *sintab[] = {SIN(addreq.ifra_addr), SIN(addreq.ifra_dstaddr)};voidin_getaddr(s, which)	char *s;	int which;{	register struct sockaddr_in *sin = sintab[which];	struct hostent *hp;	struct netent *np;	sin->sin_len = sizeof(*sin);	sin->sin_family = AF_INET;	if (inet_aton(s, &sin->sin_addr))		;	else if ((hp = gethostbyname(s)) != NULL)		bcopy(hp->h_addr, (char *)&sin->sin_addr, hp->h_length);	else if ((np = getnetbyname(s)) != NULL)		sin->sin_addr = inet_makeaddr(np->n_net, INADDR_ANY);	else		errx(1, "%s: bad value", s);}#ifdef INET6#define SIN6(x) ((struct sockaddr_in6 *) &(x))struct sockaddr_in6 *sin6tab[] = {SIN6(in6_addreq.ifra_addr), SIN6(in6_addreq.ifra_dstaddr)};voidin6_getaddr(s, which)	char *s;	int which;{	register struct sockaddr_in6 *sin = sin6tab[which];	struct addrinfo hints, *res;	int ecode;	memset(&hints, 0, sizeof(hints));	hints.ai_family = AF_INET6;	if ((ecode = getaddrinfo(s, NULL, NULL, &res)) != 0)		errx(1, "error in parsing address string: %s",		    gai_strerror(ecode));	if (res->ai_addrlen != sizeof(*sin))		errx(1, "%s: bad value", s);	memcpy(sin, res->ai_addr, res->ai_addrlen);	freeaddrinfo(res);#ifdef __KAME__	/* embed scopeid */	if (sin->sin6_scope_id && 	    (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr) ||	     IN6_IS_ADDR_MC_LINKLOCAL(&sin->sin6_addr))) {		*(u_int16_t *)&sin->sin6_addr.s6_addr[2] =		    htons(sin->sin6_scope_id);	}#endif}voidin6_getprefix(plen, which)	char *plen;	int which;{	register struct sockaddr_in6 *sin = sin6tab[which];	register u_char *cp;	int len = atoi(plen);	if ((len < 0) || (len > 128))		errx(1, "%s: bad value", plen);	sin->sin6_len = sizeof(*sin);	sin->sin6_family = AF_INET6;	if ((len == 0) || (len == 128)) {		memset(&sin->sin6_addr, -1, sizeof(struct in6_addr));		return;	}	for (cp = (u_char *)&sin->sin6_addr; len > 7; len -= 8)		*cp++ = -1;	*cp = (-1) << (8 - len);}#endif/* * Print a value a la the %b format of the kernel's printf */voidprintb(s, v, bits)	char *s;	register unsigned int v;	register char *bits;{	register int i, any = 0;	register char c;	if (bits && *bits == 8)		printf("%s=%o", s, v & 0xffff);	else		printf("%s=%x", s, v & 0xffff);	bits++;	if (bits) {		putchar('<');		while ((i = *bits++) != 0) {			if ((v & (1 << (i-1))) != 0) {				if (any)					putchar(',');				any = 1;				for (; (c = *bits) > 32; bits++)					putchar(c);			} else				for (; *bits > 32; bits++)					;		}		putchar('>');	}}#ifdef INET6intprefix(val, size)        void *val;        int size;{        register u_char *name = (u_char *)val;        register int byte, bit, plen = 0;        for (byte = 0; byte < size; byte++, plen += 8)                if (name[byte] != 0xff)                        break;	if (byte == size)		return (plen);	for (bit = 7; bit != 0; bit--, plen++)                if (!(name[byte] & (1 << bit)))                        break;        for (; bit != 0; bit--)                if (name[byte] & (1 << bit))                        return(0);        byte++;        for (; byte < size; byte++)                if (name[byte])                        return(0);        return (plen);}#endif /*INET6*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线播放成人| 日韩欧美中文一区| 欧美情侣在线播放| 久久婷婷国产综合国色天香| 一区二区三区丝袜| 国产精品99久| 91精品国产色综合久久ai换脸| 国产欧美一区二区三区鸳鸯浴| 亚洲国产一区二区a毛片| 国产丶欧美丶日本不卡视频| 欧美日韩aaa| 国产精品久久久久久久蜜臀 | 国产亲近乱来精品视频| 亚洲国产sm捆绑调教视频| 国产二区国产一区在线观看| 日韩精品在线网站| 天堂午夜影视日韩欧美一区二区| 成人精品亚洲人成在线| 26uuu亚洲综合色欧美| 五月激情六月综合| 91麻豆高清视频| 亚洲欧洲av一区二区三区久久| 美女网站在线免费欧美精品| 欧美性大战久久久| 亚洲精品高清在线观看| 99国产精品久久久久久久久久 | 亚洲小说欧美激情另类| voyeur盗摄精品| 欧美极品xxx| 国产成人在线观看| 久久久91精品国产一区二区精品 | 丝袜美腿亚洲综合| 欧美在线视频不卡| 亚洲国产三级在线| 欧美日韩一区二区三区在线| 亚洲精品国产高清久久伦理二区| av在线播放不卡| 中文字幕亚洲不卡| 色综合久久久久综合99| 中文字幕一区二区三区在线播放| 高清不卡一区二区| 国产精品免费丝袜| 91丨九色丨黑人外教| 亚洲欧美日韩在线| 欧美视频在线一区| 日韩一区欧美二区| 精品久久久久久久久久久久久久久 | 久久久蜜桃精品| 国产精品456| 国产精品久久久久久久久久久免费看| 国产精品一区二区久激情瑜伽| 久久久不卡影院| 97久久久精品综合88久久| 日韩理论片在线| 欧美三级视频在线播放| 人人爽香蕉精品| 久久久九九九九| 97久久人人超碰| 日韩综合小视频| 久久久久久亚洲综合影院红桃| 国产高清亚洲一区| 综合欧美一区二区三区| 欧美三级在线播放| 国产一区激情在线| 亚洲人亚洲人成电影网站色| 欧美色图片你懂的| 久草精品在线观看| 综合精品久久久| 3d动漫精品啪啪一区二区竹菊| 精品亚洲porn| 亚洲免费av在线| 日韩欧美国产一区在线观看| 成人免费视频国产在线观看| 亚洲一区中文在线| 精品黑人一区二区三区久久| 99热99精品| 久久99精品久久久久| 亚洲特黄一级片| 欧美成人三级在线| 色94色欧美sute亚洲13| 精品一区二区三区视频| 日韩一区在线看| 欧美videossexotv100| 91美女片黄在线观看91美女| 蜜臀av性久久久久av蜜臀妖精| 成人欧美一区二区三区黑人麻豆| 欧美日本在线看| 99久久99久久免费精品蜜臀| 日韩av一级片| 一区二区三区在线观看国产| 久久精品男人的天堂| 777久久久精品| 91浏览器打开| 国产成人av电影在线播放| 无码av免费一区二区三区试看 | 欧美白人最猛性xxxxx69交| 色一情一乱一乱一91av| 国产91清纯白嫩初高中在线观看| 日韩精品电影在线| 亚洲免费av观看| 中文av一区二区| 精品国产一区二区国模嫣然| 欧美日本在线一区| 欧美性xxxxx极品少妇| 99久久国产综合精品女不卡| 色综合久久天天| 国产成人自拍在线| 国内精品伊人久久久久av影院| 亚洲成人7777| 亚洲影视在线播放| 亚洲精品视频免费观看| 国产精品天干天干在观线| 久久―日本道色综合久久| 日韩精品一区二区三区中文精品| 欧美日韩精品一区视频| 欧美网站大全在线观看| 在线一区二区三区四区五区| 99久久亚洲一区二区三区青草| 国产福利一区在线观看| 国产精品1区2区3区在线观看| 久久成人羞羞网站| 久久精品国产亚洲5555| 久久99蜜桃精品| 黑人巨大精品欧美一区| 激情欧美一区二区三区在线观看| 蜜桃视频在线观看一区| 久久国内精品自在自线400部| 青草国产精品久久久久久| 奇米影视一区二区三区| 毛片一区二区三区| 国产一区二区在线电影| 国产成人综合网站| 波多野结衣亚洲| 日本韩国欧美一区二区三区| 在线观看av一区| 欧美男男青年gay1069videost | 18涩涩午夜精品.www| 亚洲视频香蕉人妖| 亚洲一级二级在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 69堂精品视频| 2024国产精品| 亚洲色图一区二区| 爽好久久久欧美精品| 久久av老司机精品网站导航| 国产精品99久| 色999日韩国产欧美一区二区| 欧美精品在线视频| 久久精品人人做人人爽97| 亚洲欧洲另类国产综合| 午夜视频在线观看一区二区三区| 精品一区二区在线播放| 成年人国产精品| 欧美另类z0zxhd电影| 国产性天天综合网| 亚洲一区二区三区四区在线观看| 老色鬼精品视频在线观看播放| 国产精品一二三区在线| 91黄色在线观看| 久久久一区二区三区捆绑**| 亚洲女女做受ⅹxx高潮| 乱中年女人伦av一区二区| 成人毛片在线观看| 日韩亚洲国产中文字幕欧美| 国产精品久99| 激情综合色综合久久| 色素色在线综合| 中文字幕欧美激情一区| 免费在线看成人av| 在线亚洲精品福利网址导航| 国产偷国产偷亚洲高清人白洁| 亚洲一区免费视频| 成人av午夜电影| 欧美大尺度电影在线| 一区二区高清免费观看影视大全 | 亚洲一二三四久久| 国产91精品露脸国语对白| 6080国产精品一区二区| 亚洲三级在线观看| 国产91丝袜在线播放九色| 91麻豆精品国产| 亚洲精品菠萝久久久久久久| 国产精品乡下勾搭老头1| 日韩一级大片在线| 亚洲sss视频在线视频| 99re视频精品| 国产精品视频观看| 国产精品一区免费在线观看| 91精品国产综合久久精品 | 欧美极品美女视频| 国产精品资源在线观看| 欧美一卡2卡3卡4卡| 午夜天堂影视香蕉久久| 欧美在线视频不卡| 一区二区三区在线视频播放| 91香蕉国产在线观看软件| 国产精品污污网站在线观看| 国产一区二区三区在线观看免费 | 国产一区二区三区免费观看| 精品久久人人做人人爰|