Kernel中Hid和Bnep的初始化
来源:互联网 发布:淘宝减肥药销量排行榜 编辑:程序博客网 时间:2024/05/22 06:16
有了前面的L2CAP,RFCOMM的初始化分析,再来分析Hid和Bnep的代码就轻松很多了。基本来说,这两个protol没有太多的新意,直接看代码就可以看出来了。
static int __init hidp_init(void){int ret;BT_INFO("HIDP (Human Interface Emulation) ver %s", VERSION);//注册了一个hid的driver,hidp_driver见下面//其实就是把该driver加载到hid的bus总线上去,通过name进行区分。//这里的name是generic-bluetooth,后期用到我们再来具体分析ret = hid_register_driver(&hidp_driver);if (ret)goto err;//也就是在proto_list中加入了hid//初始化了bt_proto中的BTPROTO_HIDP的值。//所以总的来说没有什么好讲的ret = hidp_init_sockets();if (ret)goto err_drv;return 0;err_drv:hid_unregister_driver(&hidp_driver);err:return ret;}static const struct hid_device_id hidp_table[] = {{ HID_BLUETOOTH_DEVICE(HID_ANY_ID, HID_ANY_ID) },{ }};//主要就是一个name,是generiv-bluetoothstatic struct hid_driver hidp_driver = {.name = "generic-bluetooth",.id_table = hidp_table,};
对于bnep的初始化,其实看起来也比较简单哦:
static int __init bnep_init(void){char flt[50] = "";//根据选项,初始化flt数组#ifdef CONFIG_BT_BNEP_PROTO_FILTERstrcat(flt, "protocol ");#endif#ifdef CONFIG_BT_BNEP_MC_FILTERstrcat(flt, "multicast");#endifBT_INFO("BNEP (Ethernet Emulation) ver %s", VERSION);if (flt[0])BT_INFO("BNEP filters: %s", flt);//和上面的hid是一样的,只是换了个名字而已bnep_sock_init();return 0;}
总的来说,这两个proto基本没有什么新的内容,权当对《kernel中bluetooth的初始化》这篇文章的补充吧。至此,晓东对kernel中bluetooth statck相关初始化的内容已经全部解释清楚了。大家也许对这些内容有何作用暂时还比较迷茫,不过没有关系,在后面的蓝牙各个操作中,我们会一一为大家揭晓。
- Kernel中Hid和Bnep的初始化
- Kernel中Hid和Bnep的初始化
- kernel中bluetooth的初始化
- kernel中bluetooth的初始化
- Kernel中rfcomm层的初始化
- Kernel中rfcomm层的初始化
- MFC中HID的操作
- kernel中efi变量初始化
- Fragment的hid和show
- Kernel中uart接口的bluetooth driver初始化分析
- Kernel中uart接口的bluetooth driver初始化分析
- STM32配置CH375B成HID Host模式读取自定义HID设备的数据 ——STM32端口初始化
- Kernel硬件中断的初始化流程
- Kernel硬件中断的初始化流程
- Linux Kernel 2:用户空间的初始化
- Kernel硬件中断的初始化流程
- Kernel硬件中断的初始化流程
- Bluez HID分析--Linux kernel部分
- 你愿意卖一辈子汽水,还是和我们一起改变这个世界?
- FCKeditor编辑器详细视频教程(170M)15讲
- 【代码】ApiDemos中摘录的部分控件效果图
- android异常:res\layout\activity_printFile.xml: Invalid file name: must contain only [a-z0-9_.]
- 生成最优归并树
- Kernel中Hid和Bnep的初始化
- 字符串加减法(整数,小数)
- C++命名规范
- Cache的构造函数
- linux下 文件名乱码的文件的 删除方法
- 如何“打败”CAP定理
- 用lisp来让计算机学会写作
- C#多线程学习(三) 生产者和消费者
- android异常:项目左下角出现错误标示