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

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

?? arplib.c

?? Tornado平臺(tái)下
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    if (arpCmd (SIOCDARP, &hostAddr, (u_char *) NULL, (int *) NULL) == ERROR)	{        errno = S_arpLib_INVALID_HOST;    /* No such entry in table. */	return (ERROR);	}    return (OK);    }/********************************************************************************* arpCmd - issues an ARP command** This routine generates the low-level ioctl call for an ARP command. Expected* values for the <cmd> parameter are SIOCSARP, SIOCGARP, or SIOCDARP. * The <pIpAddr> parameter specifies the IP address of the host. The* <pHwAddr> pointer provides the corresponding link-level address in* binary form. That parameter is only used with SIOCSARP, and is limited* to the 6-byte maximum required for Ethernet addresses. The <pFlags> * argument provides any flag settings for the entry.** RETURNS: OK, or ERROR if unsuccessful.** NOMANUAL** INTERNAL* This routine should be LOCAL, but it is also used by the proxy ARP* library. That library should call the ioctl interface directly instead* to avoid the overhead created by the additional routines in this* module which it does not use.*/STATUS arpCmd    (    int                 cmd,			/* arp command		*/    struct in_addr *    pIpAddr,		/* ip address		*/    u_char *            pHwAddr,		/* hardware address	*/    int *               pFlags			/* arp flags 		*/    )    {    struct arpreq       arpRequest;		/* arp request struct	*/    STATUS              status = ERROR;		/* return status 	*/    int                 sock;			/* socket 		*/    /* fill in arp request structure */    bzero ((caddr_t) &arpRequest, sizeof (struct arpreq));    arpRequest.arp_pa.sa_family = AF_INET;    ((struct sockaddr_in *)	&(arpRequest.arp_pa))->sin_addr.s_addr = pIpAddr->s_addr;    arpRequest.arp_ha.sa_family = AF_UNSPEC;    if (pHwAddr != NULL)        bcopy ((caddr_t) pHwAddr ,(caddr_t) arpRequest.arp_ha.sa_data,	       ENET_SIZE);    if (pFlags != NULL)    	arpRequest.arp_flags = *pFlags;    if ((sock = socket (AF_INET, SOCK_RAW, 0)) != ERROR)        {        if ((status = ioctl (sock, cmd, (int) &arpRequest)) == OK)	    {    	    if (pHwAddr != NULL)        	bcopy ((caddr_t) arpRequest.arp_ha.sa_data, (caddr_t) pHwAddr,			ENET_SIZE);	    if (pFlags != NULL)    		*pFlags = arpRequest.arp_flags;	    }        close (sock);        }    return (status);    }/********************************************************************************* arpFlush - flush all entries in the system ARP table** This routine flushes all non-permanent entries in the ARP cache.** RETURNS: N/A*/void arpFlush (void)    {    register struct llinfo_arp *la;    FAST struct rtentry * 	pRoute;     int				s;#ifdef VIRTUAL_STACK    virtualStackIdCheck();    la = _llinfo_arp.la_next;#else    la = llinfo_arp.la_next;#endif /* VIRTUAL_STACK */    s = splnet ();#ifdef VIRTUAL_STACK    while (la != &_llinfo_arp) #else    while (la != &llinfo_arp) #endif	{	pRoute = la->la_rt; 	la = la->la_next;	/* if entry permanent */	if ((pRoute->rt_rmx.rmx_expire == 0) || (pRoute->rt_flags == 0))	    continue;	arptfree(la->la_prev); /* timer has expired; clear */	}    splx (s);    }/********************************************************************************* etherAsciiToEnet - convert Ethernet address** This routine converts an Ethernet address in ascii format to its normal* 48 bit format.  <asciiAddr> is the string Ethernet address which has the form* "x:x:x:x:x:x" where x is a hexadecimal number between 0 and ff.  <retEnet> is* where the Ethernet address gets returned.   This routine is similar to the* UNIX call ether_aton.** RETURNS: OK, or ERROR if unsuccessful.** ERRNO: S_arpLib_INVALID_ENET_ADDRESS*/LOCAL STATUS etherAsciiToEnet    (    char *		asciiAddr,		/* enet addr in ascii	*/    u_char *		retEnet			/* return enet addr	*/    )    {    int			enet [ENET_SIZE];	/* Ethernet address     */    int			ix;			/* index variable	*/    if (sscanf (asciiAddr, "%x:%x:%x:%x:%x:%x", &enet [0],		&enet [1], &enet [2], &enet [3], &enet [4],		&enet [5]) != ENET_SIZE)	{	printf ("arp: invalid Ethernet address %s\n", asciiAddr);	errno = S_arpLib_INVALID_ENET_ADDRESS;	return (ERROR);	}    for (ix = 0; ix < ENET_SIZE; ix++)	retEnet [ix] = (u_char) enet [ix];   return (OK);   }/********************************************************************************* arpResolve - resolve a hardware address for a specified Internet address** This routine uses the Address Resolution Protocol (ARP) and internal ARP* cache to resolve the hardware address of a machine that owns the Internet* address given in <targetAddr>.** The hardware address is copied to <pHwAddr> as network byte order, if the* resolution of <targetAddr> is successful.  <pHwAddr> must point to a buffer* which is large enough to receive the address.** NOTE: RFC 1122 prohibits sending more than one arp request per second.  Any* numTicks value that would result in a shorter time than this is ignored.** RETURNS:* OK if the address is resolved successfully, or ERROR if <pHwAddr> is NULL,* <targetAddr> is invalid, or address resolution is unsuccessful.** ERRNO:*  S_arpLib_INVALID_ARGUMENT*  S_arpLib_INVALID_HOST**/STATUS arpResolve    (    char                *targetAddr,  /* name or Internet address of target */    char                *pHwAddr,     /* where to return the H/W address */    int                 numTries,     /* number of times to try ARPing (-1 means try                                         forever) */    int                 numTicks      /* number of ticks between ARPs */    )    {    struct ifnet *	pIf = NULL;    struct sockaddr_in  sockInetAddr;    struct rtentry *	pRt;    unsigned long	addr;    int			retVal = 0;    if (pHwAddr == NULL || numTries < -1 || numTries == 0)     /* user messed up */	{	errno = S_arpLib_INVALID_ARGUMENT;        return (ERROR);	}    /* the 'targetAddr' can either be the hostname or the actual Internet     * address.     */    if ((addr = (unsigned long) hostGetByName (targetAddr)) == ERROR &&	(addr = inet_addr (targetAddr)) == ERROR)	{	errno = S_arpLib_INVALID_HOST;	return (ERROR);	}    bzero ((caddr_t)&sockInetAddr, sizeof (sockInetAddr));    sockInetAddr.sin_len = sizeof(struct sockaddr_in);    sockInetAddr.sin_family = AF_INET;    sockInetAddr.sin_addr.s_addr = addr;     /*     * Get associated local interface's ifnet. This search also     * clones an empty ARP entry from the interface route if one     * does not already exist.     */    pRt = rtalloc1 ( (struct sockaddr *)&sockInetAddr, 1);    if (pRt == NULL)	{	errno = S_arpLib_INVALID_HOST;	return (ERROR);	}    pIf = pRt->rt_ifp;    if (pIf == NULL)	{        rtfree (pRt);	errno = S_arpLib_INVALID_HOST;	return (ERROR);	}    /* return 0xffffffffffff for broadcast Internet address */    if (in_broadcast (sockInetAddr.sin_addr, pIf))	{        bcopy ((char *) etherbroadcastaddr, pHwAddr,	       sizeof (etherbroadcastaddr));        rtfree (pRt);	return (OK);	}    /* Try to resolve the Ethernet address by calling arpresolve() which     * may send out ARP request messages out onto the Ethernet wire.     */    while ((numTries == -1 || numTries-- > 0) &&	   (retVal = arpresolve ((struct arpcom *) pIf, 				 (struct rtentry *)pRt, 				 (struct mbuf *) NULL,				 (struct sockaddr *)&sockInetAddr,				 (UCHAR *)pHwAddr))	   == 0)    	if (numTries)           /* don't delay after last arp */            taskDelay (numTicks);    rtfree (pRt);    if (retVal == 0)		/* unsuccessful resolution */	{	errno = S_arpLib_INVALID_HOST;        return (ERROR);	}    return (OK);    }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女黄视频| 欧美亚洲高清一区| 亚洲午夜精品久久久久久久久| 91精品国产乱| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久精品夜夜夜夜久久| 在线观看91视频| av电影在线不卡| 国产一区二区三区综合| 偷拍日韩校园综合在线| 亚洲视频免费在线| 欧美国产日韩精品免费观看| 精品美女被调教视频大全网站| 91成人免费在线| 99久久国产综合精品女不卡| 国产福利一区二区三区在线视频| 蜜桃视频在线一区| 五月激情综合婷婷| 夜夜爽夜夜爽精品视频| 亚洲色图视频网站| 18欧美亚洲精品| 亚洲欧洲日韩在线| 国产精品亲子伦对白| 国产日产欧产精品推荐色| 欧美精品一区二区三区在线播放| 日韩欧美区一区二| 欧美一区二区三区电影| 欧美精品一卡两卡| 欧美精品 日韩| 欧美裸体bbwbbwbbw| 51精品国自产在线| 欧美一区二区视频在线观看2022| 欧美日韩一区不卡| 欧美久久免费观看| 欧美日韩国产综合视频在线观看 | 成人a级免费电影| 国产精品小仙女| 国产成人精品在线看| 粉嫩绯色av一区二区在线观看| 91精品国产全国免费观看| 91麻豆精品国产综合久久久久久 | 成人app网站| 成人免费毛片a| 99久久精品一区二区| 91免费精品国自产拍在线不卡| 91蜜桃婷婷狠狠久久综合9色| 91在线云播放| 欧美色精品天天在线观看视频| 精品视频一区 二区 三区| 欧美日韩mp4| 欧美成人艳星乳罩| 国产亚洲精品精华液| 久久青草国产手机看片福利盒子 | 成人国产一区二区三区精品| av亚洲精华国产精华精| 欧美最猛性xxxxx直播| 7777精品伊人久久久大香线蕉经典版下载| 欧美精品在线观看播放| 久久先锋影音av| 中文字幕一区二区三| 亚洲成人激情自拍| 毛片av一区二区三区| 国产91色综合久久免费分享| 一本色道久久综合精品竹菊| 欧美性做爰猛烈叫床潮| 9191成人精品久久| 久久综合久久久久88| 国产精品欧美一区二区三区| 亚洲最大色网站| 美女视频黄 久久| www.亚洲国产| 欧美一级理论性理论a| 欧美国产激情一区二区三区蜜月| 亚洲精品日日夜夜| 久热成人在线视频| 99精品国产91久久久久久| 欧美区一区二区三区| 国产色91在线| 亚洲午夜久久久久久久久久久| 久久狠狠亚洲综合| 色哟哟亚洲精品| 欧美zozozo| 一级中文字幕一区二区| 国产一区美女在线| 欧美色精品天天在线观看视频| 久久精品一区八戒影视| 午夜免费久久看| 成人短视频下载| 日韩精品一区二区三区蜜臀| 亚洲欧美另类小说视频| 国产一区二区0| 欧美伦理影视网| 亚洲美女精品一区| 国产精品一区二区三区四区| 欧美日韩亚洲综合一区| 一区在线中文字幕| 国产一区二区在线电影| 欧美猛男男办公室激情| 亚洲女同女同女同女同女同69| 精品影视av免费| 欧美日韩在线综合| 亚洲精品久久嫩草网站秘色| 国产一区二区成人久久免费影院| 欧美精品xxxxbbbb| 亚洲精品国产精华液| 大白屁股一区二区视频| 欧美xxxxx裸体时装秀| 石原莉奈在线亚洲二区| 色猫猫国产区一区二在线视频| 国产视频视频一区| 精品亚洲成a人| 欧美一级xxx| 婷婷六月综合网| 欧美在线观看视频在线| 一区二区三区成人在线视频| www.久久精品| 亚洲国产激情av| 国产成人aaa| 久久久久免费观看| 韩国欧美一区二区| 久久综合久久综合亚洲| 麻豆精品一区二区三区| 91精品国产乱码| 蜜桃一区二区三区在线| 91精品国产欧美日韩| 日本麻豆一区二区三区视频| 91精品在线免费观看| 婷婷成人综合网| 欧美精品v国产精品v日韩精品| 亚洲成人av一区二区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲国产激情av| 成人自拍视频在线观看| 国产精品沙发午睡系列990531| 国产美女主播视频一区| 日本一区二区免费在线| av中文字幕在线不卡| 日韩毛片在线免费观看| 色综合久久久久综合体桃花网| 最新日韩av在线| 91久久精品一区二区三| 亚洲电影激情视频网站| 日韩一区二区三区免费观看| 麻豆成人在线观看| 久久久777精品电影网影网| 粉嫩欧美一区二区三区高清影视 | 亚洲乱码中文字幕| 欧美性xxxxx极品少妇| 午夜精品一区二区三区免费视频| 欧美人与性动xxxx| 老司机一区二区| 国产精品美女久久久久久久网站| 97久久超碰国产精品电影| 一区二区欧美国产| 日韩三级中文字幕| 国产·精品毛片| 亚洲图片欧美视频| 欧美一区二区人人喊爽| 国产精品一区一区| 一区二区欧美国产| 日韩精品一区二区三区在线| 成人免费视频一区二区| 亚洲一线二线三线视频| 日韩欧美国产精品| 不卡的av网站| 日韩**一区毛片| 国产欧美一区二区精品仙草咪| 日本精品免费观看高清观看| 美女高潮久久久| 亚洲视频免费在线观看| 日韩午夜电影在线观看| 成人黄色777网| 秋霞午夜av一区二区三区| 欧美国产一区在线| 欧美欧美欧美欧美| 国产精品538一区二区在线| 亚洲午夜在线视频| 久久久久99精品一区| 欧美三区在线观看| 国产成人精品免费一区二区| 亚洲精品欧美在线| 久久久电影一区二区三区| 欧美日韩一级视频| 不卡av在线免费观看| 日本sm残虐另类| 亚洲品质自拍视频| 日韩精品一区二区三区老鸭窝| 91丨九色porny丨蝌蚪| 久久成人免费电影| 一区二区三区欧美久久| 国产丝袜在线精品| 日韩三级视频在线观看| 在线精品国精品国产尤物884a| 国产麻豆精品theporn| 天堂蜜桃一区二区三区| 专区另类欧美日韩| 国产欧美一区二区三区网站| 91精品欧美久久久久久动漫| 色综合中文字幕国产 | 国产美女精品一区二区三区|