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

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

?? edss1.c

?? linux和2410結合開發 用他可以生成2410所需的zImage文件
?? C
字號:
/* * DSS.1 Finite State Machine * base: ITU-T Rec Q.931 * * Copyright (C) 1996 Universidade de Lisboa *  * Written by Pedro Roque Marques (roque@di.fc.ul.pt) * * This software may be used and distributed according to the terms of  * the GNU General Public License, incorporated herein by reference. *//* *        TODO: complete the FSM *              move state/event descriptions to a user space logger */#include <linux/sched.h>#include <linux/string.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/slab.h>#include <linux/mm.h>#include <linux/tqueue.h>#include <linux/skbuff.h>#include <linux/timer.h>#include <asm/io.h>#include <linux/isdnif.h>#include "pcbit.h"#include "edss1.h"#include "layer2.h"#include "callbacks.h"extern void pcbit_state_change(struct pcbit_dev *, struct pcbit_chan *,                                unsigned short i, unsigned short ev,                                unsigned short f);extern struct pcbit_dev * dev_pcbit[MAX_PCBIT_CARDS];char * isdn_state_table[] = {  "Closed",  "Call initiated",  "Overlap sending",  "Outgoing call proceeding",  "NOT DEFINED",  "Call delivered",  "Call present",  "Call received",  "Connect request",  "Incoming call proceeding",  "Active",  "Disconnect request",  "Disconnect indication",  "NOT DEFINED",  "NOT DEFINED",  "Suspend request",  "NOT DEFINED",  "Resume request",  "NOT DEFINED",  "Release Request",  "NOT DEFINED",  "NOT DEFINED",  "NOT DEFINED",  "NOT DEFINED",  "NOT DEFINED",  "Overlap receiving",  "Select protocol on B-Channel",  "Activate B-channel protocol"};#ifdef DEBUG_ERRSstaticstruct CauseValue {  byte nr;  char *descr;} cvlist[]={  {0x01,"Unallocated (unassigned) number"},  {0x02,"No route to specified transit network"},  {0x03,"No route to destination"},  {0x04,"Send special information tone"},  {0x05,"Misdialled trunk prefix"},  {0x06,"Channel unacceptable"},  {0x07,"Channel awarded and being delivered in an established channel"},  {0x08,"Preemption"},  {0x09,"Preemption - circuit reserved for reuse"},  {0x10,"Normal call clearing"},  {0x11,"User busy"},  {0x12,"No user responding"},  {0x13,"No answer from user (user alerted)"},  {0x14,"Subscriber absent"},  {0x15,"Call rejected"},  {0x16,"Number changed"},  {0x1a,"non-selected user clearing"},  {0x1b,"Destination out of order"},  {0x1c,"Invalid number format (address incomplete)"},  {0x1d,"Facility rejected"},  {0x1e,"Response to Status enquiry"},  {0x1f,"Normal, unspecified"},  {0x22,"No circuit/channel available"},  {0x26,"Network out of order"},  {0x27,"Permanent frame mode connection out-of-service"},  {0x28,"Permanent frame mode connection operational"},  {0x29,"Temporary failure"},  {0x2a,"Switching equipment congestion"},  {0x2b,"Access information discarded"},  {0x2c,"Requested circuit/channel not available"},  {0x2e,"Precedence call blocked"},  {0x2f,"Resource unavailable, unspecified"},  {0x31,"Quality of service unavailable"},  {0x32,"Requested facility not subscribed"},  {0x35,"Outgoing calls barred within CUG"},  {0x37,"Incoming calls barred within CUG"},  {0x39,"Bearer capability not authorized"},  {0x3a,"Bearer capability not presently available"},  {0x3e,"Inconsistency in designated outgoing access information and subscriber class"},  {0x3f,"Service or option not available, unspecified"},  {0x41,"Bearer capability not implemented"},  {0x42,"Channel type not implemented"},  {0x43,"Requested facility not implemented"},  {0x44,"Only restricted digital information bearer capability is available"},  {0x4f,"Service or option not implemented"},  {0x51,"Invalid call reference value"},  {0x52,"Identified channel does not exist"},  {0x53,"A suspended call exists, but this call identity does not"},  {0x54,"Call identity in use"},  {0x55,"No call suspended"},  {0x56,"Call having the requested call identity has been cleared"},  {0x57,"User not member of CUG"},  {0x58,"Incompatible destination"},  {0x5a,"Non-existent CUG"},  {0x5b,"Invalid transit network selection"},  {0x5f,"Invalid message, unspecified"},  {0x60,"Mandatory information element is missing"},  {0x61,"Message type non-existent or not implemented"},  {0x62,"Message not compatible with call state or message type non-existent or not implemented"},  {0x63,"Information element/parameter non-existent or not implemented"},  {0x64,"Invalid information element contents"},  {0x65,"Message not compatible with call state"},  {0x66,"Recovery on timer expiry"},  {0x67,"Parameter non-existent or not implemented - passed on"},  {0x6e,"Message with unrecognized parameter discarded"},  {0x6f,"Protocol error, unspecified"},  {0x7f,"Interworking, unspecified"}};#endifstatic struct isdn_event_desc {  unsigned short ev;  char * desc;} isdn_event_table [] = {  {EV_USR_SETUP_REQ,     "CC->L3: Setup Request"},  {EV_USR_SETUP_RESP,    "CC->L3: Setup Response"},  {EV_USR_PROCED_REQ,    "CC->L3: Proceeding Request"},  {EV_USR_RELEASE_REQ,   "CC->L3: Release Request"},  {EV_NET_SETUP,        "NET->TE: setup "},  {EV_NET_CALL_PROC,    "NET->TE: call proceeding"},  {EV_NET_SETUP_ACK,    "NET->TE: setup acknowledge (more info needed)"},  {EV_NET_CONN,         "NET->TE: connect"},  {EV_NET_CONN_ACK,     "NET->TE: connect acknowledge"},  {EV_NET_DISC,         "NET->TE: disconnect indication"},  {EV_NET_RELEASE,      "NET->TE: release"},  {EV_NET_RELEASE_COMP, "NET->TE: release complete"},  {EV_NET_SELP_RESP,    "Board: Select B-channel protocol ack"},  {EV_NET_ACTV_RESP,    "Board: Activate B-channel protocol ack"},  {EV_TIMER,            "Timeout"},  {0, "NULL"}};char * strisdnevent(ushort ev){  struct isdn_event_desc * entry;   for (entry = isdn_event_table; entry->ev; entry++)    if (entry->ev == ev)      break;  return entry->desc;}/* * Euro ISDN finite state machine */static struct fsm_timer_entry fsm_timers[] = {  {ST_CALL_PROC, 10},  {ST_DISC_REQ, 2},  {ST_ACTIVE_SELP, 5},  {ST_ACTIVE_ACTV, 5},  {ST_INCM_PROC, 10},  {ST_CONN_REQ, 2},  {0xff, 0}};static struct fsm_entry fsm_table[] = {/* Connect Phase */  /* Outgoing */  {ST_NULL, ST_CALL_INIT, EV_USR_SETUP_REQ, cb_out_1},  {ST_CALL_INIT, ST_OVER_SEND, EV_NET_SETUP_ACK, cb_notdone},  {ST_CALL_INIT, ST_CALL_PROC, EV_NET_CALL_PROC, NULL},  {ST_CALL_INIT, ST_NULL, EV_NET_DISC, cb_out_2},  {ST_CALL_PROC, ST_ACTIVE_SELP, EV_NET_CONN, cb_out_2},  {ST_CALL_PROC, ST_NULL, EV_NET_DISC, cb_disc_1},  {ST_CALL_PROC, ST_DISC_REQ, EV_USR_RELEASE_REQ, cb_disc_2},  /* Incoming */  {ST_NULL, ST_CALL_PRES, EV_NET_SETUP, NULL},  {ST_CALL_PRES, ST_INCM_PROC, EV_USR_PROCED_REQ, cb_in_1},  {ST_CALL_PRES, ST_DISC_REQ, EV_USR_RELEASE_REQ, cb_disc_2},  {ST_INCM_PROC, ST_CONN_REQ, EV_USR_SETUP_RESP, cb_in_2},  {ST_INCM_PROC, ST_DISC_REQ, EV_USR_RELEASE_REQ, cb_disc_2},  {ST_CONN_REQ, ST_ACTIVE_SELP, EV_NET_CONN_ACK, cb_in_3},  /* Active */  {ST_ACTIVE, ST_NULL, EV_NET_DISC, cb_disc_1},  {ST_ACTIVE, ST_DISC_REQ, EV_USR_RELEASE_REQ, cb_disc_2},  {ST_ACTIVE, ST_NULL, EV_NET_RELEASE, cb_disc_3},  /* Disconnect */  {ST_DISC_REQ, ST_NULL, EV_NET_DISC, cb_disc_1},  {ST_DISC_REQ, ST_NULL, EV_NET_RELEASE, cb_disc_3},  /* protocol selection */  {ST_ACTIVE_SELP, ST_ACTIVE_ACTV, EV_NET_SELP_RESP, cb_selp_1},  {ST_ACTIVE_SELP, ST_DISC_REQ, EV_USR_RELEASE_REQ, cb_disc_2},  {ST_ACTIVE_ACTV, ST_ACTIVE, EV_NET_ACTV_RESP, cb_open},  {ST_ACTIVE_ACTV, ST_DISC_REQ, EV_USR_RELEASE_REQ, cb_disc_2},  /* Timers */  {ST_CALL_PROC, ST_DISC_REQ, EV_TIMER, cb_disc_2},  {ST_DISC_REQ, ST_NULL, EV_TIMER, cb_disc_3},  {ST_ACTIVE_SELP, ST_DISC_REQ, EV_TIMER, cb_disc_2},  {ST_ACTIVE_ACTV, ST_DISC_REQ, EV_TIMER, cb_disc_2},          {ST_INCM_PROC, ST_DISC_REQ, EV_TIMER, cb_disc_2},  {ST_CONN_REQ, ST_CONN_REQ, EV_TIMER, cb_in_2},          {0xff, 0, 0, NULL}};static void pcbit_fsm_timer(unsigned long data){        struct pcbit_dev *dev;        struct pcbit_chan *chan;        chan = (struct pcbit_chan *) data;        del_timer(&chan->fsm_timer);        chan->fsm_timer.function = NULL;        dev = chan2dev(chan);        if (dev == NULL) {                printk(KERN_WARNING "pcbit: timer for unknown device\n");                return;        }        pcbit_fsm_event(dev, chan, EV_TIMER, NULL);}void pcbit_fsm_event(struct pcbit_dev *dev, struct pcbit_chan *chan,		   unsigned short event, struct callb_data *data){	struct fsm_entry * action;		struct fsm_timer_entry *tentry;	unsigned long flags;	save_flags(flags);	cli();        for (action = fsm_table; action->init != 0xff; action++)                if (action->init == chan->fsm_state && action->event == event)                        break;  	if (action->init == 0xff) {				printk(KERN_DEBUG "fsm error: event %x on state %x\n",                        event, chan->fsm_state);		restore_flags(flags);		return;	}        if (chan->fsm_timer.function) {                del_timer(&chan->fsm_timer);                chan->fsm_timer.function = NULL;        }	chan->fsm_state = action->final;  	pcbit_state_change(dev, chan, action->init, event, action->final);        for (tentry = fsm_timers; tentry->init != 0xff; tentry++)                if (tentry->init == chan->fsm_state)                        break;        if (tentry->init != 0xff) {                init_timer(&chan->fsm_timer);                chan->fsm_timer.function = &pcbit_fsm_timer;                chan->fsm_timer.data = (ulong) chan;                chan->fsm_timer.expires = jiffies + tentry->timeout * HZ;                add_timer(&chan->fsm_timer);        }	restore_flags(flags);	if (action->callb)		action->callb(dev, chan, data);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黑人巨大精品欧美一区| 在线不卡中文字幕播放| 欧美亚洲日本一区| 久久在线观看免费| 一区二区三区欧美在线观看| 精品一区二区三区在线观看| 日本精品一区二区三区高清| 久久久久国产一区二区三区四区| 亚洲午夜成aⅴ人片| 成人久久18免费网站麻豆| 91精品国产乱码| 亚洲女同女同女同女同女同69| 国精产品一区一区三区mba桃花 | 国产精品久久三区| 日韩精品欧美成人高清一区二区| 色哟哟一区二区三区| 337p日本欧洲亚洲大胆精品| 天天爽夜夜爽夜夜爽精品视频| av高清不卡在线| 国产片一区二区三区| 久久精品999| 5月丁香婷婷综合| 亚洲v中文字幕| 欧美性猛交xxxx乱大交退制版 | 有坂深雪av一区二区精品| 丁香天五香天堂综合| xnxx国产精品| 国产在线精品视频| 精品日韩在线一区| 久久精品国产精品亚洲精品| 日韩一区二区三区高清免费看看| 亚洲国产日韩综合久久精品| 色婷婷综合久久久中文字幕| 中文字幕一区二| 成人黄动漫网站免费app| 久久久久久久免费视频了| 精品午夜一区二区三区在线观看| 日韩女优视频免费观看| 免费成人小视频| 69堂国产成人免费视频| 男女性色大片免费观看一区二区| 91精品国产综合久久香蕉麻豆| 日日夜夜精品视频免费| 91麻豆精品国产91久久久久久久久 | 国产综合色产在线精品| 精品毛片乱码1区2区3区| 精品一区二区三区免费| www亚洲一区| 成人毛片老司机大片| 中文字幕免费一区| 99久久婷婷国产| 一区二区三区四区亚洲| 欧美色电影在线| 久久国产综合精品| 国产欧美久久久精品影院| 国产乱理伦片在线观看夜一区| 欧美高清激情brazzers| 亚洲一区二区黄色| 国产毛片精品一区| 欧美影院精品一区| 6080午夜不卡| 国产色婷婷亚洲99精品小说| 综合欧美一区二区三区| 成人av在线资源网| 一区二区三区四区国产精品| 欧美猛男gaygay网站| 久久99蜜桃精品| 国产精品久久久久影院亚瑟| 欧美性受极品xxxx喷水| 久久国产精品72免费观看| 国产精品初高中害羞小美女文| 欧美私人免费视频| 国产乱子轮精品视频| 成人性生交大片免费看视频在线 | 国产综合色在线| 中文字幕一区在线观看视频| 欧美色电影在线| 国产精品羞羞答答xxdd | 国产亚洲污的网站| 日本韩国欧美一区二区三区| 久久se精品一区二区| 一区二区三区日韩精品视频| 久久久午夜精品| 欧美久久久久免费| 99久久综合国产精品| 麻豆91免费观看| 一区二区三区在线播放| 久久精品一区二区三区av| 欧美日韩你懂的| 成人动漫一区二区在线| 久久国产精品99久久人人澡| 亚洲一区免费视频| 国产精品久久夜| 久久久久久久网| 日韩精品一区二区三区四区| 在线观看免费一区| 99精品欧美一区二区蜜桃免费| 久久99久久99| 天天av天天翘天天综合网色鬼国产 | 久久久国产精品午夜一区ai换脸| 欧美午夜一区二区| yourporn久久国产精品| 国产麻豆精品在线观看| 日韩激情中文字幕| 亚洲成人免费影院| 亚洲精品成人在线| 中文字幕一区二区三区蜜月| 中日韩av电影| 久久综合狠狠综合| 日韩免费电影一区| 日韩免费高清视频| 精品sm捆绑视频| 精品欧美黑人一区二区三区| 日韩欧美久久久| 欧美videos中文字幕| 日韩欧美国产一区二区在线播放| 欧美精品99久久久**| 欧美夫妻性生活| 日韩一本二本av| 日韩一级视频免费观看在线| 日韩精品一区国产麻豆| 日韩欧美一级二级三级| 精品国产91乱码一区二区三区| 91精品国产综合久久久久久久 | 国产日韩欧美精品电影三级在线| 2023国产精华国产精品| 久久亚洲影视婷婷| 中文字幕不卡一区| 亚洲啪啪综合av一区二区三区| 亚洲男帅同性gay1069| 一区二区三区四区国产精品| 亚洲电影一区二区三区| 日韩精品91亚洲二区在线观看 | 亚洲男女毛片无遮挡| 亚洲黄色免费电影| 日韩不卡手机在线v区| 乱一区二区av| 粉嫩在线一区二区三区视频| 99精品桃花视频在线观看| av在线一区二区| 欧美日韩亚洲综合在线| 精品伦理精品一区| 中文字幕欧美一| 五月激情六月综合| 国产麻豆91精品| 在线免费观看日韩欧美| 91精品婷婷国产综合久久性色| 精品成人在线观看| 亚洲色图第一区| 蜜乳av一区二区| 成人精品国产一区二区4080| 色综合久久久久网| 91精品国产色综合久久不卡蜜臀| 久久色在线视频| 一区二区三区免费| 精品一区免费av| 欧洲另类一二三四区| 亚洲精品在线观看网站| 亚洲欧美一区二区三区国产精品 | 亚洲高清视频中文字幕| 激情综合网激情| 91成人免费在线| 久久亚洲精华国产精华液| 亚洲黄网站在线观看| 国产一区二区日韩精品| 欧美视频一区二区在线观看| 国产欧美日韩视频在线观看| 性欧美疯狂xxxxbbbb| 国产精品一区二区免费不卡| 欧美亚洲动漫另类| 国产日本亚洲高清| 喷白浆一区二区| 欧美视频三区在线播放| 国产日韩av一区| 免费成人小视频| 欧美色视频在线| 综合久久给合久久狠狠狠97色| 日本视频一区二区| 欧美性三三影院| 亚洲欧美视频一区| 处破女av一区二区| 精品国产亚洲在线| 天天综合色天天| 欧美色区777第一页| 成人欧美一区二区三区| 国产成人夜色高潮福利影视| 日韩欧美一区二区免费| 午夜久久电影网| 欧美日韩三级一区| 亚洲综合精品久久| 91在线观看高清| 国产精品久久久久影院色老大| 国产精品综合av一区二区国产馆| 在线播放欧美女士性生活| 一区二区在线观看视频 | 国产成人免费视频| 久久久久久久久伊人| 狠狠色丁香久久婷婷综合_中| 欧美一级二级三级蜜桃| 青青草97国产精品免费观看无弹窗版|