如何解决hci_write_local_name 参数说明
我想知道 hci_write_local_name 函数的第三个参数的详细信息。第一个是套接字描述符。其次是本地名称。第三个是我认为第二个参数的长度的数字。但是如果我使用第二个参数的 strlen 函数失败。在 hciconfig.c 中,同一个函数的第三个参数的值是 2000。我用 100 作为值进行了测试。那奏效了。有人能说出第三个参数到底意味着什么吗?
解决方法
正如 ukBaz 提到的,第三个参数是超时时间,可以在 source code:-
int hci_write_local_name(int dd,const char *name,int to)
{
change_local_name_cp cp;
struct hci_request rq;
memset(&cp,sizeof(cp));
strncpy((char *) cp.name,name,sizeof(cp.name) - 1);
memset(&rq,sizeof(rq));
rq.ogf = OGF_HOST_CTL;
rq.ocf = OCF_CHANGE_LOCAL_NAME;
rq.cparam = &cp;
rq.clen = CHANGE_LOCAL_NAME_CP_SIZE;
if (hci_send_req(dd,&rq,to) < 0)
return -1;
return 0;
}
BlueZ 的大多数 HCI 函数都需要一个超时参数,因为底层 hci_send_req() 要求这样做。
可以在 here 和文件的其余部分找到更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。