android QMI机制---modem消息发送

7 modem消息发送

一般BP侧处理完请求后,都会回应一个响应给AP,一般是用宏QMI_SVC_PKT_PUSH将要作为响应

的消息发送出去。qmi_svc_utils.h中QMI_SVC_PKT_PUSH定义如下,

#define QMI_SVC_PKT_PUSH(pkt,val,len)  ( len == dsm_pushdown_packed(pkt,\
      val,\ len,\ DSM_DS_SMALL_ITEM_POOL ) )

将val里面的数据,传len个长度到pkt的buffer里面,然后发送出去。Val和len是我们要作为响应的数据

和数据包大小。QMI_SVC_PKT_PUSH()只能传单一的参数,根据上文说明的QMUX消息中TLV格式

的原理,可以用多个QMI_SVC_PKT_PUSH连着用,这样可以将多个数据或参数打包到同一条消息中发送。

例如,在voice服务中,用多个QMI_SVC_PKT_PUSH回传消息。

QMI_SVC_PKT_PUSH(&response, (void*)&info->call_id, sizeof(info->call_id))) )
•••
QMI_SVC_PKT_PUSH(&response, (void *)&tag, VOICEI_TLV_TAG_SIZE)
•••

最后还要记得写上TLV的总长度,和标志位。标志位必须和AP侧发出的请求相对应,如AP侧发出请求为0x21,

返回的标志位rec_tag也必须为0x21,方便返回AP后查表处理。将TLV消息放入response这个buf

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值