]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-device: introduce device_enumerator_get_devices()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 28 Aug 2018 06:59:08 +0000 (15:59 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 10 Sep 2018 07:47:35 +0000 (16:47 +0900)
src/libsystemd/sd-device/device-enumerator-private.h
src/libsystemd/sd-device/device-enumerator.c

index 56a953d33b0be757f828d2f0ff3425cf4c575d08..87411bfdd80480f9920f2b8cf2172faafbba2f22 100644 (file)
@@ -9,6 +9,7 @@ int device_enumerator_add_device(sd_device_enumerator *enumerator, sd_device *de
 int device_enumerator_add_match_is_initialized(sd_device_enumerator *enumerator);
 sd_device *device_enumerator_get_first(sd_device_enumerator *enumerator);
 sd_device *device_enumerator_get_next(sd_device_enumerator *enumerator);
+sd_device **device_enumerator_get_devices(sd_device_enumerator *enumerator, size_t *ret_n_devices);
 
 #define FOREACH_DEVICE_AND_SUBSYSTEM(enumerator, device)       \
         for (device = device_enumerator_get_first(enumerator); \
index 509b72256a216af3477d08c57fc96812c18b362e..3f7ead268e09be09f8ecc9c1c32629b3f316d3cd 100644 (file)
@@ -973,3 +973,14 @@ sd_device *device_enumerator_get_next(sd_device_enumerator *enumerator) {
 
         return enumerator->devices[++enumerator->current_device_index];
 }
+
+sd_device **device_enumerator_get_devices(sd_device_enumerator *enumerator, size_t *ret_n_devices) {
+        assert(enumerator);
+        assert(ret_n_devices);
+
+        if (!enumerator->scan_uptodate)
+                return NULL;
+
+        *ret_n_devices = enumerator->n_devices;
+        return enumerator->devices;
+}