bluez——mgmt分析

1,cmd下发

linux系统的bluez的代码是存在与两部分,一部分在kernel,实现协议的一些基本功能,还有一部分在user space实现协议的一些上层功能。
两部分之间的交互通过sockt机制,就是mgmt。
cmd的下发主要调用的是mgmt.c中的mgmt_send()函数

这个函数有8个参数,第一个是mgmt的参数,暂时没找到其定义,第二是比较重要的数值,在mgmt_api和mgmt.h中都有定义和说明,每一个opcode对应一个cmd,在kernel部分也一模一样定义了对应的opcode。
mgmt_send后就是靠opcode是数值对应在kernel中需要调用的对应函数。
第二参数是index
第三个需要传递的参数大小
第四个是需要传递的参数
第五个是传递的回调,用于执行完该cmd后需要回调的数据
第六个是user需要传递的参数,一般未NULL,第六个也是,是预留设计。

2,event上报

除了前面说的cmd下发注册的回调外,kernel部分的event上报一般调用mgmt.c中的mgmt_event()函数来完成,该函数实际是调用的mgmt_send_event()

第一个参数无容置疑就是注册的evnet数值,

bluez——mgmt分析相关推荐

  1. 对Oracle中索引叶块分裂而引起延迟情况的测试和分析

    在版本10.2.0.4未打上相关one-off补丁的情况下,分别对ASSM和MSSM管理模式表空间进行索引分裂测试,经过测试的结论如下: l  在10gr2版本中MSSM方式是不能避免索引分裂引起交易 ...

  2. Provision Discovery流程分析

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 P2pStateMachine的ProvisionDiscoverySt ...

  3. HTTP头部信息解释分析(详细整理)

    这篇文章为大家介绍了HTTP头部信息,中英文对比分析,还是比较全面的,若大家在使用过程中遇到不了解的,可以适当参考下 HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/ ...

  4. Python3.5源码分析-内存管理

    Python3源码分析 本文环境python3.5.2. 参考书籍<<Python源码剖析>> python官网 Python3的内存管理概述 python提供了对内存的垃圾收 ...

  5. 蓝牙stack bluez学习(1)Stack Architecture

    Bluez支持的features Core Specification 4.2 (GAP, L2CAP, RFCOMM, SDP, GATT) Classic Bluetooth (BR/EDR) B ...

  6. 树莓派支持uvi协议吗_树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi)...

    前话 接下来介绍树莓派蓝牙模块的开发,使用的协议为bluez. ssh远程登录到树莓派 Demo:蓝牙探测信号rssi强度,并发送给服务器 客户端bob,服务器alice,探测两方的rssi,并传送给 ...

  7. Linux下Bluez的编程实现

    2019独角兽企业重金招聘Python工程师标准>>> 蓝牙的各个协议栈的简介2 1.1.蓝牙技术2 1.1.蓝牙协议栈2 1.2.蓝牙技术的特点4 1.2.1.蓝牙协议栈体系结构4 ...

  8. HTTP 头部解释,HTTP 头部详细分析,最全HTTP头部信息

    HTTP 头部解释 ========================================================================================== ...

  9. 命令行 蓝牙_Ubuntu使用BlueZ驱动蓝牙dongle

    蓝牙dongle即蓝牙适配器,一般为USB接口,通过USB连接到PC等设备.连接dongle后,PC即可使用驱动程序控制dongle连接其它蓝牙设备.本文主要介绍在Ubuntu系统中安装BlueZ的方 ...

最新文章

  1. C# 对应 Oracle 存储过程 的 SYS_REFCURSOR 应该 传入什么类型的参数?
  2. idea如何打war包?(部署tomcat后具有class文件)
  3. 安装虚拟机Ubuntu,搭建lnmp环境碰到的坑(二)
  4. 心理学上的被动_心理学:骨子里就被动的人,一定会有这5种表现
  5. 给图片加一层半透明_PPT小技巧——图片的处理
  6. python中的引用怎么理解_Python函数通过引用调用
  7. 互联网被滥用的沟通“话术”
  8. MVC4中EasyUI Tree异步加载JSON数据生成树
  9. Windows update一直停留在正在检查更新,为什么
  10. python图像转字符画_Python3:图片转字符画
  11. 测试类报错:空指针异常
  12. 我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(二)菜单导航
  13. 威纶通触摸屏可以解密吗_老电工选型威纶通触摸屏时的3大技巧!知道了能帮你省事不少...
  14. android与单片机wifi通信原理图,基于单片机的wifi模块原理图分析
  15. 信创操作系统--统信UOS桌面版(软件管理:应用商店、包管理器)
  16. 抓住每一次学习的机会
  17. 智能|跟着美的集团学习VMI正确的打开方式
  18. 如何实现机器人自动拉微信群
  19. Java练习题:字节缓冲流性能分析、 文档顺序恢复
  20. 刚买下腾讯云轻量服务器,环境从头到尾安装总结

热门文章

  1. 利用requests库和Xpath爬取猫眼电影榜单【Python】
  2. 求助:程序员得了结膜炎+干眼症怎么办?
  3. 二层板的射频RF信号如何控阻抗 四层板的射频RF信号如何控阻抗  射频信号是否可以不控阻抗,射频差分需要控阻抗吗?为什么射频信号需要挖空隔层参考?射频信号为什么要加粗?
  4. 《零基础学JavaScript(全彩版)》学习笔记
  5. 小想法 | 开源一个自己的Python小项目「Park at ease」停车场管理系统
  6. 去雾论文A real-time fast defogging system to clear the vision of driver in foggy highway using minimu...
  7. Unity高级知识点总结:性能优化与图形渲染进阶!
  8. 手把手教你Python+selenium爬虫百度文库源码+解析
  9. 华硕开机时出现无法验证数字签名驱动
  10. 内存优化(一)浅谈内存优化