]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/libudev/libudev-device-internal.h
Merge pull request #8575 from keszybz/non-absolute-paths
[thirdparty/systemd.git] / src / libudev / libudev-device-internal.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5 This file is part of systemd.
6
7 Copyright 2008-2012 Kay Sievers <kay@vrfy.org>
8 Copyright 2015 Tom Gundersen <teg@jklm.no>
9 ***/
10
11 #include "libudev.h"
12 #include "sd-device.h"
13
14 #include "libudev-private.h"
15
16 /**
17 * udev_device:
18 *
19 * Opaque object representing one kernel sys device.
20 */
21 struct udev_device {
22 struct udev *udev;
23
24 /* real device object */
25 sd_device *device;
26
27 /* legacy */
28 int refcount;
29
30 struct udev_device *parent;
31 bool parent_set;
32
33 struct udev_list properties;
34 uint64_t properties_generation;
35 struct udev_list tags;
36 uint64_t tags_generation;
37 struct udev_list devlinks;
38 uint64_t devlinks_generation;
39 bool properties_read:1;
40 bool tags_read:1;
41 bool devlinks_read:1;
42 struct udev_list sysattrs;
43 bool sysattrs_read;
44 };
45
46 struct udev_device *udev_device_new(struct udev *udev);