From 96df036fe3d25525a44f5efdb2fc8560e82e6cfd Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 14 Apr 2015 16:22:39 +0200 Subject: sd-device: add device-enumerator library --- src/libsystemd/sd-device/device-util.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/libsystemd/sd-device/device-util.h') 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 + Copyright 2014-2015 Tom Gundersen 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)) -- cgit v1.2.3-54-g00ecf