本文整理汇总了C++中send_uframe函数的典型用法代码示例。如果您正苦于以下问题:C++ send_uframe函数的具体用法?C++ send_uframe怎么用?C++ send_uframe使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了send_uframe函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: l2_restart_multi
static void
l2_restart_multi(struct FsmInst *fi, int event, void *arg)
{
struct layer2 *l2 = fi->userdata;
struct sk_buff *skb = arg;
int est = 0;
send_uframe(l2, skb, UA | get_PollFlag(l2, skb), RSP);
l2mgr(l2, MDL_ERROR_IND, (void *) 'F');
if (l2->vs != l2->va) {
skb_queue_purge(&l2->i_queue);
est = 1;
}
clear_exception(l2);
l2->vs = 0;
l2->va = 0;
l2->vr = 0;
l2->sow = 0;
mISDN_FsmChangeState(fi, ST_L2_7);
stop_t200(l2, 3);
mISDN_FsmRestartTimer(&l2->t203, l2->T203, EV_L2_T203, NULL, 3);
if (est)
l2up_create(l2, DL_ESTABLISH_IND, 0, NULL);
/* mISDN_queue_data(&l2->inst, l2->inst.id | MSG_BROADCAST,
* MGR_SHORTSTATUS | INDICATION, SSTATUS_L2_ESTABLISHED,
* 0, NULL, 0);
*/
if (skb_queue_len(&l2->i_queue) && cansend(l2))
mISDN_FsmEvent(fi, EV_L2_ACK_PULL, NULL);
}
开发者ID:12019,项目名称:kernel_zte_u880,代码行数:34,代码来源:layer2.c
示例2: l2_restart_multi
static void
l2_restart_multi(struct FsmInst *fi, int event, void *arg)
{
layer2_t *l2 = fi->userdata;
msg_t *msg = arg;
int est = 0;
send_uframe(l2, msg, UA | get_PollFlag(l2, msg), RSP);
l2mgr(l2, MDL_ERROR | INDICATION, (void *) 'F');
if (l2->vs != l2->va) {
msg_queue_purge(&l2->i_queue);
est = 1;
}
clear_exception(l2);
l2->vs = 0;
l2->va = 0;
l2->vr = 0;
l2->sow = 0;
FsmChangeState(fi, ST_L2_7);
stop_t200(l2, 3);
FsmRestartTimer(&l2->t203, l2->T203, EV_L2_T203, NULL, 3);
if (est)
l2up_create(l2, DL_ESTABLISH | INDICATION, CES(l2), 0, NULL);
if (msg_queue_len(&l2->i_queue) && cansend(l2))
FsmEvent(fi, EV_L2_ACK_PULL, NULL);
}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:31,代码来源:net_l2.c
示例3: l2_send_DM
static void
l2_send_DM(struct FsmInst *fi, int event, void *arg)
{
struct layer2 *l2 = fi->userdata;
struct sk_buff *skb = arg;
send_uframe(l2, skb, DM | get_PollFlag(l2, skb), RSP);
}
开发者ID:12019,项目名称:kernel_zte_u880,代码行数:8,代码来源:layer2.c
示例4: l2_send_DM
static void
l2_send_DM(struct FsmInst *fi, int event, void *arg)
{
layer2_t *l2 = fi->userdata;
msg_t *msg = arg;
send_uframe(l2, msg, DM | get_PollFlag(l2, msg), RSP);
}
开发者ID:Distrotech,项目名称:mISDNuser,代码行数:8,代码来源:net_l2.c
示例5: l2_stop_multi
static void
l2_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,代码来源:net_l2.c
示例6: establishlink
static void
establishlink(struct FsmInst *fi)
{
struct layer2 *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);
mISDN_FsmDelTimer(&l2->t203, 1);
restart_t200(l2, 1);
test_and_clear_bit(FLG_PEND_REL, &l2->flag);
freewin(l2);
mISDN_FsmChangeState(fi, ST_L2_5);
}
开发者ID:12019,项目名称:kernel_zte_u880,代码行数:16,代码来源:layer2.c
示例7: l2_disconnect
static void
l2_disconnect(struct FsmInst *fi, int event, void *arg)
{
struct layer2 *l2 = fi->userdata;
struct sk_buff *skb = arg;
skb_queue_purge(&l2->i_queue);
freewin(l2);
mISDN_FsmChangeState(fi, ST_L2_6);
l2->rc = 0;
send_uframe(l2, NULL, DISC | 0x10, CMD);
mISDN_FsmDelTimer(&l2->t203, 1);
restart_t200(l2, 2);
if (skb)
dev_kfree_skb(skb);
}
开发者ID:12019,项目名称:kernel_zte_u880,代码行数:16,代码来源:layer2.c
示例8: l2_disconnect
static void
l2_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,代码来源:net_l2.c
示例9: l2_stop_multi
static void
l2_stop_multi(struct FsmInst *fi, int event, void *arg)
{
struct layer2 *l2 = fi->userdata;
struct sk_buff *skb = arg;
mISDN_FsmChangeState(fi, ST_L2_4);
mISDN_FsmDelTimer(&l2->t203, 3);
stop_t200(l2, 4);
send_uframe(l2, skb, UA | get_PollFlag(l2, skb), RSP);
skb_queue_purge(&l2->i_queue);
freewin(l2);
lapb_dl_release_l2l3(l2, DL_RELEASE_IND);
if (l2->tm)
l2_tei(l2, MDL_STATUS_DOWN_IND, 0);
}
开发者ID:12019,项目名称:kernel_zte_u880,代码行数:17,代码来源:layer2.c
示例10: l2_start_multi
static void
l2_start_multi(struct FsmInst *fi, int event, void *arg)
{
struct layer2 *l2 = fi->userdata;
struct sk_buff *skb = arg;
l2->vs = 0;
l2->va = 0;
l2->vr = 0;
l2->sow = 0;
clear_exception(l2);
send_uframe(l2, NULL, UA | get_PollFlag(l2, skb), RSP);
mISDN_FsmChangeState(fi, ST_L2_7);
mISDN_FsmAddTimer(&l2->t203, l2->T203, EV_L2_T203, NULL, 3);
skb_trim(skb, 0);
l2up(l2, DL_ESTABLISH_IND, skb);
if (l2->tm)
l2_tei(l2, MDL_STATUS_UP_IND, 0);
}
开发者ID:12019,项目名称:kernel_zte_u880,代码行数:19,代码来源:layer2.c
示例11: l2_start_multi
static void
l2_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,代码来源:net_l2.c
注:本文中的send_uframe函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论