-/***
- This file is part of systemd.
-
- Copyright 2008-2012 Kay Sievers <kay@vrfy.org>
- Copyright 2015 Tom Gundersen <teg@jklm.no>
-
- 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
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
+/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
#include "libudev.h"
#include "sd-device.h"
-#include "libudev-private.h"
+#include "libudev-list-internal.h"
/**
* udev_device:
sd_device *device;
/* legacy */
- int refcount;
+ unsigned n_ref;
struct udev_device *parent;
bool parent_set;
- struct udev_list properties;
+ struct udev_list *properties;
uint64_t properties_generation;
- struct udev_list tags;
+ struct udev_list *tags;
uint64_t tags_generation;
- struct udev_list devlinks;
+ struct udev_list *devlinks;
uint64_t devlinks_generation;
bool properties_read:1;
bool tags_read:1;
bool devlinks_read:1;
- struct udev_list sysattrs;
+ struct udev_list *sysattrs;
bool sysattrs_read;
};
-struct udev_device *udev_device_new(struct udev *udev);
+struct udev_device *udev_device_new(struct udev *udev, sd_device *device);