Android设备节点的动态管理
来源:互联网 发布:淘宝上的女长毛绒鞋子 编辑:程序博客网 时间:2024/04/30 21:04
Android设备节点的动态管理
在Android中,没有独立的类似于udev或者mdev的用户程序,这个功能集成到了init中做了。代码见:system/core/init/init.c文件,如下:
if (ufds[0].revents == POLLIN)
handle_device_fd(device_fd);
其中handle_device_fd(device_fd)函数在system/core/init/devices.c中实现,参数device_fd 由函数device_init()->open_uevent_socket()->socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT)函数调用返回。
函数handle_device_fd(device_fd)中,根据传进来的device_fd参数,调用recv(fd, msg, UEVENT_MSG_LEN, 0)函数,将内核探测到的设备并通过NETLINK机制传过来的socket描述符转化成消息。接着调用parse_event(msg, &uevent);函数将消息翻译成uevent事件,并将改事件传递给handle_device_event(&uevent)函数。
handle_device_event(&uevent)函数中,依据参数uevent->subsystem类型创建dev下的相应目录,如:/dev/graphics。紧接着根据uevent->action是"add"还是"remove"来实现设备节点的创建与删除。如果uevent->action是"add",则调用make_device(devpath, block, uevent->major, uevent->minor)函数生成设备节点。如果uevent->action是"remove",则调用unlink(devpath)对设备节点进行删除。
原文地址:http://blog.chinaunix.net/space.php?uid=9185047&do=blog&id=445183
- Android设备节点的动态管理
- Android设备节点的动态管理
- Android设备节点的动态管理
- 设备节点的动态建立
- 设备节点的动态建立
- Android 的设备节点
- Android 的设备节点
- Android 的设备节点
- 设备节点的动态建立 class
- 找某个设备的设备树电源管理节点
- Android 系统中设备节点的创建
- Android 系统中设备节点的创建
- Android设备目录和节点的创建
- Android设备节点
- 在linux中动态的申请设备号,怎么在文件系统中创建设备节点
- 利用net-snmp的pass来动态管理节点
- Android如何生成设备节点
- Android如何生成设备节点
- 不成文的,我这两天学习Expression的零散心得
- 使用kickstart 时,报:“由于下载软件包信息失败,软件包选择被禁止” 的错误
- 使用匿名函数(Anonymous Function)和内嵌函数(Nested Function)处理多变量传递问题
- 面试中可以用到的高级技巧
- Facebook photo-storage [haystack]
- Android设备节点的动态管理
- android 获取设备屏幕尺寸、高度、宽度
- 英雄联盟服务器忙的问题
- Ant的 location属性专门设计用于以平台无关的方式包含文件系统路径
- 转方向
- matlab 程序调试
- iBatis和Hibernate的对比
- opengl运行时返回1283(堆栈溢出)错误
- ubuntu使用163和sohu的镜像资源包