我需要获取设备的设备名称,默认情况下,它在 edev 函数上: https://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/libudev-udev-device.html#udev-device-get-sysname
udev_device_get_sysname ()
const char * udev_device_get_sysname (struct udev_device *udev_device);
udev_device :
udev device
Returns :
the sys name of the device device
但是设备的所有工作都是在 libusb 中完成的,如果只对 sysname 使用 udev 会很糟糕,而且我在 libusb 中找不到类似的功能真的很奇怪。
有人知道吗?
提前致谢!
最佳答案
最后我以一种非常愚蠢的方式自己解决了它。
我在 libusb 中得到一个设备的 busnum 和 devnum,并在 udev 中迭代所有设备,如果一个设备具有相同的 busnum 和 devnum,则返回它的 sysname。
我通过 udev api 获取 busnum,通过 cat/syspath/devnum 获取 devnum。
Vid Pid 将无法工作,因为相同的设备具有相同的 ID。
希望对您有所帮助。
关于linux - 有没有办法像 edev 一样在 libusb 中获取 sysname?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054852/