| /* SPDX-License-Identifier: LGPL-2.1+ */ |
| #pragma once |
| |
| #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 *udev_device_new(struct udev *udev, sd_device *device); |