diff --git a/src/shared/udev-util.c b/src/shared/udev-util.c index 6847d715f6..19d823c11d 100644 --- a/src/shared/udev-util.c +++ b/src/shared/udev-util.c @@ -181,3 +181,14 @@ int device_is_renaming(sd_device *dev) { return r >= 0; } + +bool device_for_action(sd_device *dev, DeviceAction action) { + DeviceAction a; + + assert(dev); + + if (device_get_action(dev, &a) < 0) + return false; + + return a == action; +} diff --git a/src/shared/udev-util.h b/src/shared/udev-util.h index c45d6a11fd..3c45447515 100644 --- a/src/shared/udev-util.h +++ b/src/shared/udev-util.h @@ -3,6 +3,7 @@ #include "sd-device.h" +#include "device-private.h" #include "time-util.h" typedef enum ResolveNameTiming { @@ -28,3 +29,4 @@ static inline int udev_parse_config(void) { int device_wait_for_initialization(sd_device *device, const char *subsystem, sd_device **ret); int device_is_renaming(sd_device *dev); +bool device_for_action(sd_device *dev, DeviceAction action);