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

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

?? ircomm_event.c

?? 優龍2410linux2.6.8內核源代碼
?? C
字號:
/********************************************************************* *                 * Filename:      ircomm_event.c * Version:       1.0 * Description:   IrCOMM layer state machine * Status:        Stable * Author:        Dag Brattli <dagb@cs.uit.no> * Created at:    Sun Jun  6 20:33:11 1999 * Modified at:   Sun Dec 12 13:44:32 1999 * Modified by:   Dag Brattli <dagb@cs.uit.no> *  *     Copyright (c) 1999 Dag Brattli, All Rights Reserved. *      *     This program is free software; you can redistribute it and/or  *     modify it under the terms of the GNU General Public License as  *     published by the Free Software Foundation; either version 2 of  *     the License, or (at your option) any later version. *  *     This program is distributed in the hope that it will be useful, *     but WITHOUT ANY WARRANTY; without even the implied warranty of *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *     GNU General Public License for more details. *  *     You should have received a copy of the GNU General Public License  *     along with this program; if not, write to the Free Software  *     Foundation, Inc., 59 Temple Place, Suite 330, Boston,  *     MA 02111-1307 USA *      ********************************************************************/#include <linux/sched.h>#include <linux/proc_fs.h>#include <linux/init.h>#include <net/irda/irda.h>#include <net/irda/irlmp.h>#include <net/irda/iriap.h>#include <net/irda/irttp.h>#include <net/irda/irias_object.h>#include <net/irda/ircomm_core.h>#include <net/irda/ircomm_event.h>static int ircomm_state_idle(struct ircomm_cb *self, IRCOMM_EVENT event, 			     struct sk_buff *skb, struct ircomm_info *info);static int ircomm_state_waiti(struct ircomm_cb *self, IRCOMM_EVENT event, 			      struct sk_buff *skb, struct ircomm_info *info);static int ircomm_state_waitr(struct ircomm_cb *self, IRCOMM_EVENT event, 			      struct sk_buff *skb, struct ircomm_info *info);static int ircomm_state_conn(struct ircomm_cb *self, IRCOMM_EVENT event, 			     struct sk_buff *skb, struct ircomm_info *info);char *ircomm_state[] = {	"IRCOMM_IDLE",	"IRCOMM_WAITI",	"IRCOMM_WAITR",	"IRCOMM_CONN",};char *ircomm_event[] = {	"IRCOMM_CONNECT_REQUEST",        "IRCOMM_CONNECT_RESPONSE",        "IRCOMM_TTP_CONNECT_INDICATION",	"IRCOMM_LMP_CONNECT_INDICATION",        "IRCOMM_TTP_CONNECT_CONFIRM",	"IRCOMM_LMP_CONNECT_CONFIRM",        "IRCOMM_LMP_DISCONNECT_INDICATION",	"IRCOMM_TTP_DISCONNECT_INDICATION",        "IRCOMM_DISCONNECT_REQUEST",        "IRCOMM_TTP_DATA_INDICATION",	"IRCOMM_LMP_DATA_INDICATION",        "IRCOMM_DATA_REQUEST",        "IRCOMM_CONTROL_REQUEST",        "IRCOMM_CONTROL_INDICATION",};static int (*state[])(struct ircomm_cb *self, IRCOMM_EVENT event,		      struct sk_buff *skb, struct ircomm_info *info) = {	ircomm_state_idle,	ircomm_state_waiti,	ircomm_state_waitr,	ircomm_state_conn,};/* * Function ircomm_state_idle (self, event, skb) * *    IrCOMM is currently idle * */static int ircomm_state_idle(struct ircomm_cb *self, IRCOMM_EVENT event, 			     struct sk_buff *skb, struct ircomm_info *info){	int ret = 0;	switch (event) {	case IRCOMM_CONNECT_REQUEST:		ircomm_next_state(self, IRCOMM_WAITI);				ret = self->issue.connect_request(self, skb, info);		break;	case IRCOMM_TTP_CONNECT_INDICATION:	case IRCOMM_LMP_CONNECT_INDICATION:		ircomm_next_state(self, IRCOMM_WAITR);		ircomm_connect_indication(self, skb, info);		break;	default:		IRDA_DEBUG(4, "%s(), unknown event: %s\n", __FUNCTION__ ,			   ircomm_event[event]);		ret = -EINVAL;	}	return ret;}/* * Function ircomm_state_waiti (self, event, skb) * *    The IrCOMM user has requested an IrCOMM connection to the remote  *    device and is awaiting confirmation */static int ircomm_state_waiti(struct ircomm_cb *self, IRCOMM_EVENT event, 			      struct sk_buff *skb, struct ircomm_info *info){	int ret = 0;	switch (event) {	case IRCOMM_TTP_CONNECT_CONFIRM:	case IRCOMM_LMP_CONNECT_CONFIRM:		ircomm_next_state(self, IRCOMM_CONN);		ircomm_connect_confirm(self, skb, info);		break;	case IRCOMM_TTP_DISCONNECT_INDICATION:	case IRCOMM_LMP_DISCONNECT_INDICATION:		ircomm_next_state(self, IRCOMM_IDLE);		ircomm_disconnect_indication(self, skb, info);		break;	default:		IRDA_DEBUG(0, "%s(), unknown event: %s\n", __FUNCTION__ ,			   ircomm_event[event]);		ret = -EINVAL;	}	return ret;}/* * Function ircomm_state_waitr (self, event, skb) * *    IrCOMM has received an incoming connection request and is awaiting *    response from the user */static int ircomm_state_waitr(struct ircomm_cb *self, IRCOMM_EVENT event, 			      struct sk_buff *skb, struct ircomm_info *info) {	int ret = 0;	switch (event) {	case IRCOMM_CONNECT_RESPONSE:		ircomm_next_state(self, IRCOMM_CONN);		ret = self->issue.connect_response(self, skb);		break;	case IRCOMM_DISCONNECT_REQUEST:		ircomm_next_state(self, IRCOMM_IDLE);		ret = self->issue.disconnect_request(self, skb, info);		break;	case IRCOMM_TTP_DISCONNECT_INDICATION:	case IRCOMM_LMP_DISCONNECT_INDICATION:		ircomm_next_state(self, IRCOMM_IDLE);		ircomm_disconnect_indication(self, skb, info);		break;	default:		IRDA_DEBUG(0, "%s(), unknown event = %s\n", __FUNCTION__ ,			   ircomm_event[event]);		ret = -EINVAL;	}	return ret;}/* * Function ircomm_state_conn (self, event, skb) * *    IrCOMM is connected to the peer IrCOMM device * */static int ircomm_state_conn(struct ircomm_cb *self, IRCOMM_EVENT event, 			     struct sk_buff *skb, struct ircomm_info *info){	int ret = 0;	switch (event) {	case IRCOMM_DATA_REQUEST:		ret = self->issue.data_request(self, skb, 0);		break;	case IRCOMM_TTP_DATA_INDICATION:		ircomm_process_data(self, skb);		break;	case IRCOMM_LMP_DATA_INDICATION:		ircomm_data_indication(self, skb);		break;	case IRCOMM_CONTROL_REQUEST:		/* Just send a separate frame for now */		ret = self->issue.data_request(self, skb, skb->len);		break;	case IRCOMM_TTP_DISCONNECT_INDICATION:	case IRCOMM_LMP_DISCONNECT_INDICATION:		ircomm_next_state(self, IRCOMM_IDLE);		ircomm_disconnect_indication(self, skb, info);		break;	case IRCOMM_DISCONNECT_REQUEST:		ircomm_next_state(self, IRCOMM_IDLE);		ret = self->issue.disconnect_request(self, skb, info);		break;	default:		IRDA_DEBUG(0, "%s(), unknown event = %s\n", __FUNCTION__ ,			   ircomm_event[event]);		ret = -EINVAL;	}	return ret;}/* * Function ircomm_do_event (self, event, skb) * *    Process event * */int ircomm_do_event(struct ircomm_cb *self, IRCOMM_EVENT event,		    struct sk_buff *skb, struct ircomm_info *info) {	IRDA_DEBUG(4, "%s: state=%s, event=%s\n", __FUNCTION__ ,		   ircomm_state[self->state], ircomm_event[event]);	return (*state[self->state])(self, event, skb, info);}/* * Function ircomm_next_state (self, state) * *    Switch state * */void ircomm_next_state(struct ircomm_cb *self, IRCOMM_STATE state){	self->state = state;		IRDA_DEBUG(4, "%s: next state=%s, service type=%d\n", __FUNCTION__ , 		   ircomm_state[self->state], self->service_type);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美腿丝袜亚洲三区| 欧美一区二区三区四区五区| 欧美日韩中字一区| 久久久亚洲精品石原莉奈| 亚洲一区免费视频| 国产91丝袜在线18| 欧美一级欧美三级| 亚洲一区在线免费观看| 国产成人丝袜美腿| 日韩免费电影网站| 午夜成人免费视频| 91一区一区三区| 国产精品欧美一级免费| 久久99久久精品欧美| 欧美色网一区二区| 日韩美女视频19| 成人在线视频一区| 国产亲近乱来精品视频| 国内精品在线播放| 91精品国产欧美一区二区成人| 一区二区三区在线观看动漫| 成人在线视频一区| 中文字幕精品在线不卡| 韩国欧美一区二区| 久久亚洲综合av| 激情综合色综合久久综合| 日韩一级成人av| 亚洲成人高清在线| 欧美美女一区二区在线观看| 亚洲最新视频在线播放| 91国产福利在线| 亚洲一区二区高清| 欧美日韩精品一区二区三区| 性久久久久久久久久久久| 欧美日韩一区二区在线观看视频| 亚洲一区在线观看视频| 久久精品夜色噜噜亚洲a∨ | 久久精品一区二区| 国产精品一区在线观看你懂的| 精品三级av在线| 国模无码大尺度一区二区三区| 欧美mv和日韩mv国产网站| 久久精品国产99久久6| 337p粉嫩大胆色噜噜噜噜亚洲 | 成人app网站| 亚洲日本在线视频观看| 欧美日韩午夜在线| 蜜臀精品一区二区三区在线观看| 精品国产制服丝袜高跟| 成人丝袜高跟foot| 亚洲黄色小说网站| 日韩欧美www| 成人午夜电影小说| 一区二区三区高清| 精品国产一区久久| 99久久国产综合精品女不卡| 亚洲一区二区三区四区的| 欧美一区二区三区成人| 国产成人一区二区精品非洲| 亚洲精品一卡二卡| 欧美一级黄色大片| 成人一区二区视频| 夜夜嗨av一区二区三区| 26uuu亚洲| 欧美在线|欧美| 麻豆久久一区二区| 综合网在线视频| 日韩一区二区三区视频| 99在线热播精品免费| 青娱乐精品在线视频| 国产精品毛片a∨一区二区三区| 欧美偷拍一区二区| 国产精品99久久久久| 亚洲国产另类av| 国产免费观看久久| 欧美日韩亚洲丝袜制服| 国产成人在线电影| 蜜芽一区二区三区| 一区二区三区在线观看动漫| 久久久久久电影| 欧美肥大bbwbbw高潮| 91小视频免费观看| 国产在线播精品第三| 亚洲资源在线观看| 国产精品久久久久久久蜜臀| 欧美大黄免费观看| 欧美色成人综合| 91网站最新地址| 国产精品一区二区久久不卡 | 成人免费av资源| 免费国产亚洲视频| 亚洲一区二区三区在线播放| 国产精品久久久久久久久久免费看| 欧美一区二区精品在线| 欧美亚洲综合久久| 91丝袜高跟美女视频| 国产一区美女在线| 麻豆精品国产传媒mv男同| 亚洲一区二区三区在线播放| 国产精品二区一区二区aⅴ污介绍| 精品动漫一区二区三区在线观看| 欧美日产国产精品| 欧洲一区在线观看| 色哦色哦哦色天天综合| 91在线视频播放| 99久久伊人精品| 国产成人精品影视| 国产福利一区在线| 国产91丝袜在线播放| 国产盗摄一区二区| 国产成人亚洲综合色影视| 国产传媒欧美日韩成人| 国产成人综合视频| 从欧美一区二区三区| 国产成人h网站| 国产成人高清在线| 99久久伊人精品| 色狠狠色噜噜噜综合网| 欧美吻胸吃奶大尺度电影 | 午夜激情一区二区| 午夜久久福利影院| 男女性色大片免费观看一区二区| 日本网站在线观看一区二区三区 | 亚洲va欧美va人人爽| 亚洲高清不卡在线| 丝袜美腿亚洲色图| 男男视频亚洲欧美| 国产精品一区二区三区网站| 成人黄色电影在线 | 成人毛片老司机大片| 91丨porny丨在线| 欧美日韩国产美| 日韩免费福利电影在线观看| 国产丝袜美腿一区二区三区| 欧美高清在线一区二区| 亚洲综合一区二区| 美女一区二区在线观看| 丁香啪啪综合成人亚洲小说| 91欧美一区二区| 欧美精品自拍偷拍| 2欧美一区二区三区在线观看视频| 欧美激情一区二区三区在线| 伊人婷婷欧美激情| 麻豆精品一区二区av白丝在线| 国产成人在线网站| 欧美亚洲国产一区二区三区| 欧美一级日韩不卡播放免费| 亚洲国产成人自拍| 日韩精品一区第一页| 成人免费观看视频| 欧美高清视频一二三区 | 欧美r级在线观看| 国产精品国产自产拍高清av王其| 亚洲综合在线观看视频| 国产麻豆午夜三级精品| 色偷偷一区二区三区| 精品久久久三级丝袜| 亚洲精品国产精品乱码不99| 另类成人小视频在线| 99精品欧美一区二区三区综合在线| 欧美日韩激情一区二区三区| 国产无遮挡一区二区三区毛片日本| 亚洲成人自拍网| 成人免费av在线| 欧美不卡在线视频| 亚洲国产成人av网| 成人短视频下载| 日韩免费观看2025年上映的电影| 亚洲精品欧美专区| 成人精品免费看| 精品国产区一区| 天堂在线亚洲视频| 91视频你懂的| 国产欧美一区二区精品性色| 日本sm残虐另类| 在线精品视频一区二区| 中文一区二区在线观看| 麻豆精品新av中文字幕| 欧美美女激情18p| 亚洲精品午夜久久久| av亚洲精华国产精华| 久久久久高清精品| 久久国产精品色| 欧美一级电影网站| 亚洲五码中文字幕| 色婷婷国产精品| 亚洲欧洲国产专区| 成人美女视频在线看| 久久婷婷成人综合色| 精品一区二区三区日韩| 日韩欧美中文字幕制服| 日韩福利电影在线| 91精品在线免费观看| 性感美女极品91精品| 欧美日韩亚洲综合在线| 亚洲成a人片在线不卡一二三区| 91精彩视频在线| 亚洲国产中文字幕| 在线观看视频一区二区| 亚洲成人先锋电影|