chiark / gitweb /
[Patch 3/3] Add cgroups initialization and handling
[elogind.git] / src / login / logind.h
index ff96074134edf3b4ab1d5849a54dd08b938d8764..c0ae5235916d2ee83b2c657b85ecb9188a534bf5 100644 (file)
 #include <stdbool.h>
 #include <libudev.h>
 
+#include "config.h"
 #include "sd-event.h"
 #include "sd-bus.h"
+#include "cgroup-util.h"
+#include "path-lookup.h"
 #include "list.h"
 #include "hashmap.h"
 #include "set.h"
@@ -61,6 +64,18 @@ struct Manager {
         sd_event_source *udev_vcsa_event_source;
         sd_event_source *udev_button_event_source;
 
+        /* Make sure the user cannot accidentally unmount our cgroup
+         * file system */
+        int pin_cgroupfs_fd;
+
+        /* Flags */
+        ManagerRunningAs running_as;
+        bool test_run:1;
+
+        /* Data specific to the cgroup subsystem */
+        CGroupMask cgroup_supported;
+        char *cgroup_root;
+
         int console_active_fd;
 
         unsigned n_autovts;
@@ -179,7 +194,7 @@ int manager_unit_is_active(Manager *manager, const char *unit);
 int manager_job_is_active(Manager *manager, const char *path);
 
 /* gperf lookup function */
-const struct ConfigPerfItem* logind_gperf_lookup (const char *str, size_t len);
+const struct ConfigPerfItem* logind_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
 
 int manager_set_lid_switch_ignore(Manager *m, usec_t until);