-
libudev详解:
libudev是Linux系统下的一个库,它提供针对内核提供的udev设备管理服务的函数库。udev是一种内核机制,用于在系统中传递解决方案的有关设备信息,以及在出现设备事件(如删除、插入设备)时触发相应的操作。
在应用程序中使用libudev可以更方便地操作系统中的设备。 -
libudev使用:
-
初始化
函数:udev_new()
作用:创建一个udev library context。udev library context采用引用记数机制,创建的context默认引用记数为1,使用udev_ref和udev_unref增加或减少引用记数,如果引用记数为0,则释放内部资源。 -
枚举设备
函数:udev_enumerate_new(struct udev *udev)
作用:创建一个枚举器,用于扫描系统已接设备 -
监控设备插拔udev的设备(插拔基于netlink实现)
函数:udev_monitor_new_from_netlink(struct udev *udev, const char *name)
作用:创建一个新的monitor,函数的第二个参数是事件源的名称,可选"kernel"或"udev",般应用的设计要基于"udev"进行监控。函数:udev_monitor_filter_add_match_subsystem_devtype(struct udev_monitor *udev_monitor, const char *subsystem, const char *devtype)
作用:增加一个基于设备类型的udev事件过滤器,例如: "usb"设备。函数:udev_monitor_enable_receiving(struct udev_monitor *udev_monitor); 参数是udev_monitor_new_from_netlink函数返回值。
作用:启动监控过程。监控可以使用udev_monitor_ge
-
libudev 和 libusb 常见API分析
最新推荐文章于 2025-09-20 10:12:19 发布