blob: 8a6e5a48f6596f615d287b8e095fd2b5a3b7876c [file] [log] [blame] [raw]
/* 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);