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

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

?? arpcmd.c

?? TCPIP協(xié)議包
?? C
字號(hào):
/* ARP commands
 */
#include <stdio.h>
#include <ctype.h>
#include "global.h"
#include "mbuf.h"
#include "timer.h"
#include "enet.h"
#include "ax25.h"
#include "arp.h"
#include "netuser.h"
#include "cmdparse.h"
#include "commands.h"

static int doarpadd(int argc,char *argv[],void *p);
static int doarpdrop(int argc,char *argv[],void *p);
static int doarpflush(int argc,char *argv[],void *p);
static void dumparp(void);

static struct cmds Arpcmds[] = {
	"add", doarpadd, 0, 4,
	"arp add <hostid> ether|ax25|netrom|arcnet <ether addr|callsign>",

	"drop", doarpdrop, 0, 3,
	"arp drop <hostid> ether|ax25|netrom|arcnet",

	"flush", doarpflush, 0, 0,
	NULL,

	"publish", doarpadd, 0, 4,
	"arp publish <hostid> ether|ax25|netrom|arcnet <ether addr|callsign>",

	NULL,
};
char *Arptypes[] = {
	"NET/ROM",
	"10 Mb Ethernet",
	"3 Mb Ethernet",
	"AX.25",
	"Pronet",
	"Chaos",
	"",
	"Arcnet",
	"Appletalk"
};

int
doarp(argc,argv,p)
int argc;
char *argv[];
void *p;
{
	if(argc < 2){
		dumparp();
		return 0;
	}
	return subcmd(Arpcmds,argc,argv,p);
}
static
doarpadd(argc,argv,p)
int argc;
char *argv[];
void *p;
{
	uint16 hardware;
	int32 addr;
	uint8 *hwaddr;
	struct arp_tab *ap;
	struct arp_type *at;
	int pub = 0;

	if(argv[0][0] == 'p')	/* Is this entry published? */
		pub = 1;
	if((addr = resolve(argv[1])) == 0){
		printf(Badhost,argv[1]);
		return 1;
	}
	/* This is a kludge. It really ought to be table driven */
	switch(tolower(argv[2][0])){
	case 'n':	/* Net/Rom pseudo-type */
		hardware = ARP_NETROM;
		break;
	case 'e':	/* "ether" */
		hardware = ARP_ETHER;
		break;		
	case 'a':	/* "ax25" */
		switch(tolower(argv[2][1])) {
		case 'x':
			hardware = ARP_AX25;
			break;
		case 'r':
			hardware = ARP_ARCNET;
			break;
		default:
			printf("unknown hardware type \"%s\"\n",argv[2]);
			return -1;
		}
		break;
	case 'm':	/* "mac appletalk" */
		hardware = ARP_APPLETALK;
		break;
	default:
		printf("unknown hardware type \"%s\"\n",argv[2]);
		return -1;
	}
	/* If an entry already exists, clear it */
	if((ap = arp_lookup(hardware,addr)) != NULL)
		arp_drop(ap);

	at = &Arp_type[hardware];
	if(at->scan == NULL){
		printf("Attach device first\n");
		return 1;
	}
	/* Allocate buffer for hardware address and fill with remaining args */
	hwaddr = mallocw(at->hwalen);
	/* Destination address */
	(*at->scan)(hwaddr,argv[3]);
	ap = arp_add(addr,hardware,hwaddr,pub);	/* Put in table */
	free(hwaddr);				/* Clean up */
	stop_timer(&ap->timer);			/* Make entry permanent */
	set_timer(&ap->timer,0L);
	return 0;
}
/* Remove an ARP entry */
static
doarpdrop(argc,argv,p)
int argc;
char *argv[];
void *p;
{
	uint16 hardware;
	int32 addr;
	struct arp_tab *ap;

	if((addr = resolve(argv[1])) == 0){
		printf(Badhost,argv[1]);
		return 1;
	}
	/* This is a kludge. It really ought to be table driven */
	switch(tolower(argv[2][0])){
	case 'n':
		hardware = ARP_NETROM;
		break;
	case 'e':	/* "ether" */
		hardware = ARP_ETHER;
		break;		
	case 'a':	/* "ax25" */
		switch(tolower(argv[2][1])) {
		case 'x':
			hardware = ARP_AX25;
			break;
		case 'r':
			hardware = ARP_ARCNET;
			break;
		default:
			hardware = 0;
			break;
		}
		break;
	case 'm':	/* "mac appletalk" */
		hardware = ARP_APPLETALK;
		break;
	default:
		hardware = 0;
		break;
	}
	if((ap = arp_lookup(hardware,addr)) == NULL)
		return -1;
	arp_drop(ap);
	return 0;	
}
/* Flush all automatic entries in the arp cache */
static int
doarpflush(argc,argv,p)
int argc;
char *argv[];
void *p;
{
	register struct arp_tab *ap;
	struct arp_tab *aptmp;
	int i;

	for(i=0;i<HASHMOD;i++){
		for(ap = Arp_tab[i];ap != NULL;ap = aptmp){
			aptmp = ap->next;
			if(dur_timer(&ap->timer) != 0)
				arp_drop(ap);
		}
	}
	return 0;
}

