From 538bdb48d8c5ea9c7b3802708b049824fab23d02 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 12 Jun 2019 15:15:06 +0900 Subject: [PATCH] libudev: hide definition of struct udev_device --- src/libudev/libudev-device-internal.h | 33 ++---------------------- src/libudev/libudev-device.c | 37 +++++++++++++++++++++++++++ src/libudev/libudev-enumerate.c | 3 ++- 3 files changed, 41 insertions(+), 32 deletions(-) diff --git a/src/libudev/libudev-device-internal.h b/src/libudev/libudev-device-internal.h index 2be49c98927..cd6c2a5bc57 100644 --- a/src/libudev/libudev-device-internal.h +++ b/src/libudev/libudev-device-internal.h @@ -4,36 +4,7 @@ #include "libudev.h" #include "sd-device.h" -#include "libudev-list-internal.h" - -/** - * udev_device: - * - * Opaque object representing one kernel sys device. - */ -struct udev_device { - struct udev *udev; - - /* real device object */ - sd_device *device; - - /* legacy */ - unsigned n_ref; - - struct udev_device *parent; - bool parent_set; - - struct udev_list *properties; - uint64_t properties_generation; - struct udev_list *tags; - uint64_t tags_generation; - struct udev_list *devlinks; - uint64_t devlinks_generation; - bool properties_read:1; - bool tags_read:1; - bool devlinks_read:1; - struct udev_list *sysattrs; - bool sysattrs_read; -}; +struct udev_device; struct udev_device *udev_device_new(struct udev *udev, sd_device *device); +sd_device *udev_device_get_sd_device(struct udev_device *udev_device); diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c index d3a3c539697..91dc910773c 100644 --- a/src/libudev/libudev-device.c +++ b/src/libudev/libudev-device.c @@ -23,6 +23,7 @@ #include "device-private.h" #include "device-util.h" #include "libudev-device-internal.h" +#include "libudev-list-internal.h" #include "parse-util.h" #include "time-util.h" @@ -36,6 +37,36 @@ * a unique name inside that subsystem. */ +/** + * udev_device: + * + * Opaque object representing one kernel sys device. + */ +struct udev_device { + struct udev *udev; + + /* real device object */ + sd_device *device; + + /* legacy */ + unsigned n_ref; + + struct udev_device *parent; + bool parent_set; + + struct udev_list *properties; + uint64_t properties_generation; + struct udev_list *tags; + uint64_t tags_generation; + struct udev_list *devlinks; + uint64_t devlinks_generation; + bool properties_read:1; + bool tags_read:1; + bool devlinks_read:1; + struct udev_list *sysattrs; + bool sysattrs_read; +}; + /** * udev_device_get_seqnum: * @udev_device: udev device @@ -834,3 +865,9 @@ _public_ int udev_device_has_tag(struct udev_device *udev_device, const char *ta return sd_device_has_tag(udev_device->device, tag) > 0; } + +sd_device *udev_device_get_sd_device(struct udev_device *udev_device) { + assert(udev_device); + + return udev_device->device; +} diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c index 3b9cf897cdf..a8b3f535724 100644 --- a/src/libudev/libudev-enumerate.c +++ b/src/libudev/libudev-enumerate.c @@ -17,6 +17,7 @@ #include "device-enumerator-private.h" #include "device-util.h" #include "libudev-device-internal.h" +#include "libudev-list-internal.h" /** * SECTION:libudev-enumerate @@ -333,7 +334,7 @@ _public_ int udev_enumerate_add_match_parent(struct udev_enumerate *udev_enumera if (!parent) return 0; - r = sd_device_enumerator_add_match_parent(udev_enumerate->enumerator, parent->device); + r = sd_device_enumerator_add_match_parent(udev_enumerate->enumerator, udev_device_get_sd_device(parent)); if (r < 0) return r; -- 2.39.2