(七)深入理解Bluez协议栈之“再谈Bluez的访问接口”

前言:

经过前几篇文章的梳理,相信读者对如何使用Bluez协议栈有一个初步的认识了,本篇文章再最终汇总以下Bluez的访问接口,先看一下之前的那个框图,如图1。

(七)深入理解Bluez协议栈之“再谈Bluez的访问接口”_第1张图片

图1

里面其实还少画了一个hci_le_*的接口使用方式,hcitool.c使用这套接口。

接口定义:

mgmt_*接口:

        头文件:lib/mgmt.h

        c文件:src/shared/mgmt.c

        示例:mgmt_send(data->mgmt, MGMT_OP_READ_INFO, data->mgmt_index, 0, NULL,

                    read_info_callback, NULL, NULL);

        缺点:如果应用层希望拿到比较细节的hci参数,那么mgmt无法提供,mgmt的相关资料不详细。

        优点:屏蔽了hci的细节,使用mgmt的command发送给kernel,一条指令可以解析成为很多条hci指令,对于L2CAP socket的兼容性好,peripheral示例就是这样实现的。

bt_hci_*接口:

        头文件:monitor/bt.h,src/shared/hci.h

        c文件:s

你可能感兴趣的:(深入理解Bluez协议栈,网络,蓝牙BLE)