蓝牙协议栈通过哪个函数去处理收到的Extended Inquiry Result,请以bluedroid协议栈为例做解释,并给出bluedroid的版本号
时间: 2023-11-22 19:54:23 浏览: 33
在bluedroid协议栈中,收到Extended Inquiry Result消息后,会通过hci_event_task来处理。bluedroid的版本号可以通过以下命令获取:
```
adb shell am start -n com.android.settings/.bluetooth.BluetoothSettings
```
然后在设置页面中找到"关于本机"或者"关于设备",点击进入查看版本号。例如,Android 10中的bluedroid版本号为"Bluedroid Version 9.0.0.0.0.1-QD1A.190821.011.A3".
相关问题
bluedroid协议栈在哪个函数判断,当前等待队列中有AVDTP 的l2cap连接,从而以No resources的理由拒绝连接
根据我的了解,Bluedroid协议栈中判断当前等待队列中是否有AVDTP的L2CAP连接,从而拒绝连接的函数是`l2c_link_hci_conn_req()`。在该函数中,会先检查当前是否有空闲的L2CAP连接资源,如果没有则会拒绝连接请求并返回L2CAP_CONN_NO_RESOURCES错误码。如果有空闲资源,则会分配一个L2CAP连接,并将其加入到L2CAP连接列表中。
蓝牙协议栈L2CA_DisconnectReq()的处理流程
L2CA_DisconnectReq() 函数是蓝牙协议栈中用于断开 L2CAP 连接的 API 函数。其处理流程如下:
1. 首先,该函数会检查参数的合法性,包括传入的 L2CAP 信道句柄是否有效等。
2. 然后,该函数会创建一个 L2CAP 断开连接请求(Disconnect Request)报文,并将该报文发送给对应的 L2CAP 对等体。
3. 在等待对等体的回复期间,该函数会将该 L2CAP 信道的状态设置为 DISCONNECTING,以表示该信道正在断开连接过程中。
4. 如果在一定时间内没有收到对等体的回复,则该函数会发送一个 L2CAP 断开连接响应(Disconnect Response)报文,以终止该连接。
5. 如果对等体发送了一个 L2CAP 断开连接响应报文,则该函数会将该 L2CAP 信道的状态设置为 DISCONNECTED,以表示该信道已经断开连接。
6. 最后,该函数会释放与该 L2CAP 信道相关的资源,并返回一个结果代码,表示该操作是否成功完成。
需要注意的是,L2CA_DisconnectReq() 函数只是用于发送 L2CAP 断开连接请求报文,并不保证能够成功断开连接。如果对等体没有正确响应该请求报文,或者在断开连接过程中出现异常情况,那么该函数可能会返回错误代码,而且该 L2CAP 信道的状态可能会一直处于 DISCONNECTING 状态,需要进行相应的处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)