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

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

?? capi.c

?? linux和2410結合開發 用他可以生成2410所需的zImage文件
?? C
?? 第 1 頁 / 共 3 頁
字號:
				} else {					ctmp = (act2000_chan *)tmp;					ctmp->plci = msg->msg.disconnect_ind.plci;					actcapi_disconnect_resp(card, ctmp);				}				break;			case 0x4001:				/* SELECT_B2_PROTOCOL_CONF */				chan = find_plci(card, msg->msg.select_b2_protocol_conf.plci);				if (chan >= 0)					switch (card->bch[chan].fsm_state) {						case ACT2000_STATE_ICALL:						case ACT2000_STATE_OWAIT:							ctmp = &card->bch[chan];							if (msg->msg.select_b2_protocol_conf.info == 0)								actcapi_select_b3_protocol_req(card, ctmp);							else {								ctmp->fsm_state = ACT2000_STATE_NULL;								cmd.driver = card->myid;								cmd.command = ISDN_STAT_DHUP;								cmd.arg = chan;								card->interface.statcallb(&cmd);							}							break;					}				break;			case 0x8001:				/* SELECT_B3_PROTOCOL_CONF */				chan = find_plci(card, msg->msg.select_b3_protocol_conf.plci);				if (chan >= 0)					switch (card->bch[chan].fsm_state) {						case ACT2000_STATE_ICALL:						case ACT2000_STATE_OWAIT:							ctmp = &card->bch[chan];							if (msg->msg.select_b3_protocol_conf.info == 0)								actcapi_listen_b3_req(card, ctmp);							else {								ctmp->fsm_state = ACT2000_STATE_NULL;								cmd.driver = card->myid;								cmd.command = ISDN_STAT_DHUP;								cmd.arg = chan;								card->interface.statcallb(&cmd);							}					}				break;			case 0x8101:				/* LISTEN_B3_CONF */				chan = find_plci(card, msg->msg.listen_b3_conf.plci);				if (chan >= 0)					switch (card->bch[chan].fsm_state) {						case ACT2000_STATE_ICALL:							ctmp = &card->bch[chan];							if (msg->msg.listen_b3_conf.info == 0)								actcapi_connect_resp(card, ctmp, 0);							else {								ctmp->fsm_state = ACT2000_STATE_NULL;								cmd.driver = card->myid;								cmd.command = ISDN_STAT_DHUP;								cmd.arg = chan;								card->interface.statcallb(&cmd);							}							break;						case ACT2000_STATE_OWAIT:							ctmp = &card->bch[chan];							if (msg->msg.listen_b3_conf.info == 0) {								actcapi_connect_b3_req(card, ctmp);								ctmp->fsm_state = ACT2000_STATE_OBWAIT;								cmd.driver = card->myid;								cmd.command = ISDN_STAT_DCONN;								cmd.arg = chan;								card->interface.statcallb(&cmd);							} else {								ctmp->fsm_state = ACT2000_STATE_NULL;								cmd.driver = card->myid;								cmd.command = ISDN_STAT_DHUP;								cmd.arg = chan;								card->interface.statcallb(&cmd);							}							break;					}				break;			case 0x8201:				/* CONNECT_B3_CONF */				chan = find_plci(card, msg->msg.connect_b3_conf.plci);				if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_OBWAIT)) {					ctmp = &card->bch[chan];					if (msg->msg.connect_b3_conf.info) {						ctmp->fsm_state = ACT2000_STATE_NULL;						cmd.driver = card->myid;						cmd.command = ISDN_STAT_DHUP;						cmd.arg = chan;						card->interface.statcallb(&cmd);					} else {						ctmp->ncci = msg->msg.connect_b3_conf.ncci;						ctmp->fsm_state = ACT2000_STATE_BWAIT;					}				}				break;			case 0x8401:				/* DISCONNECT_B3_CONF */				chan = find_ncci(card, msg->msg.disconnect_b3_conf.ncci);				if ((chan >= 0) && (card->bch[chan].fsm_state == ACT2000_STATE_BHWAIT))					card->bch[chan].fsm_state = ACT2000_STATE_BHWAIT2;				break;			case 0x0702:				/* INFO_IND */				chan = find_plci(card, msg->msg.info_ind.plci);				if (chan >= 0)					/* TODO: Eval Charging info / cause */					actcapi_info_resp(card, &card->bch[chan]);				break;			case 0x0401:				/* LISTEN_CONF */			case 0x0501:				/* LISTEN_CONF */			case 0xff01:				/* MANUFACTURER_CONF */				break;			case 0xff02:				/* MANUFACTURER_IND */				if (msg->msg.manuf_msg == 3) {					memset(tmp, 0, sizeof(tmp));					strncpy(tmp,						&msg->msg.manufacturer_ind_err.errstring,						msg->hdr.len - 16);					if (msg->msg.manufacturer_ind_err.errcode)						printk(KERN_WARNING "act2000: %s\n", tmp);					else {						printk(KERN_DEBUG "act2000: %s\n", tmp);						if ((!strncmp(tmp, "INFO: Trace buffer con", 22)) ||						    (!strncmp(tmp, "INFO: Compile Date/Tim", 22))) {							card->flags |= ACT2000_FLAGS_RUNNING;							cmd.command = ISDN_STAT_RUN;							cmd.driver = card->myid;							cmd.arg = 0;							actcapi_manufacturer_req_net(card);							actcapi_manufacturer_req_msn(card);							actcapi_listen_req(card);							card->interface.statcallb(&cmd);						}					}				}				break;			default:				printk(KERN_WARNING "act2000: UNHANDLED Message %04x\n", ccmd);				break;		}		dev_kfree_skb(skb);	}}#ifdef DEBUG_MSGstatic voidactcapi_debug_caddr(actcapi_addr *addr){	char tmp[30];	printk(KERN_DEBUG " Alen  = %d\n", addr->len);	if (addr->len > 0)		printk(KERN_DEBUG " Atnp  = 0x%02x\n", addr->tnp);	if (addr->len > 1) {		memset(tmp, 0, 30);		memcpy(tmp, addr->num, addr->len - 1);		printk(KERN_DEBUG " Anum  = '%s'\n", tmp);	}}static voidactcapi_debug_ncpi(actcapi_ncpi *ncpi){	printk(KERN_DEBUG " ncpi.len = %d\n", ncpi->len);	if (ncpi->len >= 2)		printk(KERN_DEBUG " ncpi.lic = 0x%04x\n", ncpi->lic);	if (ncpi->len >= 4)		printk(KERN_DEBUG " ncpi.hic = 0x%04x\n", ncpi->hic);	if (ncpi->len >= 6)		printk(KERN_DEBUG " ncpi.ltc = 0x%04x\n", ncpi->ltc);	if (ncpi->len >= 8)		printk(KERN_DEBUG " ncpi.htc = 0x%04x\n", ncpi->htc);	if (ncpi->len >= 10)		printk(KERN_DEBUG " ncpi.loc = 0x%04x\n", ncpi->loc);	if (ncpi->len >= 12)		printk(KERN_DEBUG " ncpi.hoc = 0x%04x\n", ncpi->hoc);	if (ncpi->len >= 13)		printk(KERN_DEBUG " ncpi.mod = %d\n", ncpi->modulo);}static voidactcapi_debug_dlpd(actcapi_dlpd *dlpd){	printk(KERN_DEBUG " dlpd.len = %d\n", dlpd->len);	if (dlpd->len >= 2)		printk(KERN_DEBUG " dlpd.dlen   = 0x%04x\n", dlpd->dlen);	if (dlpd->len >= 3)		printk(KERN_DEBUG " dlpd.laa    = 0x%02x\n", dlpd->laa);	if (dlpd->len >= 4)		printk(KERN_DEBUG " dlpd.lab    = 0x%02x\n", dlpd->lab);	if (dlpd->len >= 5)		printk(KERN_DEBUG " dlpd.modulo = %d\n", dlpd->modulo);	if (dlpd->len >= 6)		printk(KERN_DEBUG " dlpd.win    = %d\n", dlpd->win);}#ifdef DEBUG_DUMP_SKBstatic void dump_skb(struct sk_buff *skb) {	char tmp[80];	char *p = skb->data;	char *t = tmp;	int i;	for (i = 0; i < skb->len; i++) {		t += sprintf(t, "%02x ", *p++ & 0xff);		if ((i & 0x0f) == 8) {			printk(KERN_DEBUG "dump: %s\n", tmp);			t = tmp;		}	}	if (i & 0x07)		printk(KERN_DEBUG "dump: %s\n", tmp);}#endifvoidactcapi_debug_msg(struct sk_buff *skb, int direction){	actcapi_msg *msg = (actcapi_msg *)skb->data;	char *descr;	int i;	char tmp[170];	#ifndef DEBUG_DATA_MSG	if (msg->hdr.cmd.cmd == 0x86)		return;#endif	descr = "INVALID";#ifdef DEBUG_DUMP_SKB	dump_skb(skb);#endif	for (i = 0; i < num_valid_msg; i++)		if ((msg->hdr.cmd.cmd == valid_msg[i].cmd.cmd) &&		    (msg->hdr.cmd.subcmd == valid_msg[i].cmd.subcmd)) {			descr = valid_msg[i].description;			break;		}	printk(KERN_DEBUG "%s %s msg\n", direction?"Outgoing":"Incoming", descr);	printk(KERN_DEBUG " ApplID = %d\n", msg->hdr.applicationID);	printk(KERN_DEBUG " Len    = %d\n", msg->hdr.len);	printk(KERN_DEBUG " MsgNum = 0x%04x\n", msg->hdr.msgnum);	printk(KERN_DEBUG " Cmd    = 0x%02x\n", msg->hdr.cmd.cmd);	printk(KERN_DEBUG " SubCmd = 0x%02x\n", msg->hdr.cmd.subcmd);	switch (i) {		case 0:			/* DATA B3 IND */			printk(KERN_DEBUG " BLOCK = 0x%02x\n",			       msg->msg.data_b3_ind.blocknr);			break;		case 2:			/* CONNECT CONF */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.connect_conf.plci);			printk(KERN_DEBUG " Info = 0x%04x\n",			       msg->msg.connect_conf.info);			break;		case 3:			/* CONNECT IND */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.connect_ind.plci);			printk(KERN_DEBUG " Contr = %d\n",			       msg->msg.connect_ind.controller);			printk(KERN_DEBUG " SI1   = %d\n",			       msg->msg.connect_ind.si1);			printk(KERN_DEBUG " SI2   = %d\n",			       msg->msg.connect_ind.si2);			printk(KERN_DEBUG " EAZ   = '%c'\n",			       msg->msg.connect_ind.eaz);			actcapi_debug_caddr(&msg->msg.connect_ind.addr);			break;		case 5:			/* CONNECT ACTIVE IND */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.connect_active_ind.plci);			actcapi_debug_caddr(&msg->msg.connect_active_ind.addr);			break;		case 8:			/* LISTEN CONF */			printk(KERN_DEBUG " Contr = %d\n",			       msg->msg.listen_conf.controller);			printk(KERN_DEBUG " Info = 0x%04x\n",			       msg->msg.listen_conf.info);			break;		case 11:			/* INFO IND */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.info_ind.plci);			printk(KERN_DEBUG " Imsk = 0x%04x\n",			       msg->msg.info_ind.nr.mask);			if (msg->hdr.len > 12) {				int l = msg->hdr.len - 12;				int j;				char *p = tmp;				for (j = 0; j < l ; j++)					p += sprintf(p, "%02x ", msg->msg.info_ind.el.display[j]);				printk(KERN_DEBUG " D = '%s'\n", tmp);			}			break;		case 14:			/* SELECT B2 PROTOCOL CONF */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.select_b2_protocol_conf.plci);			printk(KERN_DEBUG " Info = 0x%04x\n",			       msg->msg.select_b2_protocol_conf.info);			break;		case 15:			/* SELECT B3 PROTOCOL CONF */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.select_b3_protocol_conf.plci);			printk(KERN_DEBUG " Info = 0x%04x\n",			       msg->msg.select_b3_protocol_conf.info);			break;		case 16:			/* LISTEN B3 CONF */			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.listen_b3_conf.plci);			printk(KERN_DEBUG " Info = 0x%04x\n",			       msg->msg.listen_b3_conf.info);			break;		case 18:			/* CONNECT B3 IND */			printk(KERN_DEBUG " NCCI = 0x%04x\n",			       msg->msg.connect_b3_ind.ncci);			printk(KERN_DEBUG " PLCI = 0x%04x\n",			       msg->msg.connect_b3_ind.plci);			actcapi_debug_ncpi(&msg->msg.connect_b3_ind.ncpi);			break;		case 19:			/* CONNECT B3 ACTIVE IND */			printk(KERN_DEBUG " NCCI = 0x%04x\n",			       msg->msg.connect_b3_active_ind.ncci);			actcapi_debug_ncpi(&msg->msg.connect_b3_active_ind.ncpi);			break;		case 26:			/* MANUFACTURER IND */			printk(KERN_DEBUG " Mmsg = 0x%02x\n",			       msg->msg.manufacturer_ind_err.manuf_msg);			switch (msg->msg.manufacturer_ind_err.manuf_msg) {				case 3:					printk(KERN_DEBUG " Contr = %d\n",					       msg->msg.manufacturer_ind_err.controller);					printk(KERN_DEBUG " Code = 0x%08x\n",					       msg->msg.manufacturer_ind_err.errcode);					memset(tmp, 0, sizeof(tmp));					strncpy(tmp, &msg->msg.manufacturer_ind_err.errstring,						msg->hdr.len - 16);					printk(KERN_DEBUG " Emsg = '%s'\n", tmp);					break;			}			break;		case 30:			/* LISTEN REQ */			printk(KERN_DEBUG " Imsk = 0x%08x\n",			       msg->msg.listen_req.infomask);			printk(KERN_DEBUG " Emsk = 0x%04x\n",			       msg->msg.listen_req.eazmask);			printk(KERN_DEBUG " Smsk = 0x%04x\n",			       msg->msg.listen_req.simask);			break;		case 35:			/* SELECT_B2_PROTOCOL_REQ */			printk(KERN_DEBUG " PLCI  = 0x%04x\n",			       msg->msg.select_b2_protocol_req.plci);			printk(KERN_DEBUG " prot  = 0x%02x\n",			       msg->msg.select_b2_protocol_req.protocol);			if (msg->hdr.len >= 11)				printk(KERN_DEBUG "No dlpd\n");			else				actcapi_debug_dlpd(&msg->msg.select_b2_protocol_req.dlpd);			break;		case 44:			/* CONNECT RESP */			printk(KERN_DEBUG " PLCI  = 0x%04x\n",			       msg->msg.connect_resp.plci);			printk(KERN_DEBUG " CAUSE = 0x%02x\n",			       msg->msg.connect_resp.rejectcause);			break;		case 45:			/* CONNECT ACTIVE RESP */			printk(KERN_DEBUG " PLCI  = 0x%04x\n",			       msg->msg.connect_active_resp.plci);			break;	}}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产综合人成综合网站| 欧美色综合久久| 欧美性猛片xxxx免费看久爱| 2024国产精品视频| 亚洲一区二区三区中文字幕在线| 国产精品一区二区久久不卡| 欧美人与z0zoxxxx视频| 蜜桃传媒麻豆第一区在线观看| 国产成人欧美日韩在线电影| 3d动漫精品啪啪| 一区二区三区久久| 成人av网站在线观看免费| 日韩欧美一二三| 亚洲高清免费观看 | 成人高清免费在线播放| 91精品国产欧美一区二区| 亚洲综合成人在线视频| av不卡在线观看| 欧美国产视频在线| 国产成人精品网址| 久久嫩草精品久久久久| 麻豆成人久久精品二区三区小说| 欧美日韩亚洲另类| 亚洲在线免费播放| 在线观看亚洲一区| 亚洲一区二区偷拍精品| 色综合久久久久综合| 自拍偷拍国产亚洲| www.欧美日韩国产在线| 中文字幕在线不卡国产视频| 9人人澡人人爽人人精品| 18欧美乱大交hd1984| 国产成人午夜高潮毛片| 国产精品久久综合| 91理论电影在线观看| 一区二区在线免费观看| 欧美综合欧美视频| 天堂一区二区在线| 日韩视频在线观看一区二区| 精东粉嫩av免费一区二区三区 | 欧美系列一区二区| 亚洲成人一区在线| 欧美成人免费网站| 激情成人午夜视频| 国产精品久久久久久久岛一牛影视| 福利视频网站一区二区三区| 国产精品成人免费| 91成人免费在线视频| 天堂久久一区二区三区| 欧美一级高清大全免费观看| 国产精品影视网| 中文字幕日韩av资源站| 欧美日韩亚洲综合一区| 久久国产欧美日韩精品| 欧美激情在线一区二区| 色噜噜狠狠一区二区三区果冻| 亚洲一区二区欧美| 精品剧情在线观看| eeuss鲁片一区二区三区 | 亚洲精品视频在线看| 欧美三级日韩三级| 国产一区二区三区免费在线观看| 国产精品久久毛片| 制服丝袜在线91| 成人精品免费看| 亚洲国产一区二区三区| 久久久久综合网| 色久优优欧美色久优优| 久久99精品久久久久久久久久久久| 国产精品夫妻自拍| 337p亚洲精品色噜噜| 不卡在线视频中文字幕| av爱爱亚洲一区| 久久精品国产999大香线蕉| 国产精品成人免费在线| 日韩欧美国产高清| 在线免费观看不卡av| 国产一区二区三区四区五区美女 | 国内精品写真在线观看 | 日韩毛片一二三区| 日韩欧美高清dvd碟片| 91国偷自产一区二区使用方法| 国产一区在线观看麻豆| 午夜精品久久久久久久蜜桃app| 国产亚洲一区二区三区在线观看| 欧美中文字幕一二三区视频| 成人亚洲一区二区一| 狠狠色狠狠色综合| 日本不卡高清视频| 一区二区三区日韩精品视频| 国产亚洲一本大道中文在线| 欧美久久久久中文字幕| 91毛片在线观看| 成人av在线资源| 国产高清成人在线| 国内精品视频一区二区三区八戒 | 99久久777色| 国产美女精品一区二区三区| 琪琪久久久久日韩精品| 亚洲一区二区三区中文字幕在线| 自拍偷拍亚洲综合| 国产精品乱人伦一区二区| 久久综合精品国产一区二区三区| 91精品国产综合久久久蜜臀图片| 欧美日韩日日摸| 欧美日韩午夜影院| 欧美无人高清视频在线观看| 色综合天天天天做夜夜夜夜做| av一区二区三区在线| www.日韩在线| www.欧美.com| 91丨porny丨在线| 97国产精品videossex| 91婷婷韩国欧美一区二区| 99精品久久99久久久久| 99久久伊人久久99| 在线看国产一区| 欧美日韩视频专区在线播放| 5858s免费视频成人| 日韩一级完整毛片| 精品电影一区二区| 久久一区二区三区四区| 国产精品私人自拍| 亚洲欧美日韩中文播放| 亚洲一区免费观看| 日韩国产欧美三级| 久久精品av麻豆的观看方式| 国产成人夜色高潮福利影视| 91在线视频网址| 欧美三级乱人伦电影| 91精品欧美一区二区三区综合在 | 午夜精品久久久久久久久久久 | 成人av在线网| 在线视频综合导航| 精品欧美一区二区在线观看 | 亚洲国产精品视频| 日韩高清不卡一区二区三区| 久久精品国产亚洲aⅴ| 99这里只有精品| 欧美三级电影在线看| 久久久久久久久蜜桃| 亚洲天堂久久久久久久| 日韩av一区二| 成人免费三级在线| 91麻豆精品国产综合久久久久久 | 99精品1区2区| 69久久夜色精品国产69蝌蚪网| 久久久亚洲综合| 亚洲国产婷婷综合在线精品| 韩国精品在线观看| 欧美亚一区二区| 久久久久88色偷偷免费| 一区二区三区中文字幕精品精品| 日本亚洲一区二区| 99九九99九九九视频精品| 欧美日韩成人高清| 国产精品人妖ts系列视频| 舔着乳尖日韩一区| 成人性生交大片免费看视频在线 | 欧美精品在线一区二区| 国产亚洲一区二区在线观看| 亚洲成av人片在线观看| 国产精品性做久久久久久| 欧美精品九九99久久| 亚洲欧美影音先锋| 久久精品免费看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| wwwwww.欧美系列| 日日欢夜夜爽一区| 不卡的av在线播放| 久久日韩精品一区二区五区| 亚洲电影激情视频网站| 91蜜桃传媒精品久久久一区二区 | 欧美一区二区免费| 一区二区欧美精品| av一二三不卡影片| 久久综合色婷婷| 美腿丝袜亚洲一区| 欧美老女人第四色| 亚洲国产精品视频| 在线免费精品视频| 一区二区三区欧美日| 不卡的电影网站| 国产精品美女久久久久久2018| 国内外成人在线| 精品国产乱码久久久久久蜜臀| 日韩av在线免费观看不卡| 欧美午夜精品一区| 亚洲第一福利一区| 精品视频免费看| 一区二区免费看| 欧洲在线/亚洲| 亚洲一区二区不卡免费| 欧洲一区在线电影| 亚洲一卡二卡三卡四卡| 在线观看一区日韩| 亚洲777理论| 欧美精品乱码久久久久久按摩| 亚洲成人资源在线| 91精品国产综合久久久久久久久久 |