微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

hci_write_local_name 参数说明

如何解决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 举报,一经查实,本站将立刻删除。