]> git.proxmox.com Git - systemd.git/blobdiff - src/libsystemd/sd-device/device-internal.h
New upstream version 240
[systemd.git] / src / libsystemd / sd-device / device-internal.h
index 64da0501fe79a8aa3b640a5dc831625f5cc0c4e6..3ffca35cbef610381a81d83a0be0685c7117e252 100644 (file)
@@ -1,15 +1,18 @@
 /* SPDX-License-Identifier: LGPL-2.1+ */
 #pragma once
 
+#include "sd-device.h"
 
 #include "hashmap.h"
 #include "set.h"
+#include "time-util.h"
 
 struct sd_device {
-        uint64_t n_ref;
+        unsigned n_ref;
+
+        int watch_handle;
 
         sd_device *parent;
-        bool parent_set; /* no need to try to reload parent */
 
         OrderedHashmap *properties;
         Iterator properties_iterator;
@@ -23,60 +26,59 @@ struct sd_device {
 
         Set *sysattrs; /* names of sysattrs */
         Iterator sysattrs_iterator;
-        bool sysattrs_read; /* don't try to re-read sysattrs once read */
 
         Set *tags;
         Iterator tags_iterator;
         uint64_t tags_generation; /* changes whenever the tags are changed */
         uint64_t tags_iterator_generation; /* generation when iteration was started */
-        bool property_tags_outdated; /* need to update TAGS= property */
 
         Set *devlinks;
         Iterator devlinks_iterator;
         uint64_t devlinks_generation; /* changes whenever the devlinks are changed */
         uint64_t devlinks_iterator_generation; /* generation when iteration was started */
-        bool property_devlinks_outdated; /* need to update DEVLINKS= property */
         int devlink_priority;
 
+        int ifindex;
+        char *devtype;
+        char *devname;
+        dev_t devnum;
+
         char **properties_strv; /* the properties hashmap as a strv */
         uint8_t *properties_nulstr; /* the same as a nulstr */
         size_t properties_nulstr_len;
-        bool properties_buf_outdated; /* need to reread hashmap */
-
-        int watch_handle;
 
         char *syspath;
         const char *devpath;
         const char *sysnum;
         char *sysname;
-        bool sysname_set; /* don't reread sysname */
-
-        char *devtype;
-        int ifindex;
-        char *devname;
-        dev_t devnum;
 
         char *subsystem;
-        bool subsystem_set; /* don't reread subsystem */
         char *driver_subsystem; /* only set for the 'drivers' subsystem */
-        bool driver_subsystem_set; /* don't reread subsystem */
         char *driver;
-        bool driver_set; /* don't reread driver */
 
         char *id_filename;
 
-        bool is_initialized;
         uint64_t usec_initialized;
 
         mode_t devmode;
         uid_t devuid;
         gid_t devgid;
 
-        bool uevent_loaded; /* don't reread uevent */
+        bool parent_set:1; /* no need to try to reload parent */
+        bool sysattrs_read:1; /* don't try to re-read sysattrs once read */
+        bool property_tags_outdated:1; /* need to update TAGS= property */
+        bool property_devlinks_outdated:1; /* need to update DEVLINKS= property */
+        bool properties_buf_outdated:1; /* need to reread hashmap */
+        bool sysname_set:1; /* don't reread sysname */
+        bool subsystem_set:1; /* don't reread subsystem */
+        bool driver_subsystem_set:1; /* don't reread subsystem */
+        bool driver_set:1; /* don't reread driver */
+        bool uevent_loaded:1; /* don't reread uevent */
         bool db_loaded; /* don't reread db */
 
-        bool sealed; /* don't read more information from uevent/db */
-        bool db_persist; /* don't clean up the db when switching from initrd to real root */
+        bool is_initialized:1;
+        bool sealed:1; /* don't read more information from uevent/db */
+        bool db_persist:1; /* don't clean up the db when switching from initrd to real root */
 };
 
 typedef enum DeviceAction {
@@ -96,7 +98,6 @@ int device_new_aux(sd_device **ret);
 int device_add_property_aux(sd_device *device, const char *key, const char *value, bool db);
 int device_add_property_internal(sd_device *device, const char *key, const char *value);
 int device_read_uevent_file(sd_device *device);
-int device_read_db_aux(sd_device *device, bool force);
 
 int device_set_syspath(sd_device *device, const char *_syspath, bool verify);
 int device_set_ifindex(sd_device *device, const char *ifindex);
@@ -106,7 +107,7 @@ int device_set_devtype(sd_device *device, const char *_devtype);
 int device_set_devnum(sd_device *device, const char *major, const char *minor);
 int device_set_subsystem(sd_device *device, const char *_subsystem);
 int device_set_driver(sd_device *device, const char *_driver);
-int device_set_usec_initialized(sd_device *device, const char *initialized);
+int device_set_usec_initialized(sd_device *device, usec_t when);
 
 DeviceAction device_action_from_string(const char *s) _pure_;
 const char *device_action_to_string(DeviceAction a) _const_;