您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FsmChangeState函数代码示例

51自学网 2021-06-01 20:49:04
  C++
这篇教程C++ FsmChangeState函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FsmChangeState函数的典型用法代码示例。如果您正苦于以下问题:C++ FsmChangeState函数的具体用法?C++ FsmChangeState怎么用?C++ FsmChangeState使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FsmChangeState函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: lc_release_ind

static voidlc_release_ind(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	FsmDelTimer(&st->l3.l3m_timer, 52);	FsmChangeState(fi, ST_L3_LC_REL);	skb_queue_purge(&st->l3.squeue);	l3ml3p(st, DL_RELEASE | INDICATION);}
开发者ID:aywq2008,项目名称:omniplay,代码行数:10,


示例2: dout_underrun

static void dout_underrun(struct FsmInst *fsm, int event, void *arg){	struct st5481_adapter *adapter = fsm->userdata;	struct st5481_d_out *d_out = &adapter->d_out;	if (test_bit(0, &d_out->busy) || test_bit(1, &d_out->busy)) {		FsmChangeState(&d_out->fsm, ST_DOUT_WAIT_FOR_NOT_BUSY);	}  else {		dout_stop(fsm, event, arg);	}}
开发者ID:GunioRobot,项目名称:MI424WR_GEN2_Rev_E-F,代码行数:11,


示例3: l1_go_f3

static voidl1_go_f3(struct FsmInst *fi, int event, void *arg){	struct st5481_adapter *adapter = fi->userdata;	if (fi->state == ST_L1_F7)		ph_disconnect(adapter);		FsmChangeState(fi, ST_L1_F3);	D_L1L2(adapter, PH_DEACTIVATE | INDICATION, NULL);}
开发者ID:GunioRobot,项目名称:MI424WR_GEN2_Rev_E-F,代码行数:11,


示例4: lc_start_delay_check

static voidlc_start_delay_check(struct FsmInst *fi, int event, void *arg)/* 20/09/00 - GE timer not user for NI-1 as layer 2 should stay up */{       struct PStack *st = fi->userdata;       FsmChangeState(fi, ST_L3_LC_REL_DELAY);       /* 19/09/00 - GE timer not user for NI-1 */       if (st->protocol != ISDN_PTYPE_NI1)        		FsmAddTimer(&st->l3.l3m_timer, DREL_TIMER_VALUE, EV_TIMEOUT, NULL, 50);}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-ef_fw-20-19-8,代码行数:11,


示例5: l1_activate

static voidl1_activate(struct FsmInst *fi, int event, void *arg){	struct st5481_adapter *adapter = fi->userdata;	st5481_ph_command(adapter, ST5481_CMD_DR);	st5481_ph_command(adapter, ST5481_CMD_PUP);	FsmRestartTimer(&adapter->timer, TIMER3_VALUE, EV_TIMER3, NULL, 2);	st5481_ph_command(adapter, ST5481_CMD_AR8);	FsmChangeState(fi, ST_L1_F4);}
开发者ID:GunioRobot,项目名称:MI424WR_GEN2_Rev_E-F,代码行数:11,


示例6: lc_connect

static voidlc_connect(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	struct sk_buff *skb = arg;	FsmChangeState(fi, ST_L3_LC_ESTAB);	while ((skb = skb_dequeue(&st->l3.squeue))) {		st->l3.l3l2(st, DL_DATA | REQUEST, skb);	}	st->l3.l3l4(st, DL_ESTABLISH | INDICATION, NULL);}
开发者ID:shattered,项目名称:linux-m68k,代码行数:12,


示例7: l2_st6_dm_release

static voidl2_st6_dm_release(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	if (get_PollFlagFree(l2, msg)) {		stop_t200(l2, 8);		lapb_dl_release_l2l3(l2, CONFIRM);		FsmChangeState(fi, ST_L2_4);	}}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:12,


示例8: tei_id_verify

static voidtei_id_verify(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	if (st->ma.debug)		st->ma.tei_m.printdebug(&st->ma.tei_m,			"id verify request for tei %d", st->l2.tei);	put_tei_msg(st, ID_VERIFY, 0, st->l2.tei);	FsmChangeState(&st->ma.tei_m, ST_TEI_IDVERIFY);	FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 2);	st->ma.N202 = 2;}
开发者ID:xricson,项目名称:knoppix,代码行数:13,


示例9: l2_queue_ui_assign

static voidl2_queue_ui_assign(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	msg_queue_tail(&l2->ui_queue, msg);	FsmChangeState(fi, ST_L2_2);	if ((msg = create_link_msg(MDL_ASSIGN | INDICATION, 0, 0, NULL, 0))) {		if (l2_tei(l2->tm, msg))			free_msg(msg);	}}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:13,


