ueventd
2017-03-22 14:17:57 0 举报
ueventd是一个Linux内核模块,用于在用户空间和内核空间之间传递事件。它通过netlink套接字与用户空间程序进行通信,实现了设备驱动程序与用户空间应用程序之间的双向数据交换。ueventd可以处理来自设备驱动程序的事件,如设备插入、移除、属性更改等,并将这些事件发送给用户空间程序。同时,ueventd还可以接收用户空间程序发送的事件,并将其传递给相应的设备驱动程序。这使得设备驱动程序可以根据用户空间程序的需求来执行特定的操作,提高了系统的灵活性和可扩展性。总之,ueventd是Linux系统中一个非常重要的组件,它为设备驱动程序与用户空间程序之间的通信提供了一种高效、可靠的方式。
作者其他创作
大纲/内容
保存kernel命令行的hardware参数:import_kernel_cmdline()
将标准输入输出重定向到/dev/null:open_devnull_stdio()
解析ueventd的配置文件ueventd_parse_config_file(ueventd.rc)
处理kernel上发事件handle_device_fd()动态add/remove设备node
进入死循环while(1)
初始化logklog_init()
获取socket句柄,并设置要监听的fdget_device_fd()
创建netlink socket,接收kernel上发事件device_init()
获取hardwareget_hardware_name()
解析与特定硬件相关的配置文件ueventd_parse_config_file(ueventd.hardware.rc)
清权限掩码umask(000)
0 条评论
下一页
为你推荐
查看更多
抱歉,暂无相关内容