]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libudev/libudev-device-internal.h
libudev: hide definition of struct udev_list from other libudev components
[thirdparty/systemd.git] / src / libudev / libudev-device-internal.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
0ef6f454
LP
2#pragma once
3
f4ac4d1a
TG
4#include "libudev.h"
5#include "sd-device.h"
6
5ea78a39 7#include "libudev-list-internal.h"
07630cea 8
f4ac4d1a
TG
9/**
10 * udev_device:
11 *
12 * Opaque object representing one kernel sys device.
13 */
14struct udev_device {
15 struct udev *udev;
16
17 /* real device object */
18 sd_device *device;
19
20 /* legacy */
3c6ac219 21 unsigned n_ref;
f4ac4d1a
TG
22
23 struct udev_device *parent;
24 bool parent_set;
25
dcf557f7 26 struct udev_list *properties;
f4ac4d1a 27 uint64_t properties_generation;
dcf557f7 28 struct udev_list *tags;
f4ac4d1a 29 uint64_t tags_generation;
dcf557f7 30 struct udev_list *devlinks;
f4ac4d1a 31 uint64_t devlinks_generation;
378f61eb
TG
32 bool properties_read:1;
33 bool tags_read:1;
34 bool devlinks_read:1;
dcf557f7 35 struct udev_list *sysattrs;
f4ac4d1a
TG
36 bool sysattrs_read;
37};
38
02e7ae2f 39struct udev_device *udev_device_new(struct udev *udev, sd_device *device);