Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1612596
  • 博文数量: 245
  • 博客积分: 10378
  • 博客等级: 上将
  • 技术积分: 2571
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 08:19
文章分类

全部博文(245)

文章存档

2013年(4)

2012年(8)

2011年(13)

2010年(68)

2009年(152)

分类: LINUX

2010-08-31 11:30:31

相关函数有:
   cmUserInputBuildAlphanumeric();//构造数据
   cmUserInputBuildNonStandard(); //构造数据
   cmCallSendUserInput();         //发送数据

我们可以通过使用cmUserInput相关函数来发送协议栈本身不支持的操作,通过在UserInput中的结构cmUserInputData的Alphanumeric字段,可以构造自己的结构,通过这个结构来传送一些自定义的信令,
具体过程:

cmUserInputData uid;
RvChar strBuf[10];
RvPvtNodeId msgId;
RvStatus status;
 
strBuf[0] = 0x27; /* Start Escape character - tag indication
of GeneralString*/

strBuf[1] = 4; /* Length of the actual string - in this case
4 bytes */

strBuf[2] = '1';
strBuf[3] = '2';
strBuf[4] = '3';
strBuf[5] = '4';
 
uid.data = strBuf;
uid.length = 6;
 
/* Build the userInput message */
msgId = cmUserInputBuildAlphanumeric(hApp, &uid);
 
/* Send the UII */
status = cmCallSendUserInput(hsCall, msgId);
 
if ((status == RV_ERROR_DESTRUCTED) || (status ==
RV_ERROR_NULLPTR))
    pvtDelete(hVal, msgId);


在上边的代码中,是通过向Alphanumeric字段段填充一个数组,我们可以在这个数组上进行相应的扩充,如果我们对这个数据结构化,设定长度为N,然后分别定义各个序号单元的含义,就可以发送自定义的信令了,而且不要太多的工作,协议栈对这个userinput信令的完好支持,可以省去很多的工作.

阅读(1264) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~