chiark / gitweb /
Prep v231: Move elogind specific code in login/logind.c to login/elogind.c
[elogind.git] / src / login / logind.h
index 41b48ef74b8b29fb9704feaf5683f7915ef0356b..9be29ab280e183f57ed67da3b4083bc27b98cc82 100644 (file)
@@ -29,7 +29,6 @@
 #include "sd-bus.h"
 #include "sd-event.h"
 
-#include "cgroup-util.h"
 #include "hashmap.h"
 #include "list.h"
 #include "set.h"
@@ -40,7 +39,14 @@ typedef struct Manager Manager;
 #include "logind-button.h"
 #include "logind-device.h"
 #include "logind-inhibit.h"
-#include "logind-sleep.h"
+
+/// Additional includes needed by elogind
+#include "cgroup-util.h"
+
+#if 1 /// elogind has to ident itself
+#define MANAGER_IS_SYSTEM(m) ((m)->is_system)
+#define MANAGER_IS_USER(m) (!((m)->is_system))
+#endif // 1
 
 struct Manager {
         sd_event *event;
@@ -78,8 +84,13 @@ struct Manager {
          * file system */
         int pin_cgroupfs_fd;
 
+        /* fd for handling cgroup socket if elogind is its own cgroups manager */
+        int cgroups_agent_fd;
+        sd_event_source *cgroups_agent_event_source;
+
         /* Flags */
         bool test_run:1;
+        bool is_system:1; /* true if elogind is its own cgroups manager */
 
         /* Data specific to the cgroup subsystem */
         CGroupMask cgroup_supported;