diff options
Diffstat (limited to 'src/libsystemd/sd-device/device-util.h')
-rw-r--r-- | src/libsystemd/sd-device/device-util.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/libsystemd/sd-device/device-util.h b/src/libsystemd/sd-device/device-util.h index bfbb3284a8..9b05a2498d 100644 --- a/src/libsystemd/sd-device/device-util.h +++ b/src/libsystemd/sd-device/device-util.h @@ -5,7 +5,7 @@ /*** This file is part of systemd. - Copyright 2014 Tom Gundersen <teg@jklm.no> + Copyright 2014-2015 Tom Gundersen <teg@jklm.no> systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -24,9 +24,11 @@ #include "util.h" DEFINE_TRIVIAL_CLEANUP_FUNC(sd_device*, sd_device_unref); - #define _cleanup_device_unref_ _cleanup_(sd_device_unrefp) +DEFINE_TRIVIAL_CLEANUP_FUNC(sd_device_enumerator*, sd_device_enumerator_unref); +#define _cleanup_device_enumerator_unref_ _cleanup_(sd_device_enumerator_unrefp) + #define FOREACH_DEVICE_PROPERTY(device, key, value) \ for (key = sd_device_get_property_first(device, &(value)); \ key; \ @@ -46,3 +48,13 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(sd_device*, sd_device_unref); for (devlink = sd_device_get_devlink_first(device); \ devlink; \ devlink = sd_device_get_devlink_next(device)) + +#define FOREACH_DEVICE(enumerator, device) \ + for (device = sd_device_enumerator_get_device_first(enumerator); \ + device; \ + device = sd_device_enumerator_get_device_next(enumerator)) + +#define FOREACH_SUBSYSTEM(enumerator, device) \ + for (device = sd_device_enumerator_get_subsystem_first(enumerator); \ + device; \ + device = sd_device_enumerator_get_subsystem_next(enumerator)) |