|
|
@@ -854,7 +854,9 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/
|
|
|
libudev_handle = h;
|
|
|
udev_new = (udev* (*)(void)) dlsym(h, "udev_new");
|
|
|
udev_enumerate_add_match_property = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_property");
|
|
|
+#if 0 // FIXME: uncomment on next ABI break
|
|
|
udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_sysattr");
|
|
|
+#endif
|
|
|
udev_enumerate_scan_devices = (int (*)(udev_enumerate*))dlsym(h, "udev_enumerate_scan_devices");
|
|
|
udev_enumerate_get_list_entry = (udev_list_entry* (*)(udev_enumerate*))dlsym(h, "udev_enumerate_get_list_entry");
|
|
|
udev_device_new_from_syspath = (udev_device* (*)(udev*, const char*))dlsym(h, "udev_device_new_from_syspath");
|
|
|
@@ -895,8 +897,13 @@ pkgUdevCdromDevices::ScanForRemovable(bool CdromOnly)
|
|
|
enumerate = udev_enumerate_new (udev_ctx);
|
|
|
if (CdromOnly)
|
|
|
udev_enumerate_add_match_property(enumerate, "ID_CDROM", "1");
|
|
|
- else
|
|
|
+ else {
|
|
|
+#if 1 // FIXME: remove the next two lines on the next ABI break
|
|
|
+ int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value);
|
|
|
+ udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(libudev_handle, "udev_enumerate_add_match_sysattr");
|
|
|
+#endif
|
|
|
udev_enumerate_add_match_sysattr(enumerate, "removable", "1");
|
|
|
+ }
|
|
|
|
|
|
udev_enumerate_scan_devices (enumerate);
|
|
|
devices = udev_enumerate_get_list_entry (enumerate);
|