/* Dump ARP table */
static void
dumparp()
{
	register int i;
	register struct arp_tab *ap;
	char e[128];

	printf("received %u badtype %u bogus addr %u reqst in %u replies %u reqst out %u\n",
	 Arp_stat.recv,Arp_stat.badtype,Arp_stat.badaddr,Arp_stat.inreq,
	 Arp_stat.replies,Arp_stat.outreq);

	printf("IP addr         Type           Time Q Addr\n");
	for(i=0;i<HASHMOD;i++){
		for(ap = Arp_tab[i];ap != (struct arp_tab *)NULL;ap = ap->next){
			printf("%-16s",inet_ntoa(ap->ip_addr));
			printf("%-15s",smsg(Arptypes,NHWTYPES,ap->hardware));
			printf("%-5ld",read_timer(&ap->timer)/1000L);
			if(ap->state == ARP_PENDING)
				printf("%-2u",len_q(ap->pending));
			else
				printf("  ");
			if(ap->state == ARP_VALID){
				if(Arp_type[ap->hardware].format != NULL){
					(*Arp_type[ap->hardware].format)(e,ap->hw_addr);
				} else {
					e[0] = '\0';
				}
				printf("%s",e);
			} else {
				printf("[unknown]");
			}
			if(ap->pub)
				printf(" (published)");
			printf("\n");
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色国产精品一区在线观看| 一区二区三区在线视频播放| 韩国在线一区二区| 久久尤物电影视频在线观看| 国产一区二区看久久| 国产精品色噜噜| 欧美综合在线视频| 天天综合色天天| www激情久久| eeuss鲁片一区二区三区在线观看| 亚洲视频一二三| 欧美日韩一级片网站| 久久激情五月婷婷| 欧美国产一区二区| 欧美色窝79yyyycom| 久久国产综合精品| 18涩涩午夜精品.www| 欧美在线一区二区三区| 捆绑调教美女网站视频一区| 国产精品视频你懂的| 欧美视频一二三区| 国产精品一区二区不卡| 一区二区三区中文字幕精品精品| 欧美一区二区三区免费在线看| 国产精品综合二区| 亚洲自拍偷拍图区| 久久久久国产一区二区三区四区| 久久久久久久久久电影| 色偷偷久久人人79超碰人人澡| 肉丝袜脚交视频一区二区| 久久色.com| 欧美日韩免费一区二区三区| 国产激情91久久精品导航| 亚洲午夜av在线| 国产午夜精品一区二区三区四区| 色狠狠一区二区三区香蕉| 国产精品99久久久久久久vr| 亚洲成va人在线观看| 亚洲国产精华液网站w| 884aa四虎影成人精品一区| 成人av先锋影音| 麻豆精品在线播放| 亚洲一级电影视频| 国产精品丝袜久久久久久app| 777奇米成人网| 色综合久久88色综合天天6| 黄页视频在线91| 天天亚洲美女在线视频| 亚洲免费观看高清在线观看| 国产视频在线观看一区二区三区| 欧美日韩亚洲综合一区| 一本大道久久a久久精品综合| 国产精品主播直播| 免费成人在线播放| 亚洲va欧美va国产va天堂影院| 国产精品进线69影院| 欧美精品一区二区三区视频| 在线不卡的av| 欧美日韩亚洲高清一区二区| 91精品福利视频| av中文字幕不卡| 成人小视频免费观看| 国产一区二区三区四区五区入口 | 国产日韩成人精品| 9191国产精品| 欧美乱妇一区二区三区不卡视频| 色婷婷av一区| 色综合天天性综合| 欧美日韩综合色| 91蝌蚪国产九色| 成人精品视频.| 丁香啪啪综合成人亚洲小说| 国产成人免费9x9x人网站视频| 国产在线日韩欧美| 国产综合一区二区| 国产麻豆成人传媒免费观看| 国产一区二区三区在线观看免费视频 | 成人av在线观| 成人精品亚洲人成在线| 成人在线视频首页| av在线综合网| 色视频欧美一区二区三区| 欧洲精品在线观看| 欧美日韩一区二区欧美激情| 91精品一区二区三区久久久久久| 777xxx欧美| 久久在线观看免费| 国产精品三级av在线播放| 成人欧美一区二区三区1314| 国产成人av电影在线观看| 国产一区二区剧情av在线| 国产成人亚洲综合a∨婷婷 | 蜜桃视频免费观看一区| 韩国av一区二区三区四区| 国产精品18久久久久久久网站| 成人黄色777网| 91福利国产精品| 日韩视频一区二区| 一区在线播放视频| 欧美一卡二卡三卡| 制服丝袜av成人在线看| 欧美久久久久中文字幕| 7777精品伊人久久久大香线蕉超级流畅 | 国产亚洲一区字幕| 欧美电影免费观看高清完整版在| 色成人在线视频| 欧美久久一二区| 日韩一级二级三级精品视频| 91麻豆精品国产91久久久久久 | 91麻豆swag| 色诱视频网站一区| 欧美精品在线观看一区二区| 欧美另类高清zo欧美| 久久精品一区二区三区av| 亚洲人成网站精品片在线观看| 一区二区成人在线| 日本女优在线视频一区二区| 国产91在线看| 色哟哟一区二区三区| 久久综合久色欧美综合狠狠| 亚洲人成精品久久久久| 日韩黄色一级片| 欧美日韩一级二级三级| 中文字幕亚洲电影| 国产一区二区三区四区五区入口 | 久久精品999| 成人av在线网站| 精品国产3级a| 99久久精品国产一区二区三区| 激情小说亚洲一区| 欧美—级在线免费片| 一区二区三区鲁丝不卡| 久久99精品久久久久久国产越南 | 91麻豆成人久久精品二区三区| 欧美一区二区久久久| 亚洲日本在线天堂| 国产精品综合一区二区三区| 91.成人天堂一区| 亚洲综合偷拍欧美一区色| 国产电影一区二区三区| 国产精品久久久久aaaa| 久久亚洲综合色一区二区三区| 一级日本不卡的影视| 成人国产在线观看| 欧美一区二区久久久| 亚洲va国产天堂va久久en| 91玉足脚交白嫩脚丫在线播放| 国产婷婷色一区二区三区| 美女视频第一区二区三区免费观看网站| 在线观看国产91| 国产精品成人在线观看| 国产suv精品一区二区6| 2021国产精品久久精品| 久久草av在线| 日韩欧美亚洲国产另类| 免费在线观看一区二区三区| 欧美日韩国产影片| 婷婷成人综合网| 欧美日韩视频第一区| 亚洲已满18点击进入久久| 色综合久久久网| 亚洲色图色小说| 91免费看片在线观看| 亚洲欧美日韩中文播放| 91丝袜呻吟高潮美腿白嫩在线观看| 中文字幕国产一区二区| 成人午夜激情片| 国产精品高潮呻吟久久| 久久只精品国产| 国产剧情av麻豆香蕉精品| 国产香蕉久久精品综合网| 丁香婷婷综合五月| 国产精品欧美一级免费| av一本久道久久综合久久鬼色| 亚洲视频电影在线| 91成人免费在线| 性做久久久久久免费观看 | 日产国产欧美视频一区精品| 日韩一区二区三区电影在线观看| 视频一区二区三区入口| 日韩女优视频免费观看| 国产aⅴ精品一区二区三区色成熟| 国产欧美一区二区精品久导航| 成人sese在线| 亚洲影视资源网| 91精品国产综合久久国产大片| 久久精品久久久精品美女| 久久久99精品免费观看| 本田岬高潮一区二区三区| 亚洲精品视频免费观看| 91精品国产一区二区| 久久99国产精品成人| 国产精品美女久久久久久2018| 在线观看视频一区| 美女高潮久久久| 国产精品激情偷乱一区二区∴| 欧美日韩国产精品成人| 国产麻豆视频一区二区| 伊人色综合久久天天| 日韩欧美在线观看一区二区三区|