示例10: l2_mdl_assign

static voidl2_mdl_assign(struct FsmInst *fi, int event, void *arg){	layer2_t	*l2 = fi->userdata;	msg_t	*msg = arg;	mISDNuser_head_t	*hh;	FsmChangeState(fi, ST_L2_3);	msg_trim(msg, 0);	hh = (mISDNuser_head_t *)msg_put(msg, mISDNUSER_HEAD_SIZE);	hh->prim = MDL_ASSIGN | INDICATION;	hh->dinfo = 0;	if (l2_tei(l2->tm, msg))		free_msg(msg);}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:15,


示例11: l2_released

static voidl2_released(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	if (!get_PollFlag(l2, msg)) {		l2_mdl_error_ua(fi, event, arg);		return;	}	free_msg(msg);	stop_t200(l2, 6);	lapb_dl_release_l2l3(l2, CONFIRM);	FsmChangeState(fi, ST_L2_4);}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:15,


示例12: lc_release_req

static voidlc_release_req(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	if (test_bit(FLG_L2BLOCK, &st->l2.flag)) {		if (st->l3.debug)			l3_debug(st, "lc_release_req: l2 blocked");		/* restart release timer */		FsmAddTimer(&st->l3.l3m_timer, DREL_TIMER_VALUE, EV_TIMEOUT, NULL, 51);	} else {		FsmChangeState(fi, ST_L3_LC_REL_WAIT);		st->l3.l3l2(st, DL_RELEASE | REQUEST, NULL);	}}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-ef_fw-20-19-8,代码行数:15,


示例13: l2_stop_multi

static voidl2_stop_multi(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	FsmChangeState(fi, ST_L2_4);	FsmDelTimer(&l2->t203, 3);	stop_t200(l2, 4);	send_uframe(l2, msg, UA | get_PollFlag(l2, msg), RSP);	msg_queue_purge(&l2->i_queue);	freewin(l2);	lapb_dl_release_l2l3(l2, INDICATION);}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:15,


示例14: establishlink

static voidestablishlink(struct FsmInst *fi){	layer2_t *l2 = fi->userdata;	u_char cmd;	clear_exception(l2);	l2->rc = 0;	cmd = (test_bit(FLG_MOD128, &l2->flag) ? SABME : SABM) | 0x10;	send_uframe(l2, NULL, cmd, CMD);	FsmDelTimer(&l2->t203, 1);	restart_t200(l2, 1);	test_and_clear_bit(FLG_PEND_REL, &l2->flag);	freewin(l2);	FsmChangeState(fi, ST_L2_5);}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:16,


示例15: l2_disconnect

static voidl2_disconnect(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	msg_queue_purge(&l2->i_queue);	freewin(l2);	FsmChangeState(fi, ST_L2_6);	l2->rc = 0;	send_uframe(l2, NULL, DISC | 0x10, CMD);	FsmDelTimer(&l2->t203, 1);	restart_t200(l2, 2);	if (msg)		free_msg(msg);}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:16,


示例16: l2_st5_dm_release

static voidl2_st5_dm_release(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	if (get_PollFlagFree(l2, msg)) {		stop_t200(l2, 7);	 	if (!test_bit(FLG_L3_INIT, &l2->flag))			msg_queue_purge(&l2->i_queue);		if (test_bit(FLG_LAPB, &l2->flag))			l2down_create(l2, PH_DEACTIVATE | REQUEST, 0, 0, NULL);		st5_dl_release_l2l3(l2);		FsmChangeState(fi, ST_L2_4);	}}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:16,


示例17: tei_id_chk_req

static voidtei_id_chk_req(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	struct sk_buff *skb = arg;	int tei;	tei = skb->data[4] >> 1;	if (st->ma.debug)		st->ma.tei_m.printdebug(&st->ma.tei_m,			"identity check req tei %d", tei);	if ((st->l2.tei != -1) && ((tei == GROUP_TEI) || (tei == st->l2.tei))) {		FsmDelTimer(&st->ma.t202, 4);		FsmChangeState(&st->ma.tei_m, ST_TEI_NOP);		put_tei_msg(st, ID_CHK_RES, random_ri(), st->l2.tei);	}}
开发者ID:xricson,项目名称:knoppix,代码行数:17,


示例18: lc_connect

static voidlc_connect(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	struct sk_buff *skb = arg;	int dequeued = 0;	FsmChangeState(fi, ST_L3_LC_ESTAB);	while ((skb = skb_dequeue(&st->l3.squeue))) {		st->l3.l3l2(st, DL_DATA | REQUEST, skb);		dequeued++;	}	if ((!st->l3.proc) &&  dequeued) {		if (st->l3.debug)			l3_debug(st, "lc_connect: release link");		FsmEvent(&st->l3.l3m, EV_RELEASE_REQ, NULL);	} else		l3ml3p(st, DL_ESTABLISH | INDICATION);}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-ef_fw-20-19-8,代码行数:19,


示例19: l2_start_multi

static voidl2_start_multi(struct FsmInst *fi, int event, void *arg){	layer2_t *l2 = fi->userdata;	msg_t *msg = arg;	send_uframe(l2, NULL, UA | get_PollFlag(l2, msg), RSP);	clear_exception(l2);	l2->vs = 0;	l2->va = 0;	l2->vr = 0;	l2->sow = 0;	FsmChangeState(fi, ST_L2_7);	FsmAddTimer(&l2->t203, l2->T203, EV_L2_T203, NULL, 3);	msg_trim(msg, 0);	msg_push(msg, mISDNUSER_HEAD_SIZE);	if (l2up(l2, DL_ESTABLISH | INDICATION, CES(l2), msg))		free_msg(msg);}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:20,


示例20: tei_id_request

static voidtei_id_request(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	if (st->l2.tei != -1) {		st->ma.tei_m.printdebug(&st->ma.tei_m,			"assign request for already assigned tei %d",			st->l2.tei);		return;	}	st->ma.ri = random_ri();	if (st->ma.debug)		st->ma.tei_m.printdebug(&st->ma.tei_m,			"assign request ri %d", st->ma.ri);	put_tei_msg(st, ID_REQUEST, st->ma.ri, 127);	FsmChangeState(&st->ma.tei_m, ST_TEI_IDREQ);	FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 1);	st->ma.N202 = 3;}
开发者ID:xricson,项目名称:knoppix,代码行数:20,


示例21: tei_id_remove

static voidtei_id_remove(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	struct sk_buff *skb = arg;	struct IsdnCardState *cs;	int tei;	tei = skb->data[4] >> 1;	if (st->ma.debug)		st->ma.tei_m.printdebug(&st->ma.tei_m,			"identity remove tei %d", tei);	if ((st->l2.tei != -1) && ((tei == GROUP_TEI) || (tei == st->l2.tei))) {		FsmDelTimer(&st->ma.t202, 5);		FsmChangeState(&st->ma.tei_m, ST_TEI_NOP);		L3L2(st, MDL_REMOVE | REQUEST, 0);		cs = (struct IsdnCardState *) st->l1.hardware;		mdl_remove(cs);	}}
开发者ID:xricson,项目名称:knoppix,代码行数:20,


示例22: tei_id_req_tout

static voidtei_id_req_tout(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	struct IsdnCardState *cs;	if (--st->ma.N202) {		st->ma.ri = random_ri();		if (st->ma.debug)			st->ma.tei_m.printdebug(&st->ma.tei_m,				"assign req(%d) ri %d", 4 - st->ma.N202,				st->ma.ri);		put_tei_msg(st, ID_REQUEST, st->ma.ri, 127);		FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 3);	} else {		st->ma.tei_m.printdebug(&st->ma.tei_m, "assign req failed");		L3L2(st, MDL_ERROR | RESPONSE, 0);		cs = (struct IsdnCardState *) st->l1.hardware;		mdl_remove(cs);		FsmChangeState(fi, ST_TEI_NOP);	}}
开发者ID:xricson,项目名称:knoppix,代码行数:22,


示例23: tei_id_ver_tout

static voidtei_id_ver_tout(struct FsmInst *fi, int event, void *arg){	struct PStack *st = fi->userdata;	struct IsdnCardState *cs;	if (--st->ma.N202) {		if (st->ma.debug)			st->ma.tei_m.printdebug(&st->ma.tei_m,				"id verify req(%d) for tei %d",				3 - st->ma.N202, st->l2.tei);		put_tei_msg(st, ID_VERIFY, 0, st->l2.tei);		FsmAddTimer(&st->ma.t202, st->ma.T202, EV_T202, NULL, 4);	} else {		st->ma.tei_m.printdebug(&st->ma.tei_m,			"verify req for tei %d failed", st->l2.tei);		L3L2(st, MDL_REMOVE | REQUEST, 0);		cs = (struct IsdnCardState *) st->l1.hardware;		mdl_remove(cs);		FsmChangeState(fi, ST_TEI_NOP);	}}
开发者ID:xricson,项目名称:knoppix,代码行数:22,



注:本文中的FsmChangeState函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FtpSendCmd函数代码示例
C++ FsmAddTimer函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。