X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsystemd%2Fsd-device.h;h=38cb2a1102800d58dcf458cd91b97a90b833b428;hb=5c338de6761aa3b3285a3f507f2517dd7dd3e9a6;hp=d737753f70cc53507814fb662c1b6a452d41a465;hpb=57fa1d094cd2c5ac68970526ad0a0754c548e75d;p=elogind.git diff --git a/src/systemd/sd-device.h b/src/systemd/sd-device.h index d737753f7..38cb2a110 100644 --- a/src/systemd/sd-device.h +++ b/src/systemd/sd-device.h @@ -7,7 +7,7 @@ This file is part of systemd. Copyright 2008-2012 Kay Sievers - 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 @@ -31,6 +31,9 @@ _SD_BEGIN_DECLARATIONS; typedef struct sd_device sd_device; +typedef struct sd_device_enumerator sd_device_enumerator; + +/* device */ sd_device *sd_device_ref(sd_device *device); sd_device *sd_device_unref(sd_device *device); @@ -72,6 +75,25 @@ int sd_device_get_sysattr_value(sd_device *device, const char *sysattr, const ch int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, char *value); +/* device enumerator */ + +int sd_device_enumerator_new(sd_device_enumerator **ret); +sd_device_enumerator *sd_device_enumerator_ref(sd_device_enumerator *enumerator); +sd_device_enumerator *sd_device_enumerator_unref(sd_device_enumerator *enumerator); + +sd_device *sd_device_enumerator_get_device_first(sd_device_enumerator *enumerator); +sd_device *sd_device_enumerator_get_device_next(sd_device_enumerator *enumerator); +sd_device *sd_device_enumerator_get_subsystem_first(sd_device_enumerator *enumerator); +sd_device *sd_device_enumerator_get_subsystem_next(sd_device_enumerator *enumerator); + +int sd_device_enumerator_add_match_subsystem(sd_device_enumerator *enumerator, const char *subsystem, int match); +int sd_device_enumerator_add_match_sysattr(sd_device_enumerator *enumerator, const char *sysattr, const char *value, int match); +int sd_device_enumerator_add_match_property(sd_device_enumerator *enumerator, const char *property, const char *value); +int sd_device_enumerator_add_match_sysname(sd_device_enumerator *enumerator, const char *sysname); +int sd_device_enumerator_add_match_tag(sd_device_enumerator *enumerator, const char *tag); +int sd_device_enumerator_add_match_parent(sd_device_enumerator *enumerator, sd_device *parent); +int sd_device_enumerator_allow_uninitialized(sd_device_enumerator *enumerator); + _SD_END_DECLARATIONS; #endif