Linux BlueZ 下 Inquiry的实现

来源:互联网 发布:杭州网站制作宣盟网络 编辑:程序博客网 时间:2024/05/16 14:42

前面讲了使用 ioctl发送HCI Command的方法。但HCI protocol还有一些Command,比如Inquiry等,他们则不需要使用ioctl来发送。blueZ 直接提供了支持,虽然他们的最终都是用同样办法实现的。

在应用程序中:
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
这样需要包含blueZ 头文件如下:
#include //BTPROTO_HCI
#include //struct hci_dev_info
#include //hci_devid()
#include //l2cap
#include //hidp

hci_inquiry()的实现在 bluez-lib-xxx/lib/src/hci.c中。
哈哈,发现其实最终也是使用:
ioctl(dd, HCIINQUIRY, (unsigned long) buf);
这样,其实就和上一篇对应起来了。所有HCI Command最终都使用ioctl来发